你可以从别人那里汲取某些思想,但必须|

ChrisNg

园龄:4年4个月粉丝:6关注:4

数学建模之欧拉算法(求解常微分方程)

数学建模之求解常微分算法

常微分方程

欧拉算法

定义

定义:在数学和计算机科学中,欧拉方法,命名自它的发明者莱昂哈德·欧拉,是一种一阶数值方法,用以对给定初值的常微分方程(即初值问题)求解。它是一种解决数值常微分方程的最基本的一类显型方法(Explicit method)。

欧拉法是常微分方程的数值解法的一种,其基本思想是迭代。其中分为前进的EULER法、后退的EULER法、改进的EULER法。所谓迭代,就是逐次替代,最后求出所要求的解,并达到一定的精度。误差可以很容易地计算出来。

非线性方程都是所谓“解不出来”的,即使是\(\frac{\mathrm{ d}y}{\mathrm{d}x}=y^2+x^2\)。对于用微分方程解决实际问题来说,数值解法是一个重要的手段。

公式推导

设微分方程为

\[\begin{cases} \frac{\mathrm{ d}y}{\mathrm{d}x}=f(x_n,y(x_n)),&a\leq x \leq b\\ y(a)=y_0 \end{cases} \]

  • 差商近似导数

    若用向前差商\(\frac{y(x_{n+1})-y(x_n)}{h}\)代替\(y'(x_n)\)带入微分方程\(\frac{\mathrm{ d}y}{\mathrm{d}x}=f(x_n,y(x_n))\)中,可得

    \[\frac{y(x_{n+1})-y(x_n)}{h} \approx f(x_n,y(x_n))\\ y(x_{n+1})=y(x_n)+hf(x_n,y(x_n)) \]

如果用\(y(x_n)\)的近似值\(y_n\)代入上式右端,所得结果作为\(y(x_{n+1})\)得近似值,记为\(y_{n+1}\),则有

\[y_{n+1}=y_n+hf(x_n,y_n),n=0,1,\cdots,N-1 \]

这样,微分方程的近似解可以通过求解下述式子来获得

\[\begin{cases} y_{n+1}=y_n+hf(x_n,y_n),& n=0,1,\cdots,N-1\\ y_0=y(a) \end{cases} \]

算法缺点

欧拉算法简单地取切线地端点作为起点来计算,当步数增多时,误差会因积累而越来越大。因此,欧拉算法一般不用于实际计算。

本文作者:ChrisNg

本文链接:https://www.cnblogs.com/chrisng/p/15117870.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   ChrisNg  阅读(1760)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起