how to add 3 matrices with one dimension same for all and other dimension different?
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
summyia qamar
el 24 de En. de 2017
Comentada: Niels
el 24 de En. de 2017
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 comentarios
John Chilleri
el 24 de En. de 2017
Do you need this generalized to any size matrix, or will it strictly be with three matrices of these exact sizes?
Respuesta aceptada
Niels
el 24 de En. de 2017
Editada: Niels
el 24 de En. de 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 comentarios
Niels
el 24 de En. de 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.
this might help you o set the limit higher https://de.mathworks.com/help/matlab/matlab_env/set-workspace-and-variable-preferences.html
Más respuestas (1)
John Chilleri
el 24 de En. de 2017
Editada: John Chilleri
el 24 de En. de 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 comentarios
John Chilleri
el 24 de En. de 2017
What do you mean by minimum sum? Like which columns summed produce the minimum? Or something else?
Ver también
Categorías
Más información sobre MATLAB Coder en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!