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