lishaomin
2008-08-14, 09:05
我是一名新手,在学习中遇到了操作问题,请问有哪位高手,能帮助我完成以下的程序操作,主要是不知如何操作才能运行出结果?如能帮助解决,请与0352-5359076 李女士联系
unction c7fun7_4
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=c7fun72(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(:)
%调用微分方程组的求解命令解微分方程组
t0=2002;tf=2016;
y0=[269.751;176.75;566.9;812];
[tt,xx]=ode15s(@c7fun74,[t0,tf],yO[]);
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;
unction c7fun7_4
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=c7fun72(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(:)
%调用微分方程组的求解命令解微分方程组
t0=2002;tf=2016;
y0=[269.751;176.75;566.9;812];
[tt,xx]=ode15s(@c7fun74,[t0,tf],yO[]);
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;