Max value of row in matrix and creating new matrix

I want something like this matrixa=[12 33 44;26 59 14;15 99 54] matrixb=[26 89 95;23 54 12;2 54 43]
and to get output like this
matrixc=[15 99 54;26 89 95]
calculate the sum of rows in both matrix and to create a new matrix with the two rows that have the greatest sum value like example above. can it be done with max function ? thanks in advance :)

2 comentarios

José-Luis
José-Luis el 7 de Oct. de 2014
What have you tried so far?
Etan Cole
Etan Cole el 7 de Oct. de 2014
clear; a=[15 9 7;8 5 5;1 7 4]; b=[6 5 9;8 2 5;5 4 4]; [C,I]=max(sum(a,1)); [C1,I1]=max(sum(b,1)); matrix=[a(I,:);b(I1,:)];

Iniciar sesión para comentar.

Respuestas (2)

Star Strider
Star Strider el 7 de Oct. de 2014
This works:
sa = sum(matrixa,2);
sb = sum(matrixb,2);
c = zeros(size(matrixa));
q1 = matrixa(sa > sb,:);
q2 = matrixb(sb > sa,:);
c(sa > sb,:) = matrixa(sa > sb,:);
c(sb > sa,:) = matrixb(sb > sa,:);

3 comentarios

Etan Cole
Etan Cole el 7 de Oct. de 2014
clear; matrixa=[15 9 7;8 5 5;1 7 4]; matrixb=[6 5 9;8 2 5;5 4 24]; sa = sum(matrixa,2); sb = sum(matrixb,2); c = zeros(size(matrixa)); q1 = matrixa(sa > sb,:); q2 = matrixb(sb > sa,:); c(sa > sb,:) = matrixa(sa > sb,:); c(sb > sa,:) = matrixb(sb > sa,:);
c=[15,9,7;8,5,5;5,4,24]
why the second row from first matrix i need output matrix 2x3
Misread it at first. This works:
sa = sum(matrixa,2);
sb = sum(matrixb,2);
mab = [matrixa; matrixb];
sab = [sa; sb];
[srtab,ix] = sort(sab,'descend');
matrixc = mab(ix(1:2),:);
With respect to your solution, what happens if the two largest row sums happen to be in the same matrix?
My code accounts for that, so that ‘c’ contains the rows of either matrix with the largest row sums.
Your code selects the largest row sums from ‘matrixa’ and ‘matrixb’. They may not be the largest row sums of the two matrices.

Iniciar sesión para comentar.

Etan Cole
Etan Cole el 7 de Oct. de 2014

0 votos

i got it working like this. thanks for the help
[C,I]=max(sum(a,2)); [C1,I1]=max(sum(b,2)); rezultat=[a(I,:);b(I1,:)];

Categorías

Más información sobre Creating and Concatenating Matrices en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 7 de Oct. de 2014

Comentada:

el 8 de Oct. de 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by