- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
代码:%下面程序是灰色模型GM(1,1)程序二次拟合和等维新陈代谢改进预测程序,matlab6.5 ,使用本程序请注明,程序存储为gm1.m%x = [5999,5903,5848,5700,7884];gm1(x); 测试数据 %二次拟合预测GM(1,1)模型function gmcal=gm1(x)sizexd2 = size(x,2);%求数组长度k=0;for y1=x k=k+1; if k1 x1(k)=x1(k-1)+x(k); %累加生成 z1(k-1)=-0.5*(x1(k)+x1(k-1)); %z1维数减1,用于计算B yn1(k-1)=x(k); else x1(k)=x(k); endend%x1,z1,k,yn1sizez1=size(z1,2);%size(yn1);z2 = z1;z3 = ones(1,sizez1);YN = yn1; %转置%YNB=[z2 z3];au0=inv(B*B)*B*YN;au = au0;%B,au0,auafor = au(1);ufor = au(2);ua = au(2)./au(1);%afor,ufor,ua %输出预测的 a u 和 u/a的值constant1 = x(1)-ua;afor1 = -afor;x1t1 = x1(t+1);estr = exp;tstr = t;leftbra = (;rightbra = );%constant1,afor1,x1t1,estr,tstr,leftbra,rightbrastrcat(x1t1,=,num2str(constant1),estr,leftbra,num2str(afor1),tstr,rightbra,+,leftbra,num2str(ua),rightbra)%输出时间响应方程%******************************************************%二次拟合k2 = 0;for y2 = x1 k2 = k2 + 1; if k2 k else ze1(k2) = exp(-(k2-1)*afor); endend%ze1sizeze1 = size(ze1,2);z4 = ones(1,sizeze1);G=[ze1 z4];X1 = x1;au20=inv(G*G)*G*X1;au2 = au20;%z4,X1,G,au20Aval = au2(1);Bval = au2(2);%Aval,Bval%输出预测的 A,B的值strcat(x1t1,=,num2str(Aval),estr,leftbra,num2str(afor1),tstr,rightbra,+,leftbra,num2str(Bval),rightbra)%输出时间响应方程nfinal = sizexd2-1 + 1;%决定预测的步骤数5 这个步骤可以通过函数传入%nfinal = sizexd2 - 1 + 1;%预测的步骤数 1for k3=1:nfinal x3fcast(k3) = constant1*exp(afor1*k3)+ua;end%x3fcast%一次拟合累加值for k31=nfinal:-1:0 if k311 x31fcast(k31+1) = x3fcast(k31)-x3fcast(k31-1); else if k310 x31fcast(k31+1) = x3fcast(k31)-x(1); else x31fcast(k31+1) = x(1); end endendx31fcast%一次拟合预测值for k4=1:nfinal x4fcast(k4) = Aval*exp(afor1*k4)+Bval;end%x4fcastfor k41=nfinal:-1:0 if k411 x41fcast(k41+1) = x4fcast(k41)-x4fcast(k41-1); else if k410 x41fcast(k41+1) = x4fcast(k41)-x(1); else x41fcast(k41+1) = x(1); end endendx41fcast,x%二次拟合预测值%***精度检验p C**
文档评论(0)