Adding two matrixes with different row numbers.

S
Stephen · Oct 11, 2021 · 1.9K views
Question
Hi Matlabsolutions community!   I have a matrix A(mxn) and a matrix B(lxn) such as: A = [1,2,3,4,5,6,7,8,9,10; 10,11,12,13,14,15,16,17,18,19; 19,20,21,22,23,24,25,26,27,28]; B = [1,2,3,4,5,6,7,8,9,10; 2,4,6,8,10,12,14,18,18,20]; I'd like to get an output such as: out = [sum(A(1,:),B(1,:)); sum(A(1,:),B(2,:)); sum(A(2,:),B(1,:)); sum(A(2,:),B(2,:)); sum(A(3,:),B(1,:)); sum(A(3,:),B(2,:))]; Any idea about how I could code this efficiently?
Expert Answer
Profile picture of John Michell
John Michell PhD Expert
Answered Nov 20, 2025
Following your output image,
 
out = [sum(A(1,:),B(1,:)); sum(A(1,:),B(2,:)); sum(A(2,:),B(1,:)); sum(A(2,:),B(2,:)); sum(A(3,:),B(1,:)); sum(A(3,:),B(2,:))];

the code is like below

A = [1,2,3,4,5,6,7,8,9,10; 10,11,12,13,14,15,16,17,18,19; 19,20,21,22,23,24,25,26,27,28];
B = [1,2,3,4,5,6,7,8,9,10; 2,4,6,8,10,12,14,18,18,20];

A_sum = sum(A,2);
B_sum = sum(B,2);

for i = 1:length(A_sum)
    for j = 1:length(B_sum)
        C(i,j) = A_sum(i) + B_sum(j);
    end
end

out = rehape(C,[],1);

 

Have a different question? Ask here

Get a Free Consultation or a Sample Assignment Review!