Delete zeros form multiple columns in a matrix

2 views (last 30 days)
How do I reduce a matrix with multiple initial zeros
A=[0 0 0 0 0 ; 0 0 0 0 1 ; 0 0 1 0 1 ; 0 1 1 0 1 ; 0 1 1 1 1; 1 1 1 1 1; 1 1 1 1 1 ]
to
A = [1 1 1 1 1
1 1 1 1 1
1 1 1 1
1 1 1
1 1
1]
Basically delete all zero from all the column

Answers (2)

the cyclist
the cyclist on 8 May 2021
A numeric data type cannot have empty elements.
You have a couple options. You could use a cell array, which can have empty elements. Or perhaps you could replace the zeros with NaN.
What are you planning on doing as a next step with the result?
  2 Comments
pavan kurdekar
pavan kurdekar on 8 May 2021
The thing is the non zero values are voltage data of 5 batteries and I need to plot many such data. I want to delete the initial zeros so that the graph is correct and the zeros are a problem to my further calculation too.
DGM
DGM on 9 May 2021
If you don't want zeros to plot, just replace them with NaN. NaN values don't plot.
For actual handling of electrical signal data, I can't imagine a scenario where zeros are categorically meaningless. If you're running into problems in further calculations, I doubt that stripping all zeros is the appropriate solution.

Sign in to comment.


Image Analyst
Image Analyst on 8 May 2021
I agree with the cyclist in that you probably don't really need to do this in your next step, whatever it is.
That said, you can use sparse() but I really, really doubt you want to, or need to, do that.
If you just want to print it out to the command line, you can use a loop with fprintf() and just print those that are 1 and print a space for the zeros.
But a matrix cannot have "holes" or "ragged edges". There has to be something there.
  2 Comments
pavan kurdekar
pavan kurdekar on 8 May 2021
Ok . Thanks both of you . I will then store it in different matrix then . I think that will solve the problem
Image Analyst
Image Analyst on 8 May 2021
How are you going to do that? And how will that solve the "problem"? Again, I don't know why there is a "problem" in the first place and you can't just use your original A matrix.

Sign in to comment.

Categories

Find more on MATLAB in Help Center and File Exchange

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!