Matlab - ordenar de mayor a menor

   
Vista:

ordenar de mayor a menor

Publicado por pablo (1 intervención) el 03/12/2015 23:10:49
Hola qué tal. Quisiera saber si alguien me pueda ayudar con lo siguiente. Quiero ordenar de mayor a menor los valores de una columna, por medio de la siguiente linea de codigo:

d = sort(P(:,2),'ascend')

Donde

P(:,2)

'54.0057'
'57.3067'
'56.1621'
'83.3875'
'58.9508'
'83.3875'
'61.6542'
'60.1696'
'56.9308'
'53.9011'

Sin embargo me arroja el siguiente error:

??? Error using ==> cell.sort at 52
DIM argument not supported for cell arrays.

Error in ==> prueba_ponderacion_lf at 154
sort(P(:,2),'ascend')

y cuando omito 'ascend' realiza el orden de menor a mayor sin ningun problema. Espero alguna respuesta, gracias.
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

ordenar de mayor a menor

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 04/12/2015 00:02:49
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
>> P(:,2)
 
ans =
 
    '54.0057'
    '57.3067'
    '56.1621'
    '83.3875'
    '58.9508'
    '83.3875'
    '61.6542'
    '60.1696'
    '56.9308'
    '53.9011'
 
>> d = sort(cell2mat(P(:,2)),'ascend')
 
d =
 
50.0001
51.1001
53.1012
53.3325
53.3545
54.3556
66.6667
66.9677
87.9878
88.9898


Saludos .
JOSE JEREMÍAS CABALLERO
Asesoría online en Matlab
jjcc94@hotmail.com
Estimado Usuario, el correo es para servicios de cursos, asesoría y programación en Matlab.
Toda ayuda gratuita es vía foro.


http://matlabcaballero.blogspot.com
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

ordenar de mayor a menor

Publicado por pablo (9 intervenciones) el 04/12/2015 00:15:39
Perdón por la molestia, pero con el arreglo me arroja el siguiente error:

??? Error using ==> cat
CAT arguments dimensions are not consistent.

Error in ==> cell2mat at 89
m{n} = cat(1,c{:,n});

Error in ==> prueba_ponderacion_lf at 154
d = sort(cell2mat(P(:,2)),'ascend')
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
Imágen de perfil de JOSE JEREMIAS CABALLERO

ordenar de mayor a menor

Publicado por JOSE JEREMIAS CABALLERO jjcc94@hotmail.com (3432 intervenciones) el 04/12/2015 00:26:10
Debes poner tu data P o como se forma P, ese es el problema. Hay una infinidad de formar P. Por lo tanto vas a recibir respuestas que no resuelven tus dudas.
Yo formo mi data P de esta forma y para esto funciona perfectamente el código. Otro posible error, puede ser la versión de matlab. Si es portable quizás pueda fallar.

1
2
3
4
5
6
7
8
9
10
11
P(:,2)={'54.0057'
'57.3067'
'56.1621'
'83.3875'
'58.9508'
'83.3875'
'61.6542'
'60.1696'
'56.9308'
'53.9011'}
d = sort(cell2mat(P(:,2)),'ascend
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

ordenar de mayor a menor

Publicado por pablo (9 intervenciones) el 04/12/2015 01:39:53
OK, revisaré esos puntos entonces. Muchas gracias!
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