A= xlsread(['test.xls'],'sheet1','A2:N352');
A=A';
Ai=A;
%归一化。
for k=1:351
if Ai(6,k)>180
Ai(6,k)=Ai(6,k)-180;
end
if Ai(14,k)>180
Ai(14,k)=Ai(14,k)-180;
end
end
for i=3:14
Ai(i,:)=(Ai(i,:)-min(Ai(i,:)))/(max(Ai(i,:))-min(Ai(i,:)));
end
I=[];
for i=1:6
I(i,:)=(Ai(i+2,:)+Ai(i+8,:))/2;
end
P=I(:,1:2:end);
Tx=Ai(1,1:2:end);
test=I(:,2:2:end);
x0=A(1,2:2:end);
Ty=Ai(2,1:2:end);
y0=A(2,2:2:end);
netx=newgrnn(P,Tx,0.22);
nety=newgrnn(P,Ty,0.18);
X=sim(netx,test);
Y=sim(nety,test);
Xerr=X-x0;
Yerr=Y-y0;
plot(Xerr);
ylabel('X坐标误差');
figure;
plot(Yerr);
ylabel('Y坐标误差');
figure;
plot(X,Y,'.b');
grid on;
xlabel('X');
ylabel('y');
title('绿色点为网络输出,红点为实际坐标值,平滑参数SPREAD=0.4')
hold on;
plot(x0,y0,'.r');
plot(640,898,'*r')