How to sum each column element of one matrix with all column elements of another matrix?

Sorry I cannot formulate my question in a clearer way. Here is what I want to do: A = [ a, b; c, d ] and B = [ i, j; k, l ] I want to get: C = [ (a+i), (b+j); (a+k), (b+l); (c+i), (d+j); (c+k), (d+l) ]. Thank you in advance.

 Accepted Answer

Do
kron([a b;c d],[1;1]) + kron([1;1],[i j;k l])
Here is an example using symbolic expressions
syms a b c d i j k l
kron([a b;c d],[1;1]) + kron([1;1],[i j;k l])
ans =
[ a + i, b + j]
[ a + k, b + l]
[ c + i, d + j]
[ c + k, d + l]

6 Comments

Hello again Anton, sorry, I realized that it works with 2x2 matrices but I need it for n x n matrix (450x450 in particular). Can you help me?
Suppose A and B are your two matrices (where A and B are the equivalents of [a b; c d] and [i j;k l], respectively). Do:
N=size(A,1);
C=kron(A,ones(N,1)) + kron(ones(N,1),B);
Sir, I have total six matrices each with the size 4x4. I want to add all the combinations of the columns.
That means each column of one matrix with each other column of other matrices. I should get total of 4^6 summed vectors. Please suggest me something.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!