我有一个nxm
矩阵V
,其中我计算平方S=V'*V
对于下面的计算,我只需要S
的对角线,所以我编写s=diag(V'*V)
不过,这有点浪费,因为我计算的也是所有非对角元素有没有一种快速的方法只计算S
的对角线元素当然,我可以使用for
循环,但是显式循环并不是在MATLAB中快速完成任务的方法。
谢谢!!!
最佳答案
很简单:
sum(conj(v).*v,1)
或
sum(abs(v).^2,1)
如果矩阵是实的,可以简化为
sum(v.*v,1)
或
sum(v.^2,1)