Matlab - Como extraer los 10 números mas grandes de un vector

 
Vista:
Imágen de perfil de Efren

Como extraer los 10 números mas grandes de un vector

Publicado por Efren (8 intervenciones) el 03/05/2016 22:29:54
Saludos, tengo un vector s=[0.25 0.5 10 0.1 15 10 25 18 15 13 12 30 0.3 0.25 0.5 10 0.1 15 10 25 18 15 ];

deseo saber si hay algún comando para extraer los 10 números mas grandes de ese vector.
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 Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Como extraer los 10 números mas grandes de un vector

Publicado por Daniel (264 intervenciones) el 05/05/2016 19:35:42
Aqui te dejo la forma de hacerlo y algunas cosas mas que te pueden servir....



1
2
3
4
5
6
7
8
9
10
s=[0.25 0.5 10 0.1 15 10 25 18 15 13 12 30 0.3 0.25 0.5 10 0.1 15 10 25 18 15 ];
 [p,orden]=sort(s,'descend');
 s10max=p(1:10);
 s10maxpos=orden(1:10);
 disp('los 10 elementos mas grandes son: ')
 disp(s10max)
 disp('sus posiciones son: ')
 disp(s10maxpos)
 disp('el orden de aparicion es: ')
 disp(s(sort(s10maxpos)))

Comentanos como te fue


Saludos

Daniel
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Efren

Como extraer los 10 números mas grandes de un vector

Publicado por Efren (8 intervenciones) el 05/05/2016 20:06:13
Saludos; su respuesta esta bien cenicilla , yo estaba yendo por el lado mas complejo, muchas gracias me a servido mucho

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
n=10;%numero de muestras a extraer
x=[0.25 0.5 10 0.1 15 10 25 18 15 13 12 30 0.3 0.25 0.5 10 0.1 15 10 25 18 15 ];
xa=[];
ax=x;
for uno=1:n;
[val pos]=max(x);
x(pos)=[];
xa(uno)=val;
 
uno=uno+1;
plot(xa)
hold on
pause(0.2)
end
YYY=xa
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