Delete zeros form multiple columns in a matrix
Mostrar comentarios más antiguos
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
Respuestas (2)
the cyclist
el 8 de Mayo de 2021
0 votos
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 comentarios
pavan kurdekar
el 8 de Mayo de 2021
DGM
el 9 de Mayo de 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.
Image Analyst
el 8 de Mayo de 2021
0 votos
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 comentarios
pavan kurdekar
el 8 de Mayo de 2021
Image Analyst
el 8 de Mayo de 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.
Categorías
Más información sobre Matrix Indexing en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!