华束师轮大学華EASTCHINANORMALUNIVERSITYEA第二讲常微分方程数值求解Euler 法与R-K法常微分方程组与高阶方程
第二讲 常微分方程数值求解 —— Euler 法与 R-K 法 —— 常微分方程组与高阶方程
主要内容Euler法与改进的Euler法算法分析:误差与收敛性Runge-Kutta 法一阶常微分方程组与高阶方程应用举例Matlab相关函数2
2 主要内容 ◼ Euler 法与改进的 Euler 法 ◼ 算法分析:误差与收敛性 ◼ Runge-Kutta 法 ◼ 一阶常微分方程组与高阶方程 ◼ 应用举例 ◼ Matlab 相关函数
初值问题考虑一维经典初值问题dyf(x,y)dxx e[a,b]y(a) = yo问题:如何计算v(b)的近似值?3
3 初值问题 0 ( , ) ( ) dy f x y dx y a y = = ◼ 考虑一维经典初值问题 x a b [ , ] 问题:如何计算 y(b) 的近似值?
Euler公式两边求积分可得" d="(x, ) dey(b) - y(a) = (~ f(x, y) dx(b) = y(a) + (" f(x, J) dx~ y(a) +(b-a)f(a, y(a)个左点矩形公式= y +(b-a)f(a, yo)Euler公式4
4 Euler 公式 ( , ) b b a a dy dx f x y dx dx = 两边求积分可得 ( ) ( ) ( , ) b a y b y a f x y dx − = ( ) ( ) ( , ) b a y b y a f x y dx = + + − y a b a f a y a ( ) ( ) ( , ( )) 左点矩形公式 0 0 = + − y b a f a y ( ) ( , ) Euler 公式
Euler法分割区间,在每个小区间上使用Euler公式,逐步递推=x?x.=axX1Zf(x)0bxaXi-1 Xi5
5 Euler 法 分割区间,在每个小区间上使用Euler 公式,逐步递推 f x( ) a xi−1 xi b x y o 0 x = 1 x 2 x n 1 x − n = x i 1 x − xi