Matlab - Buscar un valor en una matriz y dar el valor máximo

 
Vista:
sin imagen de perfil

Buscar un valor en una matriz y dar el valor máximo

Publicado por Cyn (2 intervenciones) el 10/01/2015 22:38:37
Hola, tengo que hace un programa en donde el usuario introduce un valor y se tiene que buscar en una matriz todos los números que son menores que el dado por el usuario y mostrar el máximo haciendo un plot con una línea en el máximo encontrado. ¿Cómo hago para que me busque los números que sean más pequeños e indicarle que de esos me diga el máximo?
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

Buscar un valor en una matriz y dar el valor máximo

Publicado por Daniel (264 intervenciones) el 21/01/2015 20:54:27
si x es la matriz y ya se encuentra definida

acá te dejo el código

1
2
3
4
5
6
7
p=input('ingrese un numero : ');
m=(x<p);
xm=max(x(m));
[u v]=find(xm==x);
disp(['el maximo de los valores menores a ' num2str(p)])
disp(['se encuentra en la posicion (' num2str([u v]) ') de la matriz'])
disp(['y su valor es  ' num2str(xm)])


explico un poco algunas cosas que en su momento me costaron bastante de entender y son muy útiles

m es una matriz lógica que tiene 1 donde se cumple x<p y ceros donde no

x(m) es un vector que tiene sólo los valores de la matriz x en las posiciones en donde m=1;
el ordenamiento de x(m) esta dado como si fuese recorriendo cada columna de arriba hacia abajo y luego paso a la siguiente

Aclaro estas cosas porque en general es complicado entender instrucciones como estas

1
[u v]=find(max(x(x<p))==x)

que son tal resumidas como complicadas de seguir

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
0
Comentar