Matlab - Comparación de renglones de una matriz.

 
Vista:
sin imagen de perfil
Val: 352
Ha disminuido 1 puesto en Matlab (en relación al último mes)
Gráfica de Matlab

Comparación de renglones de una matriz.

Publicado por Ricardo (218 intervenciones) el 19/01/2020 06:12:06
Buenas noches.
He intentado resolver esto y no he podido. Solicito su valiosa ayuda.

Tengo una matriz A de 6 X 4.
Tengo que comparar elemento por elemento entre el renglón 1 y 2 e ir seleccionando el valor menor o igual de esta comparación de renglones, posteriormente se hará lo mismo con los renglones 3 y 4 , 5 y 6

A=[ 8 8 8 8
6 5 8 1
6 6 6 6
4 3 2 5
9 9 9 9
6 9 4 3 ];

El resultado de esto, será una matriz como la mostrada:

6 5 8 1
4 3 2 5
6 9 4 3

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

Comparación de renglones de una matriz.

Publicado por Daniel (354 intervenciones) el 19/01/2020 13:13:47
Hola,

Paso a paso:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
% He modificado la tabla para que no sean en todos los casos las filas
% pares las que se seleccionan
A=[ 8 8 8 8;
    6 5 8 1;
    6 6 6 6;
    4 3 2 5;
    9 9 9 9;
    5 9 4 3];
 
imp = A(1:2:end, :); % Filas impares
par = A(2:2:end, :); % Filas pare
 
% Selección de filas, no se indica si es la suma o que lo que se compara,
% uso como ejemplo la primera columan
sel = imp(:, 1) > par(:, 1);
 
idx = (1:2:size(A, 1))'; % inidices con las filas impares
A(idx + sel, :)

y la versión compacta

1
A((1:2:size(A, 1))' + (A(1:2:end, 1) > A(2:2:end, 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
0
Comentar