"数学M²" 回顾第五弹之
微分方程数值解法
期末将至
同学们一定感到些许慌张很有信心吧
紧张的复习之余
本部又给大家奉上上期的讲座总结推文啦!
1 介绍我们之前已经学习过微分方程的通解,本次讲座讲的是数值解,希望我们能够将其运用到对数学建模模型问题数值模拟和数值结果分析中。
2 对常微分方程的数值解法常微分方程形如:
![bcab0256d08aa9a3a76dc7440d8631df.png](https://i-blog.csdnimg.cn/blog_migrate/cbab42cfdd3934c6bd8e14317ec47671.png)
MATLAB对常微分方程的求解是基于一阶方程进行的,通常采用Runge-Kutta方法,所对应的命令为ode(ordinary differential equation)。
其中ode23,ode45一般用于求解非时变常微分方程(包括非线性方程)。
另外ode23s,ode45tb,ode15s,ode113一般用于求解非线性,时常变微分方程。
我们重点介绍4阶Runge-Kutta法,因为一种很经典的解法,利用计算机仿真时应用。MATLAB对应命令为ode23,ode45 其计算流程图如下:
![ead0d4483165e96b7a6af52e12edb967.png](https://i-blog.csdnimg.cn/blog_migrate/9c0eaad04f750c78a0e25f4896ce48f7.png)
这样下面的值由前一值加上积分步长h和一个估算的斜率乘积共同决定。该斜率即下面斜率的加权平均:
K1:时间段开始时的斜率
K2:时间段中点的斜率,用K1来决定y值
K3:也是时间段中点斜率,但用K2来决定y值
K4:时间段终点斜率
注意:取平均时,中间的斜率有更大的权值
3 MATLAB 应用
以此题为例:
![f4b0d8601089bba3036795996e21f454.png](https://i-blog.csdnimg.cn/blog_migrate/ec2c19c46b5d02e07673ac8199f94dca.png)
相关代码如下:
![c3803dc3115dca09a7c7ea7d82845921.png](https://i-blog.csdnimg.cn/blog_migrate/b8f56d7a4db0d7c1511858b98a128b63.png)
最终图表为:
![1c0e942686828dea40567050edd4d679.png](https://i-blog.csdnimg.cn/blog_migrate/8addfdf647cd95de71f1ae241d2d5855.png)
本次的回顾到这里就结束啦
本学期的建模讲座也接近尾声了
感谢参加讲座和小课的小伙伴鸭
![a4d6caf9513017ab6e586d610f8f8f18.png](https://i-blog.csdnimg.cn/blog_migrate/8f4eb4dfea5b5a4de3f80c54f3cd47ed.jpeg)
![a72ac586dcd0b831bcb421e9f758fbc4.png](https://i-blog.csdnimg.cn/blog_migrate/fd189e6647593471418e08a3979c4861.jpeg)
扫码进群
观看建模讲座及小课回放
不来波关注再走嘛
![d719618a23d41e664262e7c0f345f626.png](https://i-blog.csdnimg.cn/blog_migrate/ed071ad29413bb01f15adc39859a4485.jpeg)
推文:戴其伟 罗旭