MATLAB Answers


square of a vector

Asked by Berbia
on 31 Oct 2012

I have to calculate a square of vector which should results a scalar value. i.e) A=(B-C)^2 B and C are vectors and I need A as a scalar. How can I implement this in matlab??


Log in to comment.

2 Answers

Answer by Honglei Chen
on 31 Oct 2012
Edited by Honglei Chen
on 31 Oct 2012
 Accepted Answer

My guess is you need an inner product, i.e. A = |B-C|^2, you can do it many different ways, one way is

B = ones(3,1);
C = ones(3,1);
A = (B-C)'*(B-C)


Thanks a lot...I have to do this operation repeatedly in loop. which is more efficient, whether tmp=B-C; dot(tmp,tmp); or norm(B-C)^2?

I'd say

temp = B-C;
Matt J
on 31 Oct 2012

You should think about whether the loop can be avoided altogether, since this sounds like a very vectorizable operation. If B and C are matrices and you want the dot product along columns, for example

result = sum(temp.^2,1);

Log in to comment.

Answer by Matt J
on 31 Oct 2012



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!