MATLAB利用ode45求解二阶微分方程
==================================================
求解微分方程为:

==================================================
MATLAB的m文件代码如下:
function xp=order1(t,x)
xp=zeros(2,1); %x1=y,x2=y'
xp(1)=x(2);
xp(2)=(200*t-0.5*(x(2))^2)/(20*t);
end
==================================================
在命令行中调用代码如下:
[t,x]=ode45(‘order1’,[1 40],[0 0]);
figure;
plot(t,x(:,1),‘r’);
==================================================
这是一套固定思路,因ode45只能对y’=f(t,y)形式的函数求解,故做变化:

这样变化以后,就可以求解二阶微分方程了。
用 plot(t,x(:,1)) 和 plot(t,x(:,2)) 可以分别显示 y’ 和 y’’ 的解,这里不一一列出,具体过程参考程序
==================================================
运行结果如下:

本文介绍了使用MATLAB的ode45函数求解二阶微分方程的方法。由于ode45只能求解y’=f(t,y)形式的函数,因此需要对二阶微分方程进行变换。文中给出了m文件代码和命令行调用代码,运行后可用plot函数显示解。
3824

被折叠的 条评论
为什么被折叠?



