求大神帮忙 解释下这个BP神经网络MATLAB程序
clear;load('trnData1','trnData1');load('trnData2','trnData2');P=trnData1(:,1:3);%三维坐标...
clear;
load('trnData1','trnData1');
load('trnData2','trnData2');
P=trnData1(:,1:3);%三维坐标,按照列输入
T=trnData1(:,4);%高程异常
P1=trnData2(:,1:3);%带求三维坐标
T1=trnData2(:,4);%这个空这个吧,这个应该是预测值
P=P';
T=T';
P1=P1';
T1=T1';
for i=1:3;
P(i,:)=(P(i,:)-min(P(i,:)))/(max(P(i,:))-min(P(i,:)));
P1(i,:)=(P1(i,:)-min(P1(i,:)))/(max(P1(i,:))-min(P1(i,:)));
end;
for i=1:1;
T(i,:)=(T(i,:)-min(T(i,:)))/(max(T(i,:))-min(T(i,:)));
T1(i,:)=(T1(i,:)-min(T1(i,:)))/(max(T1(i,:))-min(T1(i,:)));
end;
threshold=[0 1;0 1;0 1];
net=newff(threshold,[6,1],{'tansig','logsig'},'trainbfg');
% net=newff(threshold,[6],{'tansig'},'trainbfg');
net.trainParam.show=600;
net.trainParam.epochs=100000;
net.trainParam.goal=0.000001;
net=train(net,P,T);
T2=sim(net,P1);
T3=sim(net,P);
figure(1);
[r,c]=size(P1);
[r1,c1]=size(P);
for i=1:c
x(i)=i;
end
for i=1:c1
y(i)=i;
end
plot(x,T1,'-k',x,T2,'*k');
legend('预测数据');
figure;
plot(y,T,'-k',y,T3,'*r');%利用已知模型重新计算已知数据
legend('拟合数据');
hold off;
% YC=T2'*4+1;%预测值
maxT=max(T(1,:));
minT=min(T(1,:));
for i=1;
T(i,:)=(T(i,:)-min(T(i,:)))/(max(T(i,:))-min(T(i,:)));
YC(i,:)=T2(i,:)*(maxT-minT)+minT;
end;
emsgbox('ok'); 展开
load('trnData1','trnData1');
load('trnData2','trnData2');
P=trnData1(:,1:3);%三维坐标,按照列输入
T=trnData1(:,4);%高程异常
P1=trnData2(:,1:3);%带求三维坐标
T1=trnData2(:,4);%这个空这个吧,这个应该是预测值
P=P';
T=T';
P1=P1';
T1=T1';
for i=1:3;
P(i,:)=(P(i,:)-min(P(i,:)))/(max(P(i,:))-min(P(i,:)));
P1(i,:)=(P1(i,:)-min(P1(i,:)))/(max(P1(i,:))-min(P1(i,:)));
end;
for i=1:1;
T(i,:)=(T(i,:)-min(T(i,:)))/(max(T(i,:))-min(T(i,:)));
T1(i,:)=(T1(i,:)-min(T1(i,:)))/(max(T1(i,:))-min(T1(i,:)));
end;
threshold=[0 1;0 1;0 1];
net=newff(threshold,[6,1],{'tansig','logsig'},'trainbfg');
% net=newff(threshold,[6],{'tansig'},'trainbfg');
net.trainParam.show=600;
net.trainParam.epochs=100000;
net.trainParam.goal=0.000001;
net=train(net,P,T);
T2=sim(net,P1);
T3=sim(net,P);
figure(1);
[r,c]=size(P1);
[r1,c1]=size(P);
for i=1:c
x(i)=i;
end
for i=1:c1
y(i)=i;
end
plot(x,T1,'-k',x,T2,'*k');
legend('预测数据');
figure;
plot(y,T,'-k',y,T3,'*r');%利用已知模型重新计算已知数据
legend('拟合数据');
hold off;
% YC=T2'*4+1;%预测值
maxT=max(T(1,:));
minT=min(T(1,:));
for i=1;
T(i,:)=(T(i,:)-min(T(i,:)))/(max(T(i,:))-min(T(i,:)));
YC(i,:)=T2(i,:)*(maxT-minT)+minT;
end;
emsgbox('ok'); 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询