第1个回答 2015-09-06
ODE方程组可以通过MATLAB的ode系列命令进行求解(ode23,ode45,ode15s,ode113,......),不同的算法代表不同的积分方法,具有不同的精度,适用于不同的场合,具体可参考有关Simulink求解器的选择方法,对于本题,若以ode45命令为例进行求解:
① 新建函数文件:f.m
function dX=f(t,X)
% X=[ x ]
% [ y ];
dX=[ 7.3*10^5*(X(1)/X(2))-1.88*10^4*(X(1)^2/X(2));
7.3*10^5-1.88*10^4*X(1)+10.69*X(1)*sqrt(2.1*10^6-X(2)) ];
保存。
② 在命令行运行以下命令:
[t,X]=ode45(@f,[0 10],[206.5 0.099])
(由于题设未给出,这里假定仿真10s,对应第二项 [0 10],即从0s至10s)
③ 绘图:
plot(t,X(:,1)) %绘制x(t)图像
plot(t,X(:,2)) %绘制y(t)图像
补充:1)本题函数的刚性较大,求解时可能出现复数,请校核函数表达式和初值,并选择恰当的积分方法;2)其它ode命令的使用方法类同,具体请参见help本回答被提问者和网友采纳