Filter löschen
Filter löschen

adding every element of an array with every element of another array?

11 Ansichten (letzte 30 Tage)
dear all, i want to add array elements to every other element of another element of another array in simulink/matlab

Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 30 Nov. 2012
Pranav wrote: "...i want to add elemnts of A to be added to every other elemnet of B. ie. 1+[5 6 7 8],2+[5 6 7 8],...so on..."
A = [ 1 2 3 4];
B = [ 5 6 7 8];
C = reshape(bsxfun(@plus,A,B.'),1,[]);

Weitere Antworten (3)

Vishal Rane
Vishal Rane am 30 Nov. 2012
Bearbeitet: Vishal Rane am 30 Nov. 2012
Do you need to do this in MATLAB code ?
A = [ 1 2 3 4]
B = [ 5 6 7 8]
C = A + B = [ 6 8 10 12 ]
Comment back if your requirement is different.
  3 Kommentare
Vishal Rane
Vishal Rane am 30 Nov. 2012
arrayfun(@(x)(x+A),B,'Un',0)
will work in that case but output will be a 1x4 cell arrray.
Pranav
Pranav am 3 Dez. 2012
Thanks Vushal i will check for other array sizes.

Melden Sie sich an, um zu kommentieren.


Matt Fig
Matt Fig am 30 Nov. 2012
A = 0:4;
B = 10:16;
bsxfun(@plus,A,B')

Brandon
Brandon am 9 Mai 2016
Bearbeitet: Brandon am 11 Dez. 2018
I found this conversation while looking for a faster way to accomplish this task. The code below also works but is just slightly slower in my code on my machine.
X=[A' ones(size(A'))];
Y=[ones(size(B)); B];
reshape(X*Y,1,[])

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by