how to add 3 matrices with one dimension same for all and other dimension different?

1 visualizzazione (ultimi 30 giorni)
If I have
A=[1;
2;
3]
B=[2 3 4;
5 6 7;
8 9 0]
C=[3 4 5 6;
9 8 7 6;
5 4 2 1]
all 3 matrices have 3 rows but columns different. I want to add elements of rows of all matrices in this way for example I want
D=[(1+2+3) (1+2+4) (1+2+5) (1+2+6) (1+3+3) (1+3+4) (1+3+5) (1+3+6) (1+4+3) (1+4+4) (1+4+5) (1+4+6);
(2+5+9) (2+5+8) (2+5+7) (2+5+6) (2+6+9) (2+6+8) (2+6+7) (2+6+6) (2+7+9) (2+7+8) (2+7+7) (2+7+6);
(3+8+5) (3+8+4) (3+8+2) (3+8+1) (3+9+5) (3+9+4) (3+9+2) (3+9+1) (3+0+5) (3+0+4) (3+0+2) (3+0+1)]
  2 Commenti
John Chilleri
John Chilleri il 24 Gen 2017
Do you need this generalized to any size matrix, or will it strictly be with three matrices of these exact sizes?
summyia qamar
summyia qamar il 24 Gen 2017
to any kind..although my specific problem is
A=64x1
B=64x1806
C=64x4602
so I need a generalized version

Accedi per commentare.

Risposta accettata

Niels
Niels il 24 Gen 2017
Modificato: Niels il 24 Gen 2017
[rows,col_B]=size(B);
[~,col_C]=size(C);
result=zeros(rows,col_B*col_C);
for i=1:col_B
for j=1:col_C
result(:,(i-1)*col_C+j)=A+B(:,i)+C(:,j);
end
end
  11 Commenti
Niels
Niels il 24 Gen 2017
the result will be that large, so even if the calculations are minimzed, the problem with the size of the result is still the same.

Accedi per commentare.

Più risposte (1)

John Chilleri
John Chilleri il 24 Gen 2017
Modificato: John Chilleri il 24 Gen 2017
Hello,
I only tested this with your example and it worked, but I think it's generally correct:
%
% Strangely adding matrices
%
function D = strangelyAddingMatrices(A,B,C)
n = size(C,2);
nB = size(B,2);
for i = 1:n
C(:,i) = C(:,i)+A;
end
D = [];
for i = 1:nB
C2 = C;
for j = 1:n
C2(:,j) = C2(:,j)+B(:,i);
end
D = [D C2];
end
end
Hope this helps!
  9 Commenti
summyia qamar
summyia qamar il 24 Gen 2017
actually these A,B,C are resultants of different calculations and I want to get minimum sum of all A,B,C thats why I want to sum up them
John Chilleri
John Chilleri il 24 Gen 2017
What do you mean by minimum sum? Like which columns summed produce the minimum? Or something else?

Accedi per commentare.

Categorie

Scopri di più su MATLAB Coder in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by