Matlab - AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

 
Vista:
sin imagen de perfil
Val: 31
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

Publicado por Simón (18 intervenciones) el 06/12/2019 19:45:11
Hola, supongamos que tengo una matriz de 7x2. Algo así:

[0.9 300;
0.5 400;
0.3 500;
0.95 800;
0.2 1400;
0.2 3000;
0.1 5000]

¿Cómo hago para que matlab me encuentre los 2 valores que acompañan (es decir, los de la segunda columna) a los 2 mayores valores de la primera columna?

Es decir, necesito que matlab me guarde en un vector de 1x2 los valores [300 800], ya que son los que poseen un valor más alto en la columna 1 (0.9 y 0.95 respectivamente)
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

AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/12/2019 21:33:23
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear
A=[0.9 300;
0.5 400;
0.3 500;
0.95 800;
0.2 1400;
0.2 3000;
0.1 5000]
[maximo1,fila1]=max(A(:,1));
B(1,:)=A(fila1,:);
A(fila1,1)=-inf;
[maximo2,fila2]=max(A(:,1));
B(2,:)=A(fila2,:);
A(fila1,1)=-inf;
A(fila1,1)=maximo1;
A(fila2,1)=maximo2;
B

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


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

AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/12/2019 21:52:01
1
2
3
4
5
6
7
8
9
10
11
clear
A=[0.9 300;
0.5 400;
0.3 500;
0.95 800;
0.2 1400;
0.2 3000;
0.1 5000]
 
B = sortrows(A,1,'descend') ;
maximoa=B(1:2,2)'
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
sin imagen de perfil
Val: 31
Ha aumentado su posición en 2 puestos en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

Publicado por Simón (18 intervenciones) el 06/12/2019 21:58:48
Mil y mil gracias!
Pero una cosa, en tu segunda solución me sale el error de "Too many input arguments" en la función sortrows, a qué se debe?
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/12/2019 22:00:13
1
2
3
4
5
6
7
8
9
10
11
clear
A=[0.9 300;
0.5 400;
0.3 500;
0.95 800;
0.2 1400;
0.2 3000;
0.1 5000]
 
B = sortrows(A,1,'descend') ;
maximoa=B(1:2,2)'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
>> maximos_consecutivos1
 
A =
   1.0e+03 *
 
    0.0009    0.3000
    0.0005    0.4000
    0.0003    0.5000
    0.0009    0.8000
    0.0002    1.4000
    0.0002    3.0000
    0.0001    5.0000
 
 
maximoa =
   800   300
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
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

AYUDA POR FAVOR. Cómo encontrar el valor que acompaña al máximo valor de otra columna??

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 06/12/2019 21:54:46
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
clear
A=[0.9 300;
0.5 400;
0.3 500;
0.95 800;
0.2 1400;
0.2 3000;
0.1 5000]
[maximo1,fila1]=max(A(:,1));
B(1,2)=A(fila1,2);
A(fila1,1)=-inf;
[maximo2,fila2]=max(A(:,1));
B(1,1)=A(fila2,2);
A(fila1,1)=-inf;
A(fila1,1)=maximo1;
A(fila2,1)=maximo2;
B


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
>> maximos_consecutivos
 
A =
 
   1.0e+03 *
 
    0.0009    0.3000
    0.0005    0.4000
    0.0003    0.5000
    0.0009    0.8000
    0.0002    1.4000
    0.0002    3.0000
    0.0001    5.0000
 
 
B =
 
   300   800
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