# How to remove Nans from matrix

3 visualizaciones (últimos 30 días)
Ian el 10 de Sept. de 2013
I have a matrix (size 123317x6), and every 128 rows I have 3 nans on the last three columns of that thoses rows. Now what I want to do is remove all the NaNs completely without removing that row or column (just the NanNs) The data on the next row then needs to be moved up to where the Nans were. I will give you a quick example.
so I want this matrix:-
M=
1 3 6 nan nan nan 4 5 4 1 3 4 1 2 2 6 3 1 1 3 4 nan nan nan 3 4 5 6 7 8
M=
1 3 6 4 5 4 1 3 4 1 2 2 6 3 1 1 3 4 3 4 5 6 7 8
Hope this example explains what I want better!
Any help would be greatly appreicated.
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Azzi Abdelmalek el 10 de Sept. de 2013
Editada: Azzi Abdelmalek el 10 de Sept. de 2013
out=reshape(M(~isnan(M)),[],size(M,2))
Edit
M can not be reshaped unless we add some nan at the end of M
M=rand(123317,6);
M(128:128:n,end-2:end)=nan;
%-----------------------------------------
n=size(M,1);
M=M(~isnan(M));
M(end:end+mod(6-mod(numel(M),6),6))=nan;
M=reshape(M,[],6);
##### 1 comentarioMostrar -1 comentarios más antiguosOcultar -1 comentarios más antiguos
Geert el 10 de Sept. de 2013
I like your answer more than mine. There is however a small mistake, it should be:
out=reshape(M(~isnan(M)),[],size(M,2)-3)

Iniciar sesión para comentar.

### Más respuestas (3)

Andrei Bobrov el 10 de Sept. de 2013
Editada: Andrei Bobrov el 10 de Sept. de 2013
out = resM(M==M)
M1 = M';
out = reshape(M1(M1==M1),size(M,2),[])';
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Geert el 10 de Sept. de 2013
If it are exactly 3 NaN's per row, you could do something like this:
M = [1 3 6 nan nan nan 4 5 4 1 3 4 1 2 2;
6 3 1 1 3 4 nan nan nan 3 4 5 6 7 8];
M_new = zeros(size(M,1), size(M,2)-3);
for ii = 1:size(M,1)
M_new(ii,:) = M(ii,~isnan( M(ii,:)));
end
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

Ian el 15 de Sept. de 2013
This for you help guys much appreciated! :)
##### 0 comentariosMostrar -2 comentarios más antiguosOcultar -2 comentarios más antiguos

Iniciar sesión para comentar.

### Categorías

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

### Community Treasure Hunt

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

Start Hunting!

Translated by