1
我有兩個矩陣,a是2000乘20000,b也是2000乘20000。我想得到a'*b
的對角元素。我用diag(a'*b)
,但它非常慢(約20秒),因爲計算非對角元素需要時間。我想知道是否有更快的方法來做到這一點。Matlab有效取矩陣積的對角線值
我注意到人們做了類似sum((T*H).*T',2)
,這裏是link。但是要求T是方陣。在我的情況下,非方陣如何?
感謝
我有兩個矩陣,a是2000乘20000,b也是2000乘20000。我想得到a'*b
的對角元素。我用diag(a'*b)
,但它非常慢(約20秒),因爲計算非對角元素需要時間。我想知道是否有更快的方法來做到這一點。Matlab有效取矩陣積的對角線值
我注意到人們做了類似sum((T*H).*T',2)
,這裏是link。但是要求T是方陣。在我的情況下,非方陣如何?
感謝
對角線的a'*b
只是
result = sum(a'.*b.',2);
示例(非方陣):
>> a = rand(4,5);
>> b = rand(4,5);
>> result = sum(a'.*b.',2)
result =
1.6102
0.2805
1.5354
0.3966
1.1896
>> diag(a'*b)
ans =
1.6102
0.2805
1.5354
0.3966
1.1896
完成矩陣用零方? – percusse