Remove all zeros from a matrix

I want to remove all zeros from cells a matrix, so i can use it in a for-loop later on. The structure of the matrix should not change after the zeros are removed. So every row should stay the same, just without the zeros in the cells.
Right now the size of my matrix is 27895x5

7 Comments

If you remove the zeros, you must replace them by something in order to leave the structure of the matrix unchanged.
You can skip that column in the for-loop.
Exact terms matter for your question. Is your data stored in a cell array, or in a (double) matrix?
Comment posted as flag by @Moritz Nusser:
The data is stored in a double matrix
In that case, Torsten gave you the answer: a double array cannot have empty elements, only cell arrays can.
Comments psted as flags by @Moritz Nusser (please don't use flags to post comments, they are meant to attract the attention of site admins):
ok, so which kind of removement would you choose so that the "for-loop" won't create error mistakes ?
Thank your for your fast response ! Is it possible to use cell arrays for calculations in a for loop ?
If you have trouble with Matlab basics you may consider doing the Onramp tutorial (which is provided for free by Mathworks). That will teach you how to work with cell arrays.

Sign in to comment.

Answers (1)

Karan Kannoujiya
Karan Kannoujiya on 24 Jun 2022
Hi moritz,
If you want to remove zero from a cell then you will have remove that row also otherwise it will not remain a matrix structure.
for removing any row you can do--->
tableName(rowNumber,:)=[ ];
I would suggest you to go through this Matlab Onramp course it just an 2 hours course you will understand everything
link-->

1 Comment

Note that column 5 of the image in the question contains all 0s so this proposal would potentially eliminate all of the data.

Sign in to comment.

Categories

Asked:

on 23 Jun 2022

Commented:

on 24 Jun 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!