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


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

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



Log in to comment.

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{:};


Log in to comment.

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!