常微分方程数值解

Euler方法

提出问题

对于以下一个常微分方程
y ′ ( x ) = f ( x , y ( x ) ) y ( a ) = y 0 \begin{aligned} &y'(x)=f(x,y(x))\\ &y(a)=y_{0} \end{aligned} y(x)=f(x,y(x))y(a)=y0
求出 y = f ( x ) y=f(x) y=f(x)的方程,画出它的曲线

解决问题

思路:模仿插值,找出n个样本点,通过样本点来刻画方程,画出曲线
过程:

  1. 有什么:初值 y 0 y_{0} y0,一阶导公式 y ′ ( x ) = f ( x , y ( x ) ) y'(x)=f(x,y(x)) y(x)=f(x,y(x))
  2. 怎么干:求出第二个点 y 1 y_{1} y1,我们在 x 0 x_{0} x0点处运用Taylor展开,得到 y ( x n + 1 ) = y ( x n ) + h f ( x n , y ( x n ) ) + h 2 2 y ′ ′ ( ξ ) , x n < ξ < x n + 1 y(x_{n+1})=y(x_{n})+hf(x_{n},y(x_{n}))+\frac{h^2}{2}y''(\xi),\\x_{n}<\xi<x_{n+1} y(xn+1)=y(xn)+hf(xn,y(xn))+2h2y(ξ),xn<ξ<xn+1
    所以 y 1 = y 0 + h f ( x 0 , y 0 ) y_{1}=y_{0}+hf(x_{0},y_{0}) y1=y0+hf(x0,y0),误差就是 h 2 2 y ′ ′ ( ξ ) \frac{h^2}{2}y''(\xi) 2h2y(ξ),将此误差称为截断误差。以此类推就可以求出所有 y i y_{i} yi

总结问题

  1. 上 面 的 方 法 就 是 向 前 E u l e r 方 法 , 将 h f ( x n , y ( x n ) ) 上面的方法就是向前Euler方法,将hf(x_{n},y(x_{n})) Eulerhf(xn,y(xn))改为 h f ( x n + 1 , y ( x n + 1 ) ) 就 是 向 后 E u l e r 方 法 hf(x_{n+1},y(x_{n+1}))就是向后Euler方法 hf(xn+1,y(xn+1))Euler
  2. 梯形方法
  3. 改进Euler方法

老师课堂作业

求出向后Euler方法余项

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值