Borrar filtros
Borrar filtros

how to delete the rest of the zeros from a matrix

1 visualización (últimos 30 días)
wasima tammi
wasima tammi el 6 de Mzo. de 2015
Comentada: Sad Grad Student el 24 de Mzo. de 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 comentario
Adam
Adam el 6 de Mzo. de 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?

Iniciar sesión para comentar.

Respuesta aceptada

Sad Grad Student
Sad Grad Student el 6 de Mzo. de 2015
Editada: Sad Grad Student el 6 de Mzo. de 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 comentarios
wasima tammi
wasima tammi el 7 de Mzo. de 2015
when i m doing this all columns are not showing i have 41 columns and 10 rows but i dont know why this happening here only shows 13 or 14 columns??? but why??
Sad Grad Student
Sad Grad Student el 24 de Mzo. de 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.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by