首页 文章

快速计算矩阵平方的对角线的方法

提问于
浏览
3

我有一个 nxm 矩阵 V ,其中我计算了方形 S=V'*V . 对于我的后续计算,我只需要 S 的对角线,所以我写了 s=diag(V'*V) . 然而,这有点浪费,因为我也在计算所有非对角元素 . 是否有 fast 方法只计算 S 的对角线元素?当然,我可以使用 for 循环,但显式循环不是在MATLAB中执行操作的快速方法 .

谢谢!!!

1 回答

  • 5

    这很简单:

    sum(conj(v).*v,1)
    

    要么

    sum(abs(v).^2,1)
    

    如果矩阵是真实的,你可以简化为

    sum(v.*v,1)
    

    要么

    sum(v.^2,1)
    

相关问题