MATLAB: How to multiply one array of vector in another

arraymatrixvector

There are two same size vectors,A and B (1*2000 in size).
for each value of A must be used in equation below for all B values:
equation=A+A^2+B
for example:
A=[1 2 3]
B=[10 20 30]
I want following results:
1+1^2+10 , 1+1^2+20, 1+1^2+30
2+2^2+10 , 2+2^2+20, 2+2^2+30
3+3^2+10 , 3+3^2+20, 3+3^2+30
But, A and B both are 2000 in size, I expect to get 2000*2000 matrix for eqn.
can you please advise?
Thnks

Best Answer

Use bsxfun:
A=[1 2 3];
B=[10 20 30];
equation = bsxfun(@plus, (A'+A'.^2), B)
equation =
12 22 32
16 26 36
22 32 42