ode45是求常微分方程的数值解的首选方法。
matlab提供了求常微分方程数值解的函数。当难以求得微分方程的解析解时,可以求其数值解.
matlab中求微分方程数值解的函数有七个:ode45,ode23,ode113,ode15s,ode23s,ode23t,ode23tb 。
ode45是解决数值解问题的首选方法,若长时间没结果,应该就是刚性的,可换用ode23试试
求解下面这个方程:
代码:
odefun=@(t,y) (y+3*t)/t^2; %定义函数
tspan=[1 4]; %求解区间
y0=-2; %初值
[t,y]=ode45(odefun,tspan,y0);
plot(t,y) %作图
title('t^2y''=y+3t,y(1)=-2,1<t<4')
legend('t^2y''=y+3t')
xlabel('t')
ylabel('y')
作图: