how to delete the rest of the zeros from a matrix
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
wasima tammi
il 6 Mar 2015
Commentato: Sad Grad Student
il 24 Mar 2015
suppose this the output c=[0 0 0 0; 0 0 0 0; 1 1 1 1] now how could i delete the other zeros for a looop and only print the last row??
1 Commento
Adam
il 6 Mar 2015
Is that as complex as the problem gets or do you have case where some 1s appear in a row with 0s? If so are you expecting the output to simply be a 1d array of basically however many 1s exist in c, irrespective of the structure of where they appear?
Risposta accettata
Sad Grad Student
il 6 Mar 2015
Modificato: Sad Grad Student
il 6 Mar 2015
To remove 0, you can simply do: c(~c) = []; you don't need a loop! Beauty of matlab :)
~c is essentially looking for empty values in c. In Matlab, 0 means empty value and you can simply remove it by replacing it with []
>> c=[0 0 0 0; 0 0 0 0; 1 1 1 1]
c =
0 0 0 0
0 0 0 0
1 1 1 1
>> c(~c) = []
c =
1 1 1 1
>>
2 Commenti
Sad Grad Student
il 24 Mar 2015
I need to know what exactly it is that you're doing. Post your code here in the comments so I can answer why you're getting unexpected number of columns.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!