数学建模中常用的模型,及程序_第1页
数学建模中常用的模型,及程序_第2页
数学建模中常用的模型,及程序_第3页
数学建模中常用的模型,及程序_第4页
数学建模中常用的模型,及程序_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、数学建模中常用的模型及程序:1灰色预测:程序一:先建立M文件:function GM1=fungry1(x0T=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(x0for j=1:ix1(i=x1

2、(i+x0(j;endendfor i=1:length(x0-1B(i,1=(-1/2*(x1(i+x1(i+1;B(i,2=1;yn(i=x0(i+1;endHatA=(inv(B'*B*B'*ynfor k=1:length(x0+THatx1(k=(x0(1-HatA(2/HatA(1*exp(-HatA(1*(k-1+HatA(2/HatA(1; endHatx0(1=Hatx1(1;for k=2:length(x0+THatx0(k=Hatx1(k-Hatx1(k-1;endfor i=1:length(x0epsilon(i=x0(i-Hatx0(i;omega

3、(i=(epsilon(i/x0(i*100;end%x0,Hatx1,Hatx0,epsilon,omega,c=std(epsilon/std(x0;p=0;for i=1:length(x0if abs(epsilon(i-mean(epsilon<0.6745*std(x0p=p+1;endendp=p/length(x0if p>0.95 & c<0.35disp('The model is good and the forecast is :',disp (Hatx0(length(x0+Telseif p>0.85 & c&

4、lt;0.5disp('The model is eligibility and the forecast is :',disp (Hatx0(length(x0+Telseif p>0.70 & c<0.65disp('The model is not good and the forecast is :',disp (Hatx0(length(x0+Telse p<=0.70 & c>0.65disp('The model is bad and try again 'endfor i=1:length(

5、x0Hatx00(i= Hatx0(i;endz=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将表示所得结果为从原始数据最后一个算起的

6、第一个预测值,输入2表示。程序二:y=input('请输入数据 'n=length(y;yy=ones(n,1;yy(1=y(1;for i=2:nyy(i=yy(i-1+y(i;endB=ones(n-1,2;for i=1:(n-1B(i,1=-(yy(i+yy(i+1/2;B(i,2=1;endBT=B'for i=1:(n-1YN(i=y(i+1;endYM=YN'A=inv(BT*B*BT*YM;a=A(1;u=A(2;t=u/a;for i=1:n-1yyy(i+1=(y(1-t*exp(-a*i+t; endfor i=1:n-1y_y(i+1=y

7、yy(i+1-yyy(i;endfor i=1:nm(i=abs(y_y(i-y(i;endp=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-1q(i+1=(y(1-t*exp(-a*i+t;endff(1=q(1;for i=1:t_n-1ff(i+1=q(i+1-q(i;enddisp(vpa(ff,6神经模型:>> P=1

8、601 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;%这样建

9、立的是根据第一个月,预测第二个月的神经系统模型,P中每一个对应于T中每一个,而T中每一个是P中相对应的下一个月的数据>> net = newff(minmax(P,5 1,'tansig' 'purelin'>> Y = sim(net,P;>> plot(P,T,P,Y,'o'>> 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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论