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

dear all, i want to add array elements to every other element of another element of another array in simulink/matlab

 Réponse acceptée

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,[]);

Plus de réponses (3)

Vishal Rane
Vishal Rane le 30 Nov 2012
Modifié(e) : Vishal Rane le 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 commentaires

Thanks but sorry.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
arrayfun(@(x)(x+A),B,'Un',0)
will work in that case but output will be a 1x4 cell arrray.
Thanks Vushal i will check for other array sizes.

Connectez-vous pour commenter.

A = 0:4;
B = 10:16;
bsxfun(@plus,A,B')

1 commentaire

Thanks u Matt fot the solution. I shall convert it into a row vector.

Connectez-vous pour commenter.

Brandon
Brandon le 9 Mai 2016
Modifié(e) : Brandon le 11 Déc 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,[])

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by