计算方阵非对角线项的方法
The way to compute off-diagonal terms of a square matrix
我有一个矩阵 X
并用它来计算 MATLAB 中的方阵:S=X*X'
。我只需要找到 S
.
的非对角线元素
我了解如何对角线执行此操作:sum(X.*X,1)
。有没有类似的方法通过矢量化找到非对角线元素?
要获取第 d
个 off-diagonal 的元素,这应该可行:
sum(X(:,1:end-d).*X(:,1+d:end),1)
这是因为对于 R=X*X'
,第 d
个 off-diagonal 具有这些元素:
R(k,k+d) = sum (X(k,:) .* X(k+d,:))
我有一个矩阵 X
并用它来计算 MATLAB 中的方阵:S=X*X'
。我只需要找到 S
.
我了解如何对角线执行此操作:sum(X.*X,1)
。有没有类似的方法通过矢量化找到非对角线元素?
要获取第 d
个 off-diagonal 的元素,这应该可行:
sum(X(:,1:end-d).*X(:,1+d:end),1)
这是因为对于 R=X*X'
,第 d
个 off-diagonal 具有这些元素:
R(k,k+d) = sum (X(k,:) .* X(k+d,:))