## square of a vector

on 31 Oct 2012

### Honglei Chen (view profile)

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??

## Products

No products are associated with this question.

### Honglei Chen (view profile)

on 31 Oct 2012
Edited by Honglei Chen

### Honglei Chen (view profile)

on 31 Oct 2012

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)
```

Berbia

### Berbia (view profile)

on 31 Oct 2012

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?

Honglei Chen

### Honglei Chen (view profile)

on 31 Oct 2012

I'd say

```temp = B-C;
temp'*temp
```
Matt J

### Matt J (view profile)

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

```temp=B-C;
result = sum(temp.^2,1);
```

### Matt J (view profile)

on 31 Oct 2012
` A=norm(B-C)^2;`

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi