![]() |
[求助]请帮助完成答案
您好!
在学习中遇到找不到答案,请帮助! >> function c7fun7_2 %clear;clc; X10=[2.874 3.278 3.307 3.39 3.3679]; X20=[7.04 7.645 8.075 8.53 8.774]; Xn0=X20; %——调用函数求取GM(1,N)的参数 KK=c7fun72(X10,Xn0) a=KK(1);b=KK(2); %——对数列X20进行1次累加生成得到x21 m2=length(X20); s3=0; for jj=1:1:m2 X21(jj)=s3+X20(jj); s3=X21(jj); end %利用GM(1,N)进行预测,利用X21预测X11——标记为xx11 for k=1:1:m2-1 xx11(k+1)=(X10(1)-b/a*X20(k+1))*exp(-a*k)+b/a*X21(k+1); end %——对xx11进行逆累加生成 s4=0; xx10(1)=X10(1); for jj=2:1:m2 xx10(jj)=xx11(jj)-xx11(jj-1); end disp('GM(1,N)对数列1进行预测结果') xx10 disp('数列1原始观测数据');X10 %——求算GM(1,N)参数函数 function a=c7fun72(X10,Xn0) [n,m]=size(Xn0); %——1次累加生成 s1=0;s2([1:n],1)=0; for jj=1:1:m X11(jj)=s1+X10(jj); Xn1(:,jj)=s2+Xn0(:,jj);s1=X11(jj); s2=Xn1(:,jj); end %——建立矩阵B、yn for ii=1:1:m-1 B(ii)=-(X11(ii)+X11(ii+1))/2; end XN1=Xn1'; B=[B(:),XN1(2:m,1:n]; yn=X10([2:m])'; a=inv((B'*B))*B'*yn; |
回复: [求助]请帮助完成答案
请给出问题所在
方便我们直接 帮你调试 |
回复: [求助]请帮助完成答案
[QUOTE=zhanhuichong;14588]请给出问题所在
方便我们直接 帮你调试[/QUOTE] 你好! 我的问题是在命令中不能显示答案 |
回复: [求助]请帮助完成答案
[QUOTE=lishaomin;14596]你好!
我的问题是在命令中不能显示答案[/QUOTE] 请帮助怎样的命令才能显示 |
回复: [求助]请帮助完成答案
如果能将运行的步骤和结果告诉我,请发送[email protected]邮箱.谢谢!
|
回复: [求助]请帮助完成答案
|
回复: [求助]请帮助完成答案
这是运行结果
>> c7fun7_2 KK = 2.5837 1.0250 GM(1,N)对数列1进行预测结果 xx10 = 2.8740 5.8137 3.2135 3.3856 3.4809 数列1原始观测数据 X10 = 2.8740 3.2780 3.3070 3.3900 3.3679 |
回复: [求助]请帮助完成答案
原来的程序有两处错误:
disp('GM(1,N)对数列1进行预测结果'); (1) XN1=Xn1'; B=[B(:),XN1(2:m,1:n)]; (2) (1)处的右括号是中文模式下输入的,有误 (2)处少了个右括号 都是些小错误 |
回复: [求助]请帮助完成答案
[QUOTE=pslpsl;14824]原来的程序有两处错误:
disp('GM(1,N)对数列1进行预测结果'); (1) XN1=Xn1'; B=[B(:),XN1(2:m,1:n)]; (2) (1)处的右括号是中文模式下输入的,有误 (2)处少了个右括号 都是些小错误[/QUOTE] 请问:在命令窗口下输入c7fun_2为何不出结果? |
回复: [求助]请帮助完成答案
[QUOTE=pslpsl;14823]这是运行结果
>> c7fun7_2 KK = 2.5837 1.0250 GM(1,N)对数列1进行预测结果 xx10 = 2.8740 5.8137 3.2135 3.3856 3.4809 数列...[/QUOTE] 请问如何操作运行结果?我因是初学者想请教? |
回复: [求助]请帮助完成答案
把以下代码存为 c7fun7_2.m
存到工作目录 一般是work目录 [CODE] function c7fun7_2 %clear;clc; X10=[2.874 3.278 3.307 3.39 3.3679]; X20=[7.04 7.645 8.075 8.53 8.774]; Xn0=X20; %——调用函数求取GM(1,N)的参数 KK=c7fun72(X10,Xn0) a=KK(1);b=KK(2); %——对数列X20进行1次累加生成得到x21 m2=length(X20); s3=0; for jj=1:1:m2 X21(jj)=s3+X20(jj); s3=X21(jj); end %利用GM(1,N)进行预测,利用X21预测X11——标记为xx11 for k=1:1:m2-1 xx11(k+1)=(X10(1)-b/a*X20(k+1))*exp(-a*k)+b/a*X21(k+1); end %——对xx11进行逆累加生成 s4=0; xx10(1)=X10(1); for jj=2:1:m2 xx10(jj)=xx11(jj)-xx11(jj-1); end disp('GM(1,N)对数列1进行预测结果'); xx10 disp('数列1原始观测数据');X10 %——求算GM(1,N)参数函数 function a=c7fun72(X10,Xn0) [n,m]=size(Xn0); %——1次累加生成 s1=0;s2([1:n],1)=0; for jj=1:1:m X11(jj)=s1+X10(jj); Xn1(:,jj)=s2+Xn0(:,jj);s1=X11(jj); s2=Xn1(:,jj); end %——建立矩阵B、yn for ii=1:1:m-1 B(ii)=-(X11(ii)+X11(ii+1))/2; end XN1=Xn1'; B=[B(:),XN1(2:m,1:n)]; yn=X10([2:m])'; a=inv((B'*B))*B'*yn; %EDIT BY [EMAIL="PSL@CSU"]PSL@CSU[/EMAIL] %QQ:547423688 %Email:[EMAIL="[email protected]"][email protected][/EMAIL] [/CODE] 在commend window输入 [CODE]>>c7fun7_2[/CODE] 回车 结果就出来了 或者在Editor中打开c7fun7_2.m 选择 [CODE]Debug--> Run[/CODE] 回到命令窗口就发现结果已经出来了 已发到你邮箱 |
回复: [求助]请帮助完成答案
[quote=lishaomin;14935]请问:在命令窗口下输入c7fun_2为何不出结果?[/quote]
c7fun7_2.m 必需放在工作目录 一般是work目录 如果你没改过的话 |
回复: [求助]请帮助完成答案
[QUOTE=pslpsl;14824]原来的程序有两处错误:
disp('GM(1,N)对数列1进行预测结果'); (1) XN1=Xn1'; B=[B(:),XN1(2:m,1:n)]; (2) (1)处的右括号是中文模式下输入的,有误 (2)处少了个右括号 都是些小错误[/QUOTE] function c7fun74 t=[2002 2003 2004 2005 2006 2007]; X10=[269751 2710156 270202 270202 272770 2777314 282783]/100 X20=[17675 250172 265415 239894 255345 260253]/100; X30=[566.9 756 761.3 681 590 1236]; X40=[812 1106 1108 1008 1177 1251]; global AA UU; U(4)=0;A(4,4)=0; kk1=c7fun73(X10);A(1,1)=-kk1(1);U(1)=kk1(1); kk2=c7fun72(X20,[X10;X30]);A(2,1)=kk2(2);A(2,2)=-kk2(1);A(2,3)=kk2(3); kk3=c7fun72(X20,X30);A(3,3)=-kk3(1);A(3,2)=kk3(2); kk4=c7fun73(X40);A(4,4)=kk4(1);U(4)=kk4(2); disp('估计出的系统预测模型系数-微分方程组系数') AA=A UU=U(:) %调用微分方程组的求解命令解微分方程组 t0=2002;tf=2016; y0=[269.751;176.75;566.9;812]; [tt,xx]=ode15s(@c7fun74,[t0,tf],y0); plot(tt,xx(:,1),'b-^',tt,xx(:,2),'b-o',tt,xx(:,3),'b-*',tt,xx(:,4),'b-p'); legend('人口-预测/100','粮食消费-预测/100','畜牧业产值-预测','粮食亩产-预测'); xlabel('年份');ylabel('预测值');hold on; function dxt =c7fun74(t,x) global AA UU; dxt=AA*[x(1);x(2);x(3);x(4)]+UU; 请帮助解决以下问题 ??? Error: File: c7fun74.m Line: 19 Column: 35 Unbalanced or unexpected parenthesis or bracket. |
回复: [求助]请帮助完成答案
[CODE]
function c7fun7_4 t=[2002 2003 2004 2005 2006 2007]; %X10=[269751 2710156 270202 270202 272770 2777314 282783]/100 %此处多一个数据,需要把多的删去 X10=[269751 2710156 270202 272770 2777314 282783]/100; X20=[17675 250172 265415 239894 255345 260253]/100; X30=[566.9 756 761.3 681 590 1236]; X40=[812 1106 1108 1008 1177 1251]; global AA UU; U(4)=0;A(4,4)=0; kk1=c7fun73(X10);A(1,1)=-kk1(1);U(1)=kk1(2); kk2=c7fun72(X20,[X10;X30]); A(2,1)=kk2(2); A(2,2)=-kk2(1); A(2,3)=kk2(3); kk3=c7fun72(X20,X30);A(3,3)=-kk3(1);A(3,2)=kk3(2); kk4=c7fun73(X40);A(4,4)=kk4(1);U(4)=kk4(2); disp('估计出的系统预测模型系数-微分方程组系数') AA=A UU=U(:) %EDIT BY [EMAIL="PSL@CSU"]PSL@CSU[/EMAIL] %QQ:547423688 %Email:[EMAIL="[email protected]"][email protected][/EMAIL] %——求算GM(1,N)参数函数 function a=c7fun72(X10,Xn0) [n,m]=size(Xn0); %——1次累加生成 s1=0;s2([1:n],1)=0; for jj=1:1:m X11(jj)=s1+X10(jj); Xn1(:,jj)=s2+Xn0(:,jj); s1=X11(jj); s2=Xn1(:,jj); end %——建立矩阵B、yn for ii=1:1:m-1 B(ii)=-(X11(ii)+X11(ii+1))/2; end XN1=Xn1';B=[B(:),XN1(2:m,1:n)]; yn=X10([2:m])'; a=inv((B'*B))*B'*yn; %——求算GM(1,1)参数函数 function au=c7fun73(X0) m=length(X0); %——1次累加生成 s1=0; for jj=1:1:m; X1(jj)=s1+X0(jj); s1=X1(jj); end %——建立矩阵B、y for ii=1:1:m-1; B(ii)=-(X1(ii)+X1(ii+1))/2; end B=[B(:),ones(m-1,1)]; y=X0([2:m])';au=inv((B'*B))*B'*y; [/CODE] |
回复: [求助]请帮助完成答案
:lol: 谢谢了
|
所有时间均为北京时间。现在的时间是 17:07。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.