Del*_*aIV 3 performance matlab matrix vectorization
我有一个nxm矩阵V,我计算正方形S=V'*V.对于我的后续计算,我只需要对角线S,所以我写s=diag(V'*V).然而,这有点浪费,因为我也在计算所有非对角元素.有没有一种快速的方法只计算对角元素S?for当然,我可以使用循环,但显式循环不是在MATLAB中做事的快捷方式.
谢谢!!!
这很简单:
sum(conj(v).*v,1)
Run Code Online (Sandbox Code Playgroud)
要么
sum(abs(v).^2,1)
Run Code Online (Sandbox Code Playgroud)
如果矩阵是真实的,你可以简化为
sum(v.*v,1)
Run Code Online (Sandbox Code Playgroud)
要么
sum(v.^2,1)
Run Code Online (Sandbox Code Playgroud)