ywh19860616 发表于 2012-5-16 14:52 
epoh老师,是这样的,都是要求不同。
stata在计算时要求必须是元素为0-1且不能标准化的。SpaceStat那部分 ...
底下这两种结果是相同的
针对75楼copy错误修改过
请试试Spatial Filtering效果如何
%%%%%case 1
dista=GeogDistance(yc,xc);
[n,m]=size(dista);
W=row_norm(dista)
k=40:0.1:50;
s=length(k);
ZZmat=zeros(n1,length(k));
ZZmat1=zeros(n1,m1);
WWij=zeros(n,m);
WW=zeros(n,m,s);
for s =1:length(k)
WWij=zeros(n,m);
for i = 1:n
for j = 1:m
WWij(i,j)=exp(-k(s)*W(i,j));
if ( i~=j & WWij(i,j) > 0)
WWij(i,j)= WWij(i,j);
else
WWij(i,j)=0;
end %end if
end %end j
WW(:,:,s)=WWij;
end %end i
for p = 1:n1
[Xij_bar,GGI,ZZG,ZZ]=Getis_revised(WWij,Xij(p,:));
ZZmat(p,s)=ZZ;
ZZmat1(p,:)=Xij_bar;
end % end p
end %end s
ZZmat
Indexmat=zeros(n1,4);%3--->4
for i =1:n1
Indexmat(i,1)=i;
index=find(ZZmat(i,:)==max(ZZmat(i,:)));
Indexmat(i,2)=ZZmat(i,index);
Indexmat(i,3)=k(index);
Indexmat(i,4)=index; %Indexmat(i,3)=index;
end
Indexmat
%%%%%%%%%%
%%%%%%%%%case 2
dista=GeogDistance(yc,xc);
d=max(max(dista))
dista=dista/d
[n,m]=size(dista);
W=row_norm(dista)
k=40:0.1:50;
s=length(k);
ZZmat=zeros(n1,length(k));
ZZmat1=zeros(n1,m1);
WWij=zeros(n,m);
WW=zeros(n,m,s);
for s =1:length(k)
WWij=zeros(n,m);
for i = 1:n
for j = 1:m
WWij(i,j)=exp(-k(s)*W(i,j));
if ( i~=j & WWij(i,j) > 0)
WWij(i,j)= WWij(i,j);
else
WWij(i,j)=0;
end %end if
end %end j
WW(:,:,s)=WWij;
end %end i
for p = 1:n1
[Xij_bar,GGI,ZZG,ZZ]=Getis_revised(WWij,Xij(p,:));
ZZmat(p,s)=ZZ;
ZZmat1(p,:)=Xij_bar;
end % end p
end %end s
ZZmat
Indexmat=zeros(n1,4);%3--->4
for i =1:n1
Indexmat(i,1)=i;
index=find(ZZmat(i,:)==max(ZZmat(i,:)));
Indexmat(i,2)=ZZmat(i,index);
Indexmat(i,3)=k(index);
Indexmat(i,4)=index; %Indexmat(i,3)=index;
end
Indexmat
Indexmat =
1.0000 275.2452 43.7000 38.0000
2.0000 272.2491 44.5000 46.0000
3.0000 283.9725 45.1000 52.0000
4.0000 296.3250 45.4000 55.0000
5.0000 303.0755 46.6000 67.0000
6.0000 314.4640 46.5000 66.0000
7.0000 316.1042 45.1000 52.0000
8.0000 316.9693 45.2000 53.0000
9.0000 319.0838 45.2000 53.0000
10.0000 323.6744 45.3000 54.0000
11.0000 326.5613 45.6000 57.0000
12.0000 330.1633 45.7000 58.0000
13.0000 333.9460 45.7000 58.0000
14.0000 339.6418 45.6000 57.0000
15.0000 344.8175 45.5000 56.0000
16.0000 350.8192 45.5000 56.0000
17.0000 351.7772 45.4000 55.0000
18.0000 349.8736 45.0000 51.0000
19.0000 345.5357 44.7000 48.0000
20.0000 343.3499 44.2000 43.0000
21.0000 338.5056 41.8000 19.0000