Matlab使用ode45解微分方程组的基本问题,下面有一个简单的微分方程组求代码

d(X1)/dt=4X1+X2 ^2
d(X2)/dt=2*d(X1)/dt+5*X2
初始条件是X1=X2=0
要用ode45解这个微分方程组该怎么写代码呢?

建立myfun.m文件,把以下代码复制进去

function dx=myfun(t,x)
dx=zeros(2,1);
dx(1)=4*x(1)+x(2).^2;
dx(2)=8*x(1)+2*x(2).^2+5*x(2);

运行以下代码

t=[0 0.1];

x0=[1 1];

[tt,xx]=ode45('myfun',t,x0);

plot(tt,xx(:,1),'-',tt,xx(:,2),'-.')%画出两者图像

追问

请问dx=zeros(2,1)是什么意思呢?

追答

对dx初始化,生成2行1列的零矩阵

追问

不好意思,其实我想问的是为什么要把dx这样定义呢?

温馨提示:答案为网友推荐,仅供参考
相似回答