切换科目
重点科目
主要科目
次要科目
科数网
首页
刷题
学习
VIP会员
赞助
组卷
集合
教材
VIP
写作
游客,
登录
注册
在线学习
常微分方程
第一篇 一阶微分方程
微分方程的求解-数值分析方法:欧拉方法
最后
更新:
2026-02-06 16:46
查看:
108
次
纠错
评论(0)
课件
开VIP
微分方程的求解-数值分析方法:欧拉方法
## 微分方程的求解-数值分析方法:欧拉方法 求微分方程初值问题 $$ \left\{\begin{array}{l} \frac{d y}{d t}=f(t, y) \\ y\left(t_0\right)=y_0 \end{array}\right. ...(1.4) $$ 的解,可以从初始条件 $y\left(t_0\right)=y_0$ 出发,按照一定的步长 $\Delta t$ ,依照某种方法逐步计算微分方程的近似解 $y_n \approx y\left(t_n\right)$ ,其中 $t_n=t_0+n \Delta t$ ,这样求出的解称为数值解.由于计算机的发展与普及,数值解及其相应的图形软件使得可以方便简洁地了解微分方程的解随时间及其参数变化时的形状,而不必求出解来.数值分析的方法已经成为分析微分方程解的不可或缺的有力工具。 ### 1.欧拉方法 大数学家欧拉曾简单地用差分代替微分,把初值问题(1.4)化为 $$ y_{n+1}=y_n+f\left(t_n, y_n\right) \Delta t, \quad t_n=t_0+n \Delta t $$ 称为**欧拉公式**.下面从几何直观上就欧拉方法具体描述. 首先从 $\left(t_0, y_0\right)$ 出发,第一步到达 $\left(t_1, y_1\right)$ ,其中 $t_1=t_0+\Delta t$ ,并且 $\left(t_1, y_1\right)$ 位于经过 $\left(t_0, y_0\right)$ 且以该点处斜率标记为方向的直线上,即斜率为 $f\left(t_0, y_0\right)$ 的直线上.其次,从 $\left(t_1, y_1\right)$ 出发,沿用上步到达 $\left(t_2, y_2\right)$ ,其中 $t_2=t_1+\Delta t$ ,并且 $\left(t_2, y_2\right)$ 位于 $\left(t_1, y_1\right)$ 开始的线段上,其斜率为 $f\left(t_1, y_1\right)$ ,这样一直做下去,由点 $\left(t_n, y_n\right)$ 决定下一个点 $\left(t_{n+1}, y_{n+1}\right), y_0, y_1, y_2, \cdots$ 可以看成对时刻 $t_0, t_1, t_2, \cdots$ 时的解的逼近。从几何图形上看,可以用这种方法生成连接 $\left(t_n, y_n\right)$ 和下一个点 $\left(t_{n+1}, y_{n+1}\right)$ 的小线段序列,如图 1.21 所示,而图 1.22 给出欧拉方法近似解与真实解的对比.  ### 2.用欧拉方法求方程 $\frac{ d y}{d t}=f(t, y)$ 逼近解的步骤 给定初始条件 $y\left(t_0\right)=y_0$ 和步长 $\Delta t$ ,通过点 $\left(t_n, y_n\right)$ 计算点 $\left(t_{n+1}, y_{n+1}\right)$ 的步骤如下: (1)利用微分方程来计算斜率 $f\left(t_n, y_n\right)$ ; (2)用公式 $t_{n+1}=t_n+\Delta t, y_{n+1}=y_n+f\left(t_n, y_n\right) \Delta t$ 计算 $\left(t_{n+1}, y_{n+1}\right)$ . 利用欧拉公式计算 $y_n(n=0,1,2, \cdots)$ ,除 $y_0$ 是精确值以外都是近似值,一直计算下去必然会产生积累误差.欧拉公式相当于将解 $y\left(t_{n+1}\right)=y\left(t_n+\Delta t\right)$ 用泰勒级数展开,只取一阶项,其局部截断误差为 $h^2$ 的常数倍, $$ \begin{aligned} y\left(t_{n+1}\right) & =y\left(t_n+\Delta t\right) \\ & =y\left(t_n\right)+y^{\prime}\left(t_n\right) \Delta t+\frac{y^{\prime \prime}\left(t_n\right)}{2!}(\Delta t)^2+\cdots \\ & =y_n+f\left(t_n, y_n\right) \Delta t+O\left((\Delta t)^2\right) \\ & =y_{n+1}+O\left((\Delta t)^2\right) \end{aligned} $$ 因此,欧拉公式的局部截断误差可写为 $$ y\left(t_{n+1}\right)-y_{n+1}=O\left((\Delta t)^2\right) $$ 一般来说,若一种算法的局部截断误差为 $O\left((\Delta t)^{p+1}\right)$ ,则称该算法具有 $p$ 阶精度.因此,欧拉方法具有一阶精度。 如果微分方程(1.4)的解取积分形式 $$ y(t)=y_0+\int_{t_0}^t f(t, y(t)) d t $$ 则利用定积分的梯形公式作近似计算可得 $$ \begin{aligned} y\left(t_{n+1}\right) & =y_n+\int_{t_n}^{t_{n+1}} f(s, y(s)) d s \\ & \approx y_n+\int_{t_n}^{t_{n+1}} \frac{1}{2}\left(f\left(t_n, y_n\right)+f\left(t_{n+1}, y_{n+1}\right)\right) d s \\ & =y_n+\frac{1}{2}\left(f\left(t_n, y_n\right)+f\left(t_{n+1}, y_{n+1}\right)\right)\left(t_{n+1}-t_n\right) \end{aligned} $$ 上式中含未知值 $y_{n+1}$ ,但其值可用欧拉公式来计算,即先用欧拉公式进行预测,再利用上述的梯形公式进行校正,计算公式为 $$ \bar{y}_{n+1}=y_n+f\left(t_n, y_n\right) \Delta t, \quad y_{n+1}=y_n+\frac{1}{2}\left(f\left(t_n, y_n\right)+f\left(t_{n+1}, \bar{y}_{n+1}\right)\right) \Delta t $$ 此方法称为**改进的欧拉方法**.下面来计算一下它的精度,取半步长的泰勒级数展开式 $$ \begin{aligned} y_{n+\frac{1}{2}}= & y\left(t_n+\frac{1}{2} \Delta t\right) \\ = & y\left(t_n\right)+\frac{1}{2} y^{\prime}\left(t_n\right) \Delta t+\frac{1}{8} y^{\prime \prime}\left(t_n\right)(\Delta t)^2+O\left((\Delta t)^3\right) \\ y_{n+1-\frac{1}{2}}= & y\left(t_{n+1}-\frac{1}{2} \Delta t\right) \\ = & y\left(t_{n+1}\right)-\frac{1}{2} y^{\prime}\left(t_{n+1}\right) \Delta t+\frac{1}{8} y^{\prime \prime}\left(t_{n+1}\right)(\Delta t)^2+O\left((\Delta t)^3\right) \end{aligned} $$ 及 $$ \begin{gathered} y^{\prime \prime}\left(t_{n+1}\right)=y^{\prime \prime}\left(t_n+\Delta t\right)=y^{\prime \prime}\left(t_n\right)+y^{\prime \prime \prime}(\xi) \Delta t, \quad \xi \in\left(t_n, t_n+\Delta t\right) \\ y_{n+\frac{1}{2}}=y_{n+1-\frac{1}{2}}, \quad y_n=y\left(t_n\right) \end{gathered} $$ 得 $$ y\left(t_{n+1}\right)=y\left(t_n\right)+\frac{1}{2}\left(f\left(t_n, y_n\right)+f\left(t_{n+1}, \bar{y}_{n+1}\right)\right) \Delta t+O\left((\Delta t)^3\right)=y_{n+1}+O\left((\Delta t)^3\right) $$ 其中, $\bar{y}_{n+1}$ 是由欧拉方法算出的 $y\left(t_{n+1}\right)$ 的近似值,而 $y_{n+1}$ 是由改进的欧拉方法计算的 $y\left(t_{n+1}\right)$ 的近似值,因此,改进的欧拉方法具有二阶精度. `例` 用欧拉方法和改进的欧拉方法在区间 $[0,1]$ 上计算下列初值问题: $$ \frac{d y}{d t}=y\left(1-y^2\right), \quad y(0)=2 $$ 取步长为 $\Delta t=0.1$ ,并与精确解对比,精确到万分位. 解 方程是变量分离方程,可求得初值问题的解为 $$ y(t)=\sqrt{\frac{4 e^{2 t}}{4 e^{2 t}-3}} . $$ 利用欧拉方法和改进的欧拉方法计算结果如表1.1所示.  
科数题库(单机版)
会议室预约系统(book)
今日还可看
0
篇 未注册用户每天查看4篇,
注册
用户每天8篇,
开通VIP
会员无限制查看。
免费注册
《高等数学》难点解析
高数教程
泰勒公式
切线与法线
切平面与法平面
驻点·拐点·极值点·零点
间断点
渐进线
瑕积分
欧拉方程
伯努利方程
Abel 收敛定理
偏导数的几何意义
偏导数的几何意义
梯度
数量场与向量场
多元函数极值
拉格朗日算子
通量与散度
环流量与旋度
格林公式
高斯公式
斯托克斯公式
三大公式比较
傅里叶级数
极坐标微元
点法式方程
变上限定积分
X型计算面积
Y型计算面积
微分的意义
渐近线
间断点
y''+py'+qy=f(x)方程
高斯
黎曼
傅里叶变换(复数)
拉普拉斯变换(复数)
《线性代数》难点解析
线代教程
近世代数对数学的整体思考
线性的意义
矩阵乘法(列视角)
矩阵乘法(行视角)
矩阵左乘
矩阵右乘
逆矩阵求解方程组
阶梯形矩阵的求法
方程组解的判定
四阶行列式的计算
线性变换的意义
线性空间
向量组的等价
线性空间的几何意义
基础解系的求法
施密特正交化
特征值与特征向量的意义
矩阵相似的几何意义
矩阵可对角化的理解
秩的意义(向量版)
秩的意义(方程版)
二次型的意义
《概率论与数理统计》难点解析
概率教程
置信区间与上a分位数
概率中的“取”与“放”
贝叶斯公式
全概率公式
泊松分布
指数分布
伽玛分布
二维密度图的意义
卷积的意义
相关系数的意义
k阶矩是与矩母函数
卡方分布的作用
单正态区间估计理解
假设检验理解
切比雪夫不等式
中心极限定理
上一篇:
一阶微分方程的几何意义及应用
下一篇:
微分方程解的存在性、唯一性及解对初值的连续相依性
本文对您是否有用?
有用
(
0
)
无用
(
0
)
赞助:
知乎 Mathhub
启明星
商务合作
赞助本站
科数网
是专业的数学网站,为您提供题库与教程 版权所有 禁止镜像
部分内容采用AI辅助生成,请注意识别
如果页面无法显示请联系 18155261033 或 983506039@qq.com