MATLAB利用ode求解二阶微分方程

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

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’’ 的解,这里不一一列出,具体过程参考程序

==================================================

运行结果如下:
在这里插入图片描述

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值