- [x,y]=solver(‘f’,ts,x0,options)
- f表示由待解的微分方程编写的m函数文件名,要将微分方程写成标准形式
- solver 代表求解函数,常见函数有7种
- ts=[t0,tfinal]是求解区间
- x0表示函数的初始值
- options=odeset(‘reltol’,rt,’abstol’,at),rt at分别为设定的相对误差和绝对误差,默认为
10-3``和10-6
例1 一阶微分方程
求方程
的数值解,初始值
,
范围是[0,2]
df=@(x,y) y-2*x;
%[x,y]=ode45(df,[0,2],3)
sol=ode45(df,[0,2],3)
y=deval(sol,x)
例2 高阶微分方程
考虑初值问题
高阶常微分方程必须做变量替换,化成一阶微分方程组。
设,则有
把初值问题写成,其中
function dy=F(t,y)
dy=[y(2);y(3);3*y(3)+y(2)*y(3)];
end
[T,Y]=ode45(@F,[0,1],[0;1;-1])