⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jiaotongyuce8888888888888.m

📁 交通负荷负荷预测
💻 M
字号:
p=[58478 135185 5.46 0.23 16.5 0.21 1005.3 585.44;
   67884 152369 5.46 0.27 18.7 0.26 1105.6 575.03;
   74462 182563 6.01 0.25 21.6 0.28 1204.6 601.23;
   78345 201587 6.12 0.26 25.8 0.29 1316.5 627.89;
   82067 225689 6.21 0.26 30.5 0.31 1423.5 676.95;
   89403 240568 6.37 0.28 34.9 0.33 1536.2 716.32;
   95933 263856 6.38 0.28 39.8 0.36 1632.6 765.24;
  104970 285697 6.65 0.30 42.5 0.39 1753.2 812.22;
  116694 308765 6.65 0.30 46.7 0.41 1865.5 875.26]';
t=[102569 52365 46251;
   124587 60821 56245;
   148792 69253 67362;
   162568 79856 78165;
   186592 91658 90548;
   205862 99635 98758;
   226598 109862 102564;
   245636 120566 111257;
   263595 130378 120356]';
%设定需要归一化的行序号
a=[1 2 3 5 7 8];
P=p;
%对输入相量进行归一化处理
for i=1:6
    P(a(i),:)=(p(a(i),:)-min(p(a(i),:)))/(max(p(a(i),:))-min(p(a(i),:)));
end
%对目标相量进行归一化处理
for i=1:3
    T(i,:)=(t(i,:)-min(t(i,:)))/(max(t(i,:))-min(t(i,:)));
end
%训练样本,P_train为输入相量,T_train为目标向量
P_train=[P(:,1) P(:,2) P(:,3) P(:,4) P(:,5) P(:,6) P(:,7)];
T_train=[T(:,1) T(:,2) T(:,3) T(:,4) T(:,5) T(:,6) T(:,7)];
%测试样本,P_test为输入相量,T_test为目标向量
P_test=[P(:,8) P(:,9)];
T_test=[T(:,8) T(:,9)];
for i=1:5
    net=newgrnn(P_train,T_train,i/10);
    %网络对训练数据的逼近
    temp=sim(net,P_train);
    j=3*i;
    y_out(j-2,:)=temp(1,:);
    y_out(j-1,:)=temp(2,:);
    y_out(j,:)=temp(3,:);
    %网络的预测输出
    temp=sim(net,P_test);
    y(j-2,:)=temp(1,:);
    y(j-1,:)=temp(2,:);
    y(j,:)=temp(3,:);
end
y1=[y_out(1,:);y_out(2,:);y_out(3,:)];
y2=[y_out(4,:);y_out(5,:);y_out(6,:)];
y3=[y_out(7,:);y_out(8,:);y_out(9,:)];    
y4=[y_out(10,:);y_out(11,:);y_out(12,:)];    
y5=[y_out(13,:);y_out(14,:);y_out(15,:)];  
y6=[y(1,:);y(2,:);y(3,:)];
y7=[y(4,:);y(5,:);y(6,:)];
y8=[y(7,:);y(8,:);y(9,:)];
y9=[y(10,:);y(11,:);y(12,:)];
y10=[y(13,:);y(14,:);y(15,:)];
%计算逼近误差
for i=1:7
    error1(i)=norm(y1(:,i)-T_train(:,i));
    error2(i)=norm(y2(:,i)-T_train(:,i));
    error3(i)=norm(y3(:,i)-T_train(:,i));
    error4(i)=norm(y4(:,i)-T_train(:,i));
    error5(i)=norm(y5(:,i)-T_train(:,i));
end
%计算预测误差
for i=1:2
    error6(i)=norm(y6(:,i)-T_test(:,i));
    error7(i)=norm(y7(:,i)-T_test(:,i));
    error8(i)=norm(y8(:,i)-T_test(:,i));
    error9(i)=norm(y9(:,i)-T_test(:,i));
    error10(i)=norm(y10(:,i)-T_test(:,i));
end
%绘制逼近误差曲线
figure(1)
plot(1:7,error1,'-*');
hold on;
plot(1:7,error2,'-+');
hold on;
plot(1:7,error3,'-h');
hold on;    
plot(1:7,error4,'-d');
hold on;    
plot(1:7,error5,'-o');
hold off;  
grid on;
%绘制预测误差曲线
figure(2)
plot(1:2,error6,'-*');
hold on;  
plot(1:2,error7,'-+');
hold on;      
plot(1:2,error8,'-h');
hold on;      
plot(1:2,error9,'-d');
hold on;      
plot(1:2,error10,'-o');
hold off;      
grid on;   














⌨️ 快捷键说明

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