Matlab - como filtrar NaN con espacios vacios

 
Vista:

como filtrar NaN con espacios vacios

Publicado por Angie xiomara Vesga bautista (1 intervención) el 30/08/2018 18:49:54
con la funcion de importacion de datos, obtuve una matriz de la siguiente forma (los valores son un ejemplo)

54 3 nan 2
3 5 nan 1
2 3 nan 7
4 2 nan nan
nan 1 nan nan
nan 6 nan nan
nan 7 nan nan

quisiera saber como filtrar y eliminar esos nan por espacios vacios ya que, parte de algunas d emi matriz son mas largas que otras.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JESUS DAVID ARIZA ROYETH
Val: 3.309
Plata
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

como filtrar NaN con espacios vacios

Publicado por JESUS DAVID ARIZA ROYETH (1818 intervenciones) el 30/08/2018 19:00:44
eso depende la forma como lo quieras hacer, te voy a dar ejemplo de 3 formas , la forma 1 elimina todo los nan pero te deja el resultado como un vector columna ya que la matriz pierde la forma cuadrada, la forma 2 elimina las columnas que tengan solo nan y la forma 3 reemplaza los nan por 0

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Matriz=[54 3 nan
3 5 nan
2 3 nan
4 2 nan
nan 1 nan
nan 6 nan
nan 7 nan];
resultado1=Matriz(not(isnan(Matriz)));
resultado2=Matriz(:,not(prod(isnan(Matriz))));
resultado3=Matriz;
resultado3(isnan(resultado3))=0;
clc
disp('forma1')
disp(resultado1)
disp('forma2')
disp(resultado2)
disp('forma3')
disp(resultado3)

forma1
54
3
2
4
3
5
3
2
1
6
7

forma2
54 3
3 5
2 3
4 2
NaN 1
NaN 6
NaN 7

forma3
54 3 0
3 5 0
2 3 0
4 2 0
0 1 0
0 6 0
0 7 0
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar