Matlab - Ordenar documento excel con matlab

 
Vista:

Ordenar documento excel con matlab

Publicado por Borja (3 intervenciones) el 11/03/2020 10:41:28
Buenas a todos,
tengo un problema con ordenar un vector por filas de menor a mayor teniendo en cuenta solo el primer valor de las dos columnas. Esto se debe a que he leído un archivo excel con una gran cantidad de valores y este viene totalmente desordenado.

Un ejemplo simple de lo que me gustaría obtener es el siguiente:

A=[0.1 0.097 ; 0.35 0.07; 1.35 0.00089 ; 0.16 0.028]

A=[0.1 0.097 ; 0.16 0.028 ;0.35 0.07 ; 1.35 0.00089]

Muchas gracias por vuestra ayuda.
Un saludo,
Borja
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 JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ordenar documento excel con matlab

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 11/03/2020 12:34:36
1
2
A=[0.1 0.097 ; 0.35 0.07; 1.35 0.00089 ; 0.16 0.028]
B = sortrows(A)

1
2
3
4
5
6
7
8
9
10
11
12
A =
    0.1000    0.0970
    0.3500    0.0700
    1.3500    0.0009
    0.1600    0.0280
 
 
B =
    0.1000    0.0970
    0.1600    0.0280
    0.3500    0.0700
    1.3500    0.0009


Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab
[email protected]


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ordenar documento excel con matlab

Publicado por Borja (3 intervenciones) el 12/03/2020 09:49:54
De acuerdo, muchas gracias. Ahora me ha surgido otra duda.

Supongamos este vector A con estos valores:

2,19886 1,59E-16
2,19887 1,96E-16
2,25816 0
2,25829 0
2,19890 2,69E-17
2,25885 0
2,19895 1,20E-16
2,25829 1,55E-18


si realizamos B = sortrows(A)

2,19886 1,59E-16
2,19887 1,96E-16
2,19890 2,69E-17
2,19895 1,20E-16
2,25816 0
2,25829 0
2,25885 0
2,25829 1,55E-18

Ahora lo que me gustaría hacer ahora es eliminar del vector aquellas filas cuyos valor de la segunda columna sea un 0, quedando de la siguiente manera:

2,19886 1,59E-16
2,19887 1,96E-16
2,19890 2,69E-17
2,19895 1,20E-16
2,25829 1,55E-18

Muchas gracias por vuestra ayuda.
Un saludo,
Borja
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
sin imagen de perfil
Val: 918
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ordenar documento excel con matlab

Publicado por Daniel (354 intervenciones) el 12/03/2020 10:52:45
Hola,

Identificas los valores de la segunda columna con ceros, A(:,2) == 0, y le asignas a estos un objeto vacío, []. Así solamente con

1
A(A(:,2) == 0, :) = []

se eliminan las filas con 0 en la segunda columna.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> A = [1,1;2,2;3,0;4,1]
 
A =
 
     1     1
     2     2
     3     0
     4     1
 
>> A(A(:,2) == 0, :) = []
 
A =
 
     1     1
     2     2
     4     1

Saludos,
Daniel Rodríguez
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ordenar documento excel con matlab

Publicado por Borja (3 intervenciones) el 12/03/2020 10:56:30
Muchisimas gracias, me estaba volviendo loco intentándolo con for e if.
Un saludo,

Borja
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