资源预览内容
第1页 / 共5页
第2页 / 共5页
第3页 / 共5页
第4页 / 共5页
第5页 / 共5页
亲,该文档总共5页全部预览完了,如果喜欢就下载吧!
资源描述
数学建模中常用的模型及程序:1 灰色预测:程序一:先建立 M 文件:function GM1=fungry1(x0)T=input(T=);x1=zeros(1,length(x0);B=zeros(length(x0)-1,2);yn=zeros(length(x0)-1,1);Hatx0=zeros(1,length(x0)+T);Hatx00=zeros(1,length(x0);Hatx1=zeros(1,length(x0)+T);epsilon=zeros(length(x0),1);omega=zeros(length(x0),1);for i=1:length(x0)for j=1:i x1(i)=x1(i)+x0(j);end end for i=1:length(x0)-1 B(i,1)=(-1/2)*(x1(i)+x1(i+1);B(i,2)=1;yn(i)=x0(i+1);end HatA=(inv(B*B)*B*yn for k=1:length(x0)+T Hatx1(k)=(x0(1)-HatA(2)/HatA(1)*exp(-HatA(1)*(k-1)+HatA(2)/HatA(1);end Hatx0(1)=Hatx1(1);for k=2:length(x0)+T Hatx0(k)=Hatx1(k)-Hatx1(k-1);end for i=1:length(x0)epsilon(i)=x0(i)-Hatx0(i);omega(i)=(epsilon(i)/x0(i)*100;end%x0,Hatx1,Hatx0,epsilon,omega,c=std(epsilon)/std(x0);p=0;for i=1:length(x0)if abs(epsilon(i)-mean(epsilon)0.95&c0.85&c0.70&c0.65 disp(The model is not good and the forecast is:),disp(Hatx0(length(x0)+T)else p0.65 disp(The model is bad and try again)end for i=1:length(x0)Hatx00(i)=Hatx0(i);end z=1:length(x0);plot(z,x0,-,z,Hatx00,:)text(2,x0(2),History data:real line)text(length(x0)/2,Hatx00(length(x0)/2,Simulation data:broken line)end 在 matlab 命令窗口中输入:x0=。;%原始数据矩阵 fungry1(x0);Matlab 命令窗口中将提示:T=这时输入1 将表示所得结果为从原始数据最后一个算起的第一个预测值,输入 2 表示。程序二:y=input(请输入数据 );n=length(y);yy=ones(n,1);yy(1)=y(1);名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 5 页 -for i=2:n yy(i)=yy(i-1)+y(i);end B=ones(n-1,2);for i=1:(n-1)B(i,1)=-(yy(i)+yy(i+1)/2;B(i,2)=1;end BT=B;for i=1:(n-1)YN(i)=y(i+1);end YM=YN;A=inv(BT*B)*BT*YM;a=A(1);u=A(2);t=u/a;for i=1:n-1 yyy(i+1)=(y(1)-t)*exp(-a*i)+t;end for i=1:n-1 y_y(i+1)=yyy(i+1)-yyy(i);名师资料总结-精品资料欢迎下载-名师精心整理-第 3 页,共 5 页 -end for i=1:n m(i)=abs(y_y(i)-y(i);end p=1:n;subplot(1,2,1),plot(p,y_y,p,y,r*),title(申请量 模拟曲 线)subplot(1,2,2),plot(m),title(误差曲线)t_n=input(请输入需要预测个数:);for i=0:t_n-1 q(i+1)=(y(1)-t)*exp(-a*i)+t;end ff(1)=q(1);for i=1:t_n-1 ff(i+1)=q(i+1)-q(i);end disp(vpa(ff,6)神经模型:P=1601 5421 1890 4439 1703 3232 376 1167 1897 3737 1807 1628 1723 2584 1551 2479 1199 4148 2449 2026 1690 3374 2015 2480 850 2249 1674 3666 2029;T=5421 1890 4439 1703 3232 376 1167 1897 3737 1807 1628 1723 2584 1551 2479 1199 4148 2449 2026 1690 3374 2015 2480 850 2249 1674 3666 2029 1238;%这样建立的是根据第一个月,预测第二个月的神经系统模型,P 中每一个对应于T 中每一个,而 T 中每一个是 P 中相对应的下一个月的数据名师资料总结-精品资料欢迎下载-名师精心整理-第 4 页,共 5 页 -net=newff(minmax(P),5 1,tansig purelin);Y=sim(net,P);plot(P,T,P,Y,o)net.trainParam.epochs=10000;net=train(net,P,T);Y=sim(net,P);plot(P,T,P,Y,o)x0=1601 5421 1890 4439 1703 3232 376 1167 1897 3737 1807 1628 1723 2584 1551 2479 1199 4148 2449 2026 1690 3374 2015 2480 850 2249 1674 3666 2029 1238;Y=sim(net,x0)%记下最后一个数据,作为7 月 1 号的x1=1601 5421 1890 4439 1703 3232 376 1167 1897 3737 1807 1628 1723 2584 1551 2479 1199 4148 2449 2026 1690 3374 2015 2480 850 2249 1674 3666 2029 1238,x0 的最后一个数据;Y=sim(net,x1)依次做下去,做到第x7 名师资料总结-精品资料欢迎下载-名师精心整理-第 5 页,共 5 页 -
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号