% load Anselin (1988) Columbus neighborhood crime data
load anselin.dat;
% 5 columns:
% column1 = crime
% column2 = household income
% column3 = house values
% column4 = latitude coordinate
% column5 = longitude coordinate
n = length(anselin);
y = anselin(:,1);
x = [ones(n,1) anselin(:,2:3)];
latt = anselin(:,4);
long = anselin(:,5);
vnames = strvcat('crime','constant','income','hvalue');
W = make_neighborsw(latt,long,6);
我输入我自己的数据,原数据中好像使用坐标转换的矩阵(上述红的部分);由于我自己做好了空间矩阵,我就把上面的代码换成了:
load Rujing.dat; %换成了我的数据
load juzhen.dat; %换成了我的数据
n = length(Rujing);
y = Rujing(:,1);
x = [ones(n,1) Rujing(:,2:8)];
vnames = strvcat('lnI','constant','lnrail','lnroad','lnpop','lnpcgdp','lnFDI','lnhotel','lnresource');
W = juzhen; %换成了我的矩阵
但是计算时出现如下错误:
??? Error using ==> mtimes
Inner matrix dimensions must agree.
Error in ==> sdm at 97
xsdm = [x W*x(:,2:end)];
Error in ==> sdm_d at 30
results = sdm(y,x,W,info);