MATLAB Answers


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.


Sign in to comment.

1 Answer

Answer by Anton Semechko on 8 Jul 2018
 Accepted Answer

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]


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:
C=kron(A,ones(N,1)) + kron(ones(N,1),B);

Sign in to comment.