我有一个矩阵X,并用它在MATLAB:S=X*X'中计算平方矩阵。我只需要找到S的非对角元素。
X
S=X*X'
S
我了解如何针对对角线sum(X.*X,1)执行此操作。通过矢量化找到非对角线元素的方法是否类似?
sum(X.*X,1)
要获得第d个非对角线的元素,这应该起作用:
d
sum(X(:,1:end-d).*X(:,1+d:end),1)
这是因为对于R=X*X',第d个非对角线具有以下元素:
R=X*X'
R(k,k+d) = sum (X(k,:) .* X(k+d,:))