Borrar filtros
Borrar filtros

How can I extract not zero numbers from a matrix?

1 visualización (últimos 30 días)
Simo
Simo el 24 de Jun. de 2014
Comentada: Image Analyst el 24 de Jun. de 2014
I have a matrix, like
M=[0 1 2 5 2 3 0 0 0 0 4 3 2 5 0 0 0 4 3 2 ...];
I'd like to extract n separated matrices, like:
A=[ 1 2 5 2 3];
B=[ 4 3 2 5];
C=[ 4 3 2];
or a matrix n Columns or rows, like
M=[A;B;C]
  1 comentario
Image Analyst
Image Analyst el 24 de Jun. de 2014
You cannot have an M like that because A, B, and C have different numbers of columns.

Iniciar sesión para comentar.

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 24 de Jun. de 2014
M=[0 1 2 5 2 3 0 0 0 0 4 3 2 5 0 0 0 4 3 2 ];
idx=[0 M~=0 0];
ii1=strfind(idx,[0 1]);
ii2=strfind(idx,[1 0])-1;
out=arrayfun(@(ii,jj) M(ii:jj),ii1,ii2,'un',0);
celldisp(out)

Más respuestas (0)

Categorías

Más información sobre Multidimensional Arrays 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