常微分方程欧拉算法

合集下载

欧拉法求解微分方程

欧拉法求解微分方程

欧拉法求解微分方程
欧拉法是用来求解微分方程的一种常用方法,也是广义积分方法之一,它最早
由欧拉在19世纪40年代提出,因此又称为欧拉方法。

它可以用来求解非线性、非离散的常微分方程。

欧拉法的基本思想是把原来的微分方程变换为一个离散的差分方程,利用原来
的微分方程的性质,得到一个可以确定曲线参数的算法,用离散格点把原来的连续空间离散化,并将原来的无限分段曲线拆分成有限个离散点,以此求取曲线上某点的参数值。

欧拉法运用到求解微分方程中不仅具有很强的数学逻辑性,而且具有简洁明朗、表示方便且能够得到通用解的突出优势。

欧拉法应用于求解各类高等学校里的高数、物理等课程学生的数学解题技能,大大的提高了学生的数学分析理解能力,也使得学习者能够更好的利用自身的知识和技能,得到启发和解决问题的能力。

欧拉法是众多求解微分方程的方法中一种重要的数学理论和方法,不仅是许多
高等教育课程中重要的数学基础,也是高校学生解决各类数学问题时不可缺少的知识和技能。

常微分方程数值解法欧拉法

常微分方程数值解法欧拉法

)
f ( xn1, yn1)
hL
y(k ) n 1
yn1
L
hL
k 1
y(0) n 1
yn1
Q
hL 1,
y (k 1) n 1
yn1 (k
)
在迭代公式中取极限,有
yn1 yn h f ( xn1, yn1 ) 因此yn(k1)的极限就是隐式方程的解
几何意义
y
设已知曲线上一点 Pn (xn , yn ),过该 点作弦线,斜率为(xn+1 , yn +1 ) 点的 方向场f(x,y)方向,若步长h充分小, 可用弦线和垂线x=xn+1的交点近似 曲线与垂线的交点。
式。隐式公式不能直接求解,一般需要用Euler显式公式
得到初值,然后用Euler隐式公式迭代求解。因此隐式公
式较显式公式计算复杂,但稳定性好
y0 n1
yn
h
y(k 1) n1
yn
h
f (xn , yn )
f
( xn1 ,
y(k) n1
)
收敛性
y (k 1) n 1
yn1
h
f
( xn1,
y(k ) n 1
如何求解
解析解法:(常微分方程理论)
只能求解极少一类常微分方程;实际中给定的问题不一 定是解析表达式,而是函数表,无法用解析解法。
数值解法: 求解所有的常微分方程
计算解函数 y(x) 在一系列节点 a = x0< x1<…< xn= b
处的近似值 yi y( xi ) (i 1, ... , n)
y(xn1) y(xn ) hy(xn ) y(xn ) yn
y(xn1) yn1 yn h f (xn , yn )

常微分方程组数值解法

常微分方程组数值解法

常微分方程组数值解法一、引言常微分方程组是数学中的一个重要分支,它在物理、工程、生物等领域都有广泛应用。

对于一些复杂的常微分方程组,往往难以通过解析方法求解,这时候数值解法就显得尤为重要。

本文将介绍常微分方程组数值解法的相关内容。

二、数值解法的基本思想1.欧拉法欧拉法是最基础的数值解法之一,它的思想是将时间连续化,将微分方程转化为差分方程。

对于一个一阶常微分方程y'=f(x,y),其欧拉公式为:y_{n+1}=y_n+hf(x_n,y_n)其中h为步长,x_n和y_n为第n个时间点上x和y的取值。

2.改进欧拉法改进欧拉法是对欧拉法的改良,其公式如下:y_{n+1}=y_n+\frac{h}{2}[f(x_n,y_n)+f(x_{n+1},y_n+hf(x_n,y_n))] 3.四阶龙格-库塔方法四阶龙格-库塔方法是目前最常用的数值解法之一。

其公式如下:k_1=f(x_n,y_n)k_2=f(x_n+\frac{h}{2},y_n+\frac{h}{2}k_1)k_3=f(x_n+\frac{h}{2},y_n+\frac{h}{2}k_2)k_4=f(x_n+h,y_n+hk_3)y_{n+1}=y_n+\frac{h}{6}(k_1+2k_2+2k_3+k_4)其中,k_i为中间变量。

三、常微分方程组的数值解法1.欧拉法对于一个二阶常微分方程组:\begin{cases} y'_1=f_1(x,y_1,y_2) \\ y'_2=f_2(x,y_1,y_2)\end{cases}其欧拉公式为:\begin{cases} y_{n+1,1}=y_{n,1}+hf_1(x_n,y_{n,1},y_{n,2}) \\y_{n+1,2}=y_{n,2}+hf_2(x_n,y_{n,1},y_{n,2}) \end{cases}其中,x_n和y_{n,i}(i=1, 2)为第n个时间点上x和y_i的取值。

euler算法

euler算法

euler算法欧拉算法(Euler's method),也称为数值积分算法或者欧拉积分,是一种常用的数值积分算法,用于近似解常微分方程(ODE)的初值问题。

它是一种一阶显式数值积分算法,通过使用l-step近似直线来逼近解析解。

本文将介绍欧拉算法的基本原理、算法步骤以及其应用。

欧拉算法的基本原理是将微分方程转化为差分方程,通过逐步逼近解析解。

对于给定的初值问题y'(t) = f(t, y(t)),y(t0) = y0,其中f是一元函数,y是未知函数。

我们想要求解在区间[t0, tn]上的近似解y(ti),其中ti = t0 + i*h,h是步长。

具体的欧拉算法步骤如下:1. 将初始条件t0和y0代入未知函数f(t, y)中,计算f(t0, y0)得到f0。

2. 使用近似直线来逼近解析解,y(ti+1) ≈ y(ti) + h*f(ti, yi),其中h是步长。

3. 重复步骤2,直到得到近似解y(tn)。

欧拉算法的实现相对简单,但是由于使用了线性逼近,所以误差较大。

对于某些情况下误差不能太大的问题,欧拉算法可能不够准确,这时需要使用更高阶的数值积分算法。

欧拉算法的应用广泛,包括但不限于以下方面:1. 物理学:在物理学中,许多问题可以用ODE建模,比如牛顿第二定律、电路等。

欧拉算法可以用于求解这些物理问题的近似解。

2. 经济学:经济学中的许多问题也可以用ODE描述,如宏观经济模型、供需分析等。

欧拉算法可以用于求解这些经济问题的近似解。

3. 生物学:生物学研究中,很多问题需要建立数学模型,如生物种群的增长和竞争、药物代谢和毒性等。

欧拉算法可以用于求解这些生物问题的近似解。

4. 计算机图形学:计算机图形学中,欧拉算法可以用于模拟物体的运动,如粒子系统的模拟、刚体的模拟等。

5. 控制工程:控制工程中的系统动力学可以用ODE建模,欧拉算法可以用于分析系统的稳定性和响应特性。

总结来说,欧拉算法是一种常用的数值积分算法,用于近似解常微分方程的初值问题。

欧拉方程微分方程详解

欧拉方程微分方程详解

欧拉方程微分方程详解欧拉方程(Euler's equation)是一类具有特殊形式的二阶常系数线性微分方程。

它的一般形式为:ax^2 y'' + bxy' + cy = 0其中,a、b、c都是常数,且a不等于0。

欧拉方程是一种特殊的微分方程,它的解具有一定的特殊性。

下面我们将对欧拉方程的求解方法进行详细介绍。

首先,我们考虑求解形如x^m的解。

将x^m代入欧拉方程中,得到:a(m)(m-1)x^m + bm*x^m + cx^m = 0化简后得到:am(m-1)x^m + bmx^m + cx^m = 0整理得:am(m-1) + bm + c = 0这是一个关于m的二次方程,可以用求根公式来求解m的值。

当求解得到m的值时,我们就得到了一个形如x^m的解。

接下来,我们考虑求解形如x^m * ln(x)的解。

将x^m * ln(x)代入欧拉方程中,得到:a(m)(m-1)x^m * ln(x) + bmx^m * ln(x) + cx^m * ln(x) = 0将x^m分离出来,得到:x^m * [a(m)(m-1)ln(x) + bm ln(x) + c] = 0由于x不等于0,所以要使上式成立,必须有:a(m)(m-1)ln(x) + bm ln(x) + c = 0这是一个关于m的一次方程,可以用求解一次方程的方法来求解m的值。

当求解得到m的值时,我们就得到了一个形如x^m * ln(x)的解。

最后,我们考虑求解形如x^m * ln^2(x)的解。

将x^m * ln^2(x)代入欧拉方程中,得到:a(m)(m-1)x^m * ln^2(x) + bmx^m * ln^2(x) + cx^m * ln^2(x) = 0将x^m分离出来,得到:x^m * [a(m)(m-1)ln^2(x) + bm ln^2(x) + c] = 0由于x不等于0,所以要使上式成立,必须有:a(m)(m-1)ln^2(x) + bm ln^2(x) + c = 0这是一个关于m的二次方程,可以用求解二次方程的方法来求解m的值。

常微分方程-欧拉(Euler)方程

常微分方程-欧拉(Euler)方程

à
(2.1)
à DZ Euler à Ôa ,a ,··· ,a DZ dx =x xDZ t ø x=e à dt
0 1 n t n n−1 d y d y dy n n−1 a0 x + a1 x + · · · + an−1 x + an y = f (x) n n − 1 dx dx dx
a0 = 0
∞ ∞
ùÒ 2.1
 p (x ) Ãà
y + p (x )y + q (x ) = 0 q (x )
∞ n=0
à
¿ (−R, +R)
q (x ) =
p (x ) =
(2.7)

pn xn ,
∞ n=0
Ñ þ
q n xn
è è
:
(2.7)
µDZ ð á
Ñ ¿ (−R, +R) þ æù ß´ù Ã R=∞
∞ ∞ k=0 ∞ k=0
µ
ak xk
y =
k=1 ∞
kak xk−1 =
(k + 1)ak+1 xk
∞ k=0
y =
k (k + 1)ak+1 xk−1 =
(k + 1)(k + 2)ak+2 xk
ã ¦à
k=1

a0 + 2a2 +
k=1
(ak + kak + (k + 1)(k + 2)ak+2 )xk = 0
à
y + p (x )y + q (x )y = f (x )
(2.3)
à à

欧拉方程-

欧拉方程-

欧拉方程欧拉方程是微积分学中经常被用到的一类常微分方程,它的形式是:y^(n) + a1y^(n-1) + ... + an-1y' + any = f(x)其中,y^(n)表示y对x的n次导数,a1,a2,...,an-1,an为常数,f(x)是已知的函数。

欧拉方程的命名来源于瑞士数学家欧拉,他在1732年的一篇论文中首次研究了这种类型的方程。

欧拉方程的求解方法通常分为两种,一种是通过设定形式解的方式求解,另一种是通过变量替换的方式将欧拉方程转化为常系数线性微分方程来求解。

下面分别介绍这两种求解方法。

一、设定形式解的方式求解欧拉方程通过设定形式解的方式,可以求出欧拉方程的通解,常见的形式解如下:1. 当方程系数满足a1=a2=...=an-1=0时,特解可设为y = C1x^n +C2x^n∙lnx + ... + Cnxln^(n-1)x。

2. 当方程系数满足an≠0时,特解可设为y = x^λ(C1cos(ωlnx) +C2sin(ωlnx))。

二、通过变量替换的方式求解欧拉方程通过对欧拉方程的变量替换,可以将欧拉方程转化为常系数线性微分方程,从而用已知的求解方式进行求解。

通常采用的变量替换方式是x=et,即令t=lnx,y(x)=u(t)∙etλ,然后将y'、y''、...、y^(n)用u(t)、u'(t)、...、u^(n)(t)进行表示,将欧拉方程中的y用u(t)∙etλ来替代,最终得到形如下式的常系数线性微分方程:u^(n) + (a1-λ)a1u^(n-1) + ... + (an-1-λan-1)u' + (an-λan)u = e^(-λt)f(et)其中,f(et)=f(x)是原方程右侧的函数经过变量替换后得到的函数。

最后,在求解出常系数线性微分方程的解后,通过将u(t)∙etλ代入y(x)=u(t)∙etλ中,再将x=et代回到原方程中,就可以得到欧拉方程的通解。

欧拉公式求解常微分方程数值解培训教材

欧拉公式求解常微分方程数值解培训教材

例:用欧拉法解初值问题
y=yxy2(0x0.6)
y(0)=1
取步长 h = 0.2.计算过程保留4位小数.
解:f(x,y)=-y-xy2 , h = 0.2,由欧拉公式得
yk+ 1=yk+h(fxk,yk)=ykhky hkx yk 2 =0.2yk(4xkyk)k(=0,1,2)
故y(0.2)y1=0.2×1(4-0×1)=0.800 0 y(0.4)y2=0.2×0.8×(4-0.2×0.8)=0.614 4 y(0.6)y3=0.2×0.614 4×(4-0.4×0.4613)=0.800 0
Step 2: 将 K2 代入第1式,得到 y i+ 1 = y i+ h1 y ( x i) + 2 [ y ( x i) + p y ( h x i) + O ( h 2 )] = y i+ (1 + 2 ) h y ( x i) + 2 p 2 y h ( x i) + O ( h 3 )
f y ( x, f y ( x,
y) y)
dy dx f (x,
y)
K 2= f(x i+ p,y h i+ p1 h ) K = f(x i,y i)+ px h (x i,y fi)+ p1 h fy (x K i,y i)+ O (h 2 ) = y (x i)+ py h (x i)+ O (h 2 )
例1:用预报-校正公式求解初值问题
y
+y+
y
sinx=
y() =
取步长 h = 0.2,计算 y(1.2), y(1.4)的近似值,计算过程保
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常微分方程欧拉算法
Company Document number:WUUT-WUUY-WBBGB-BWYTT-1982GT
常微分方程欧拉算法
摘要:本文主要论述了常微分方程的欧拉算法的算法原理,误差分析,实例,程序,以及算法比较等内容。

关键词:常微分方程 显式欧拉法 隐式欧拉法
引言:微分方程初值问题模型是常见的一类数学模型。

对于一些简单而典型的微分方程模型,譬如线性方程、某些特殊的一阶非线性方程等是可以设法求出其解析解的,并有理论上的结果可资利用。

但在数学建模中碰到的常微分方程初值问题模型,通常很难,甚至根本无法求出其解析解,而只能求其近似解。

因此,研究其数值方法,以便快速求得数值鳃有其重大意义。

一、欧拉算法原理
对于微分方程初值问题
的解在xy 平面上是一条曲线,称为该微分方程的积分曲线。

积分曲线上一点(),x y 的切线斜率等于函数f 在点(),x y 的值,从初始点()000,P x y 出发,向该点的切线方向推进到下一个点()111,P x y ,然后依次做下去,得到后面的未知点。

一般地,若知道(),n n n P x y 依上述方法推进到点()111,n n n P x y +++,则两点的坐标关系为:

这种方法就是欧拉(Euler )方法(也叫显式欧拉法或向前欧拉法)。

当初值0y 已知,则n y 可以逐步算出 对微分方程()=x y dy f dx
,从n x 到1n x +积分,那么有 现在用左矩形公式()(),n n hf x y x 代替()()1
,n n x x f t y t dt +⎰,n y 代替()n y x ,1n y +代替()
1n y x +就得到了欧拉方法。

如果用右矩形公式()()11,n n hf x y x ++去代替右端积分,则得到另外一
个公式,该方法就称为隐式欧拉法(或后退欧拉法),其公式为
欧拉公式与隐式欧拉公式的区别在于欧拉公式是关于1n y +的一个直接计算公式,然而隐式欧拉公式右端含有1n y +,所以它实际上是关于1n y +的一个函数方程。

二、实例
例 取h=,用Euler 方法解
解 如果用Euler 法,代入得
MATLAB 绘制图像如下:
三、误差分析
初值问题的单步法可以写成如下统一形式
其中ϕ和f 有关,若ϕ中不含1n y +,则方法是显式的,否则是隐式的,所以一般显示单步法表示为:
例如在Euler 方法中,有()(),,,x y h f x y φ=,对于不同的方法中,计算值1n y +与准确值()n y x 的误差各不相同。

所以有必要讨论方法的截断误差,我们称()n n n e y x y =-为某一方法在n x 点的整体截断误差。

显然,n e 不但与n x 这步的计算有关,所以误差被称为整体的。

分析和估计整体截断误差n e 是复杂的,为此,我们假设n x 处的1n y +没有误差,即()n n y y x =,考虑从n x 到1n x +这一步的误差,这就是如下的局部误差的概念。

()()()()()1111,,,,n n n n n n n T y x y x h x x y x y x h φ++++=--为单步法的局部截断误差。

四、算法程序
现用matlab 编程,程序如下
f .m
function f=f(x,y)
f=-y+x+1;
>>[x,y]=myeuler('f',0,1,1); %利用程序求解方程
>> y1=x+exp(-x); %方程f=-y+x+1的精确解
>>plot(x,y,'-b',x,y1,'-r') %在同一图窗将欧拉法解和精确解的图画出
>> legend('欧拉法','精确解')
五、算法比较。

,,11)(0=+-=y y x y x f
由表可以看出:当A≤0.1时,欧拉法稳定,欧拉预测校正法也稳定。

当h=O.2时,欧拉法和欧拉预测校正法都不稳定,计算结果严重偏离精确法。

要想计算结果充分接近于解析解还需取较小的h值,可以看出,h越小,计算结果越好。

对于梯形法,理论上讲对于任何五值都稳定,但明显看出,要保证有较高的精度,也必须取较小的办值。

另外,由表可见,两个二阶方法精度也较高。

结论:将数值解和解析解进行比较,很容易对欧拉法的三种不同算法的精度进行比较,其中改进欧拉法在这三种近似数值法的精度是最高的。

欧拉法的数值求解不仅减小了数值计算的工作强度,而且提高了它的运算速度。

这种方法对常微分方程初值问题的近似值求解和理论分析均具有一定的参考价值。

参考文献:
[1]徐萃徽。

孙绳武,计算方法引论(第二版)北京:高等教育出版社,2002.1
[2]冯康.数值计算方法口订]杭州:浙江大学出版社,2003
[3]胡健伟汤怀民.微分方程数值解法(第二版).北京;科学出版社.2007
[4]蔡大用擞值分析与实验呻】.北京:清华大学出版社,2001
[5]李立康,於祟华,朱政华.微分方程数值解法[M】.上海:复旦大学出版社,1999
[6]C.w|吉尔常微分方程初值问题的数值解法【M】.费景高译.北京;科学出版社,1978。

相关文档
最新文档