MATLAB Answers


how can i add each element in array to a fixed matrix

Asked by Arjan
on 12 Apr 2013

I have a complex array A(3x1) and Iwant to add each element to each of entry of the complex matrix M (4x4), but without changing the size of the original matrix M(4x4):

A = [1+1i;2+2i;3+3i];

M= [1+1i 2+2i 3+3i 4+4i;2+2i 3+3i 4+4i 3+3i;5+5i 2+2i 3+3i 1+1i;3+3i 4+3i 2+1i 4+2i];

how can i do it ? thanks in advance


Jan Simon
on 12 Apr 2013

While the complexity of the values does not matter for the method, it is not clear what you expect as output.

on 12 Apr 2013

Hi Jan, Actually I want each element in the array A(3x1) to added to all the element in the matrix, therefore the result should be 3 new matrix for each element. for example :

A(1+1i) + M (4x4) = M1(4x4) % 1 new matrix

A(2+2i) + M (4x4) = M2(4x4) % 2 new matrix

A(3+3i) + M (4x4) = M3(4x4) % 3 new matrix




No products are associated with this question.

1 Answer

Answer by Andrei Bobrov
on 12 Apr 2013
Edited by Andrei Bobrov
on 12 Apr 2013

out = bsxfun(@plus,M,reshape(A,1,1,[]));
M0 = num2cell(out,[1 2]);
[M1,M2,M3] = M0{:};


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!