フィルターのクリア

3 matrix product without dimension error

1 回表示 (過去 30 日間)
Amirhosein hematyar
Amirhosein hematyar 2021 年 7 月 2 日
コメント済み: Yazan 2021 年 7 月 2 日
Hi all
I have a x with 2*72 dimensions and want to product the x(i)'*W*x(j) that W is inv(cov(x)) and 72*72.
I write it:
H=zeros(n,n);
for i=1:n
for j=1:n
H(i,j)=x(:,i)'*W*x(:,j);
H(j,i)=H(i,j);
end
end
but i receive dimension errors
please help me.

回答 (2 件)

Walter Roberson
Walter Roberson 2021 年 7 月 2 日
x is 2x72. indexing one column of it gives 2x1. Transpose gives 1x2. That does not match the 72x72 of W.

Yazan
Yazan 2021 年 7 月 2 日
編集済み: Yazan 2021 年 7 月 2 日
You can multiply the matrices directly without a loop.
% random matrices
x = randn(2, 72); y = randn(72, 72);
% multiplication, result is 2-by-72
res = x*y;
  2 件のコメント
Walter Roberson
Walter Roberson 2021 年 7 月 2 日
result would be 2x72
Yazan
Yazan 2021 年 7 月 2 日
Corrected, thanks!

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

カテゴリ

Help Center および File ExchangeLogical についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by