现在有从论坛上下载的moran 的代码,如下:求问这个代码如何修正,运行总是有问题。这个代码只能做单变量的moran 吗?
function[I,I_standard,Z_I,Z_alpha,result]=moran(X,W,alpha)
%%X为列向量,W为权重矩阵
%alpha为显著性水平
n = length(X);
Xmean = mean(X);
XminusX_mean = X - Xmean;
S0 = sum(sum(W));
%一、计算,moran'I值
%1、W未标准化,为0-1矩阵
I =XminusX_mean'*W*XminusX_mean*n/(XminusX_mean'*XminusX_mean*S0);
%2、W标准化,为(0,1)矩阵
W_rowSum = sum(W');
W_rowSum_temp = W_rowSum'*ones(1,n);
W_standard = W./W_rowSum_temp;
I_standard =XminusX_mean'*W_standard*XminusX_mean/(XminusX_mean'*XminusX_mean);
%二、moran'I值的显著性检验
Z