bpsample.m

来自「以某区水文数据为例」· M 代码 · 共 41 行

M
41
字号
p=[
  1520    510  5.155 33.88;1468 521  5.321 35.79;
  2412    1140 5.32  25.89;1750 129  4.7   23.8;
  1688    361  4.865 27.08;1607 489  5.1   28.9;
  1200    127  4.56  19.84;1990 148  4.89  29.373;
  1509    511  5.12  34.3;1730  133  4.46  23.06]';
t=[0.7     1.9;0.6     1.798;0.8 1.289;1 1.68;0.8 1.149;
  1.03 1.72;1.8 1.095;0.9   1.230;0.8 1.35;1.4 1.201]';
for i=1:4
     P(i,:)=(p(i,:)-min(p(i,:)))/(max(p(i,:))-min(p(i,:)));
end
for i=1:2
     A(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));
end
P_test=[P(:,1) P(:,3) P(:,5) P(:,7) P(:,8) P(:,10)];
A_test=[A(:,1) A(:,3) A(:,5) A(:,7) A(:,8) A(:,10)];
No=[9 12 15];
for i=1:3
    net=newff(minmax(P),[No(i),2],{'tansig','logsig'});
    net.trainParam.epochs=500;
    net=init(net);
    net=train(net,P,A);
    Temp=sim(net,P_test);
    y(2*i-1,:)=Temp(1,:);
    y(2*i,:)=Temp(2,:)
end
Y1=[y(1,:);y(2,:)];
Y2=[y(3,:);y(4,:)];
Y3=[y(5,:);y(6,:)];
for i=1:6
    error1(i)=norm(Y1(:,i)-A_test(:,i));
    error2(i)=norm(Y2(:,i)-A_test(:,i));
    error3(i)=norm(Y3(:,i)-A_test(:,i));
end
figure;
plot(1:6,error1,'.');
hold on;
plot(1:6,error2,'--');
hold on;
plot(1:6,error3,'+');
hold off;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?