フィルターのクリア

square of a vector

8 ビュー (過去 30 日間)
Berbia
Berbia 2012 年 10 月 31 日
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??

採用された回答

Honglei Chen
Honglei Chen 2012 年 10 月 31 日
編集済み: Honglei Chen 2012 年 10 月 31 日
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)
  6 件のコメント
Honglei Chen
Honglei Chen 2012 年 10 月 31 日
I'd say
temp = B-C;
temp'*temp
Matt J
Matt J 2012 年 10 月 31 日
編集済み: Matt J 2012 年 10 月 31 日
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);

サインインしてコメントする。

その他の回答 (1 件)

Matt J
Matt J 2012 年 10 月 31 日
A=norm(B-C)^2;

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by