Euler法与改进Euler法知识讲解


yn1 yn dy h dx
常用方法
(2) 用数值积分近似积分
dy xn1
xn1
dx f ( x, y)dx (n 0,1, )
xn dx
xn

y( xn1) y( xn )
xn1 f ( x, y( x))dx
xn
进一步: 令 yn1 y( xn1) , yn y( xn )
xn x0 nh, n 0,1,2 .
二、建立数值解法的常用方法
建立微分方程数值解法,首先要将微分方程离散化.
一般采用以下几种方法: (1) 用差商近似导数
dy
y xn1 yxn
xn1 xn
f xn , y(xn )
dx x y , n n
进一步 : 令 yn1 y(xn1) , yn y(xn )
y0 ( x x0 ) f ( x0 , y0 )
dx x y , 0 0
几何意义
等步长为h,则 x1 x0 h,可由切线算出y1 : y1 y0 hf(x0 , y0)
逐步计算出y
y( x)

xn

1



yn1 yn hf(xn , yn) n 0,1,2,
注意:这是“折线法”而非“切线法” y 除第一个点是曲线切线外,其他点不是!
能用解析方法求出精确解的微分方程为数不多, 而且有的方程即使有解析解,也可能由于解的表达 式非常复杂而不易计算,因此有必要研究微分方程 的数值解法
常微分方程数值解法
重点 研究一阶常微分方程的初值问题的数值解
其一般形式为:
dy
dx
f (x, y)
y( x0 ) y0
a xb
(1)
假定
函数f ( x, y)连续, 且关于y满足利普希茨(Lipsc) L y y .
这样由常微分方程的理论知 :
初值问题(1) 解y y( x)存在并且唯一.
常微分方程数值解法
初值问题数值解的提法
所谓数值解法,就是寻求解y( x)在一系列离散节点 a x0 x1 x2 xn xN b
上的近似值 y0 , y1, y2 , yn , yN 相邻两个节点的间距hn xn1 xn称为步长。 如不特别说明,总是假定hi h(i 0,1,2 )为定数,
进一步: 令 yn1 y( xn1) , yn y( xn )
yn1 yn hf ( xn , yn )
h2
y( xn1 ) yn1
2
max y''( x)
a xb
三、Euler方法
已知初值问题的一般形式为:
dy
dx
f (x, y)
y( x0 ) y0
a xb
(1)
用差商近似导数 问题转化为
Y=y(x)
a
x 1 χx0
χ1χ2
2
χ3
b
χ
五、Euler方法的误差估计
为简化分析,先考虑计算一步所产生的误差,即假设
yn y(xn) 是精确的, 估计误差 R n1y(xn1)yn1
这种误差称为局部截断误差。 估计截断误差的主要方法是Taylor展开法,即将函数
y( x) 在 x n 处展开:
作等价变换,有
:
K1
f (xn , yn )
y(0) 1
四、几何意义
由 x0 , y0 出发取解曲线 y yx 的切线(存在!),则斜率
dy f x0, y0
dx x y
,
0
0
由于 f x0, y0 及 x0, y0 已知,必有切线方程。
由点斜式写出切线方程:
y y0 x x0 dy
yn1 yn dy
h
dx
yn1 yn hf ( xn , yn )
y
0
y( x0 )
(n 0,1,2,3,...)
Euler方法的迭代公式
Euler方法
yn1 yn hf ( xn , yn )
y
0
y( x0 )
(n 0,1,2,3,...)
令 K1f(xn,yn)
yn1 yn hK1
xn
2 [ f ( xn , yn ) f ( xn1 , yn1 )]
yn1
yn
h 2
[
f
(
xn
,
yn
)
f ( xn1,
yn1 )]
梯形方法为隐式算法
解决方法:有的可化为显格式,但有的不行
改进的Euler方法
与Euler法结合,形成迭代算法,对n 0,1,2,
注:Euler方法具有一阶精度,因此它的精度不高。
改进的Euler方法

改进的Euler方法
改进的Euler方法
已知初值问题的一般形式为:
dy
f (x,
y)
dx
y( x0 ) y0
a xb
(1)
利用数值积分将微分方程离散化得梯形公式:
y( xn1 ) y( xn ) h
xn1 f ( x, y( x))dx
Euler法与改进Euler法
主要内容
主要内容: 一、 引 言 二、 建立数值解法的常用方法 三、 Euler方法 四、 几何意义 五、 Euler方法的误差估计 六、 改进欧拉法 七、四阶龙格库塔法 七、程序设计要求
一、引 言
许多实际问题的数学模型是微分方程或微分方 程的定解问题,如物体运动,电路震荡,化学反映及 生物群体的变化等.
得Euler方法的局部截断误差公式为
R n 1y(xn 1)yn 11 2h2y()
结论:上式说明Euler公式的局部截断误差为 O (h 2 ) 它的精度很差。
一般很少用它来求近似值,但是Euler法 却体现了数值方法的基本思想。
定义8.1 如果某种数值方法的局部截断误差为 O ( h p 1 ) ,则称该方法是p阶方法或 具有p阶精度。显然p越大,方法的 精度越高。
yn1 yn
xn1 xn
f (x,
y( x))dx
hf
( xn ,
yn )


实际上是矩形法
常用方法
(3) 用Taylor多项式近似并可估计误差
y( xn1 )
y( xn
h)
y( xn ) hy'( xn )
h2 2!
y''( )
h2 y( xn ) hy'( xn ) 2! y''( xn )
y(xnh )y(xn)h y(xn)h 2 2y(xn)
取一次Taylor多项式近似函数,得
y(xn1)y(xnh)
y(xn)hy(xn)h22 y()
y(xn)h(x fn,y(xn) )1 2h2y()
y n h(x n f,y n ) 1 2 h 2 y () x n x n 1
合集下载

改进的euler公式

改进的euler公式

改进的euler公式
【原创实用版】
目录
1.欧拉公式的概述
2.改进的欧拉公式的背景和原因
3.改进的欧拉公式的推导过程
4.改进的欧拉公式的应用和优势
5.结论
正文
欧拉公式是数学领域中非常著名的公式,它描述了复指数函数的性质,即 e^(ix) = cos(x) + i*sin(x)。

这个公式将实数、虚数和三角函数联
系在一起,展示了数学的统一性和美妙性。

然而,传统的欧拉公式在某些情况下并不适用,因此,人们提出了改进的欧拉公式。

改进的欧拉公式的背景和原因主要是由于在一些特殊的数学问题中,传统的欧拉公式无法给出正确的结果。

例如,当 x 为奇数时,传统的欧
拉公式无法描述 e^(ix) 的性质。

因此,为了解决这些问题,数学家们开始研究改进的欧拉公式。

改进的欧拉公式的推导过程相对复杂,它涉及到一些高级的数学概念和方法,如解析延拓、傅里叶级数等。

具体来说,改进的欧拉公式可以表示为 e^(ix) = cos(x) + i*sin(x) + r(x),其中 r(x) 是一个余项,表示欧拉公式在某些特殊情况下的修正。

改进的欧拉公式的应用和优势主要体现在它能够更准确地描述复指
数函数的性质,尤其是在一些特殊情况下。

例如,当 x 为奇数时,改进
的欧拉公式可以给出正确的结果,而传统的欧拉公式则会出现错误。

此外,改进的欧拉公式还可以应用于一些实际问题,如信号处理、图像处理等。

Euler法与修正的Euler法局部截断误差Range-Kutta公式

Euler法与修正的Euler法局部截断误差Range-Kutta公式

h xn x0 0 n
16
定义 若一种数值方法对于固定的 xn ,x当0 nh h 时0 有 yn ,其y(中xn ) 是原问y题(x的) 确解,则称该方法 是收敛的.
定理 假设单步法具有p阶精度,且增量函数 (x, y关, h于) y 满足利普希茨条件
(x, y, h) (x, y, h) L y y ,
k1=f(xn,yn), k2=f(xn+0.5h, yn+0.5hk1) k3=f(xn+0.5h, yn+0.5hk2), k4=f(xn+h, yn+hk3)
12
例4
dy
y xy2 ,
0
x2
dx y(0) 1
1 y( x) x 1 2e x
数值实验:几种不同求数值解公式的误差比较
11
Range-Kutta公式
三阶Range-Kutta公式一般形式
yn+1= yn+ h[k1+4k2+k3]/6 k1=f(xn,yn), k2=f(xn+0.5h, yn+0.5hk1) k3=f(xn+h, yn – hk1+2hk2)
四阶Range-Kutta公式一般形式
yn+1= yn+ h[k1+2k2+2k3+k4]/6
常微分方程数值解
Euler法与修正的Euler法 局部截断误差 Range-Kutta公式
1
Euler法与修正的Euler法
一阶常微分方程初值问题:
dy dx
f (x, y), x
x0
其中, y = y(x) 是未知函数, y( x0 ) y0

改进Euler法

改进Euler法

要求 Rn ? y( xn ?1 ) ? yn?1 ? O(h3 ) ,则必须有:
?1 ? ?2 ? 1 ,
?2 p ?
1 2
这里有 3 个未知 数, 2 个方程。
存在无穷多个解 。所有满足上式的格式统称为 2阶 龙格 - 库塔格式 。
(1) p ? 1, ?1
?
?2
?
1 为改进 Euler 格式 2
(1)左矩形法
xn?1
? f ( x , y( x ))dx ? hf ( xn , y( xn )) ? O(h 2 )
xn
? y( x n?1 ) ? y( x n ) ? hf ( xn , y( x n ))
Euler 格式 一阶方法
改进的Euler 方法
(2)梯形法
? ? ? xn?1
h
K 2 ? f ( xn ? ph , yn ? phK1 ) ? f ( xn , yn ) ? phf x ( xn , yn ) ? phK1 f y ( xn , yn ) ? O(h2 ) ? y ?( x n ) ? phy ??( x n ) ? O ( h 2 )
Step 2: 将 K2 代入第1式,得到
四阶R-K方法实现
开始
输入 x 0, y0, h, N
x1 ? x0 ? h;
h
h
K1 ? f ( x0 , y0 ), K 2 ? f ( x0 ? 2 , y0 ? 2 K1)
h
h
K 3 ? f ( x0 ? 2 , y0 ? 2 K 2 ), f ( x0 ? h, y0 ? hK 3 )
y1 ?
|yn-y(x n)| Yn 0.0046 1.0959 0.0086 1.1841 0.0125 1.2662 0.0166 1.3434 0.0209 1.4164 0.0257 1.4860 0.0311 1.5525 0.0373 1.6165 0.0445 1.6782 0.0527 1.7379

《改进Euler法》课件

《改进Euler法》课件

实例讲解
一阶微分方程
使用改进欧拉法解决了一阶微分方程。
不同步长的对比
展示了使用不同步长时所得到的结果的对比,说明 步长对解的准确性的影响。
总结
欧拉法的局限性
欧拉法虽然精度有限,但Байду номын сангаас在数值解微分方程中使用广泛。
改进欧拉法的优势
改进欧拉法通过增加计算量等方法,提高了精度和稳定性。
根据实际情况选择方法
2 处理高阶微分方程
使用改进的欧拉方法(Improved Euler Method),利用泰勒公式对下一时刻的解做泰勒 展开,得到更精确的解。
3 防止发散
采用小步长策略或自适应步长策略,防止迭代过程中发散。
改进欧拉法示意图
改进欧拉法迭代过程
展示了改进欧拉法的迭代过程和与欧拉法的区别。
更靠近真实解
通过计算得到更靠近真实解的值,提高了解的准确 性。
改进Euler法
通过本次PPT课件,我们将学习改进Euler法,一种数值解微分方程的方法, 通过迭代逼近真实解,提高精度和稳定性。
什么是Euler法?
Euler法是一种数值解微分方程的方法,通过迭代逼近真实解。然而,它存在精度有限、不能处理高阶微分方 程和容易发散等问题。
改进的方法
1 提高精度
使用龙格-库塔方法,在算法中增加计算量来提高精度。
在实际应用中,我们需要根据具体情况选择适合的数值解法。

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法 2

第8章 常微分方程数值解法 本章主要内容: 1.欧拉法、改进欧拉法 2

第8章 常微分方程数值解法本章主要内容:1.欧拉法、改进欧拉法. 2.龙格-库塔法。

3.单步法的收敛性与稳定性。

重点、难点一、微分方程的数值解法在工程技术或自然科学中,我们会遇到的许多微分方程的问题,而我们只能对其中具有较简单形式的微分方程才能够求出它们的精确解。

对于大量的微分方程问题我们需要考虑求它们的满足一定精度要求的近似解的方法,称为微分方程的数值解法。

本章我们主要讨论常微分方程初值问题⎪⎩⎪⎨⎧==00)(),(yx y y x f dx dy的数值解法。

数值解法的基本思想是:在常微分方程初值问题解的存在区间[a,b]内,取n+1个节点a=x 0<x 1<…<x N =b (其中差h n = x n –x n-1称为步长,一般取h 为常数,即等步长),在这些节点上把常微分方程的初值问题离散化为差分方程的相应问题,再求出这些点的上的差分方程值作为相应的微分方程的近似值(满足精度要求)。

二、欧拉法与改进欧拉法欧拉法与改进欧拉法是用数值积分方法对微分方程进行离散化的一种方法。

将常微分方程),(y x f y ='变为()*+=⎰++11))(,()()(n xn x n n dtt y t f x y x y1.欧拉法(欧拉折线法)欧拉法是求解常微分方程初值问题的一种最简单的数值解法。

欧拉法的基本思想:用左矩阵公式计算(*)式右端积分,则得欧拉法的计算公式为:Nab h N n y x hf y y n n n n -=-=+=+)1,...,1,0(),(1 欧拉法局部截断误差11121)(2++++≤≤''=n n n n n x x y h R ξξ或简记为O (h 2)。

我们在计算时应注意欧拉法是一阶方法,计算误差较大。

欧拉法的几何意义:过点A 0(x 0,y 0),A 1(x 1,y 1),…,A n (x n ,y n ),斜率分别为f (x 0,y 0),f (x 1,y 1),…,f (x n ,y n )所连接的一条折线,所以欧拉法亦称为欧拉折线法。

微分方程数值解法

微分方程数值解法

微分方程数值解法微分方程数值解法微分方程数值解法【1】摘要:本文结合数例详细阐述了最基本的解决常微分方程初值问题的数值法,即Euler方法、改进Euler法,并进行了对比,总结了它们各自的优点和缺点,为我们深入探究微分方程的其他解法打下了坚实的基础。

关键词:常微分方程数值解法 Euler方法改进Euler法1、Euler方法由微分方程的相关概念可知,初值问题的解就是一条过点的积分曲线,并且在该曲线上任一点处的切线斜率等于函数的值。

根据数值解法的基本思想,我们取等距节点,其中h为步长,在点处,以为斜率作直线交直线于点。

如果步长比较小,那么所作直线与曲线的偏差不会太大,所以可用的近似值,即:,再从点出发,以为斜率作直线,作为的近似值,即:重复上述步骤,就能逐步求出准确解在各节点处的近似值。

一般地,若为的近似值,则过点以为斜率的直线为:从而的近似值为:此公式就是Euler公式。

因为Euler方法的思想是用折线近似代替曲线,所以Euler方法又称Euler折线法。

Euler方法是初值问题数值解中最简单的一种方法,由于它的精度不高,当步数增多时,由于误差的积累,用Euler方法作出的折线可能会越来越偏离曲线。

举例说明:解: ,精确解为:1.2 -0.96 -1 0.041.4 -0.84 -0.933 0.9331.6 -0.64 -0.8 0.161.8 -0.36 -0.6 0.242.0 0 -0.333 0.332.2 0.44 0 0.44通过上表可以比较明显地看出误差随着计算在积累。

2、改进Euler法方法构造在常微分方程初值问题 ,对其从到进行定积分得:用梯形公式将右端的定积分进行近似计算得:用和来分别代替和得计算格式:这就是改进的Euler法。

解:解得:由于 ,是线形函数可以从隐式格式中解出问题的精确解是误差0.2 2.421403 2.422222 0.000813 0.021400.4 2.891825 2.893827 0.00200 0.051830.6 3.422119 3.425789 0.00367 0.094112.0 10.38906 10.43878 0.04872 1.1973通过比较上表的第四列与第五列就能非常明显看出改进Euler方法精度比Euler方法精度高。

第三章 Euler方法的讲解

Euler 方法的讲解:针对的方程:(一阶常微分方程处置问题)0'(,),()y f x y a x b y a y =≤≤⎧⎨=⎩举例: 'cos(),04(0)2y y x x y =+≤≤⎧⎨=⎩首先:右边函数可以写成M 文件如下,但是也可以直接在命令窗口写入。

function Y=f(x,y)Y=y+cos(x);其初值问题的解析真解命令为Yreal=dsolve('Dy=y+cos(x)','y(0)=2','x')输出结果为:Yreal =-1/2*cos(x)+1/2*sin(x)+5/2*exp(x)可以画出图形:x=0:0.1:4;Yreal=-0.5*cos(x)+o.5*sin(x)+2.5*exp(x); plot(x,Yreal,’-r ’);legend(’Yreal ’);xlabel('independent variable x');ylabel('real solution Y');然后:分别三种数值解法:(1) Euler 法function y = DEEuler(f, h,a,b,y0,varvec)%这是Euler 法的函数命令 %一阶常微分方程的一般表达式的右端函数:f 这里可用 f=inline ,也可直接输入 % 自变量下限 a ;上限 b% 函数初值 y0% 积分步长 h% 常微分方程的变量组 varvecformat long;%数据显示方式,不影响计算和存储方式,%是指小数点后15位数字表示N = (b-a)/h;y = zeros(N+1,1);x = a:h:b;y(1) = y0;for i=2:N+1y(i) = y(i-1)+h*Funval(f,varvec,[x(i-1), y(i-1)]);endformat short;补充讲解 Funval(f,varvec,[x(i-1), y(i-1)])function fv = Funval(f,varvec,varval)%varvec为DEEuler中输入的变量组var = findsym(f); %按字典顺序返回符号函数f中的所有变量名(符号)if length(var) < 4 %if语句求值if var(1) == varvec(1)fv = subs(f,varvec(1),varval(1));elsefv = subs(f,varvec(2),varval(2));endelsefv = subs(f,varvec,varval);end其中subs(f,varvec(1),varval(1))表示符号变量代入函数的命令函数,这是matlab自带函数,比如>>subs(a+b,a,4) %returns 4+b.>>subs(cos(a)+sin(b),{a,b},{sym('alpha'),2})%returns cos(alpha)+sin(2)本题输入命令为 >> syms u v x y>> Y = DEEuler(-v+u+1, 0.1,0,0.5,1,[u v]) (2)隐式Euler法/梯形法function y = DEimpEuler(f, h,a,b,y0,varvec)format long;N = (b-a)/h;y = zeros(N+1,1);y(1) = y0;x = a:h:b;var = findsym(f);for i=2:N+1% fx = Funval(f,var(1),x(i));% gx = y(i-1)+h*fx - varvec(2);% y(i) = NewtonRoot(gx,-10,10,eps);%这里不是重点,同学们自己看y(i)=(y(i-1)+h*cos(x(i)))/(1-h);%隐式Euler法y(i)=((1+h/2)*y(i-1)+0.5*h*cos(x(i-1))+0.5*h*cos(x(i)))/(1-h/2) %梯形法endformat short;其中:NewtonRoot法编程如下function root=NewtonRoot(f,a,b,eps)if(nargin==3)eps=1.0e-4;endf1=subs(sym(f),findsym(sym(f)),a);f2=subs(sym(f),findsym(sym(f)),b);if(f1==0)root=a;endif(f2==0)root=b;endtol=1;fun=diff(sym(f));fa=subs(sym(f),findsym(sym(f)),a);fb=subs(sym(f),findsym(sym(f)),b);dfa=subs(sym(fun),findsym(sym(fun)),a);dfb=subs(sym(fun),findsym(sym(fun)),b);if(dfa>dfb)root=a-fa/dfa;elseroot=b-fb/dfb;endwhile(tol>eps)r1=root;fx=subs(sym(f),findsym(sym(f)),r1);dfx=subs(sym(fun),findsym(sym(fun)),r1);root=r1-fx/dfx;tol=abs(root-r1);end(3)改进的Euler法不需要迭代,直接单步法即可实现function y = DEModifEuler(f, h,a,b,y0,varvec)format long;N = (b-a)/h;y = zeros(N+1,1);y(1) = y0;x = a:h:b;var = findsym(f);for i=2:N+1v1 = Funval(f,varvec,[x(i-1) y(i-1)]);t = y(i-1) + h*v1;v2 = Funval(f,varvec,[x(i) t]);y(i) = y(i-1)+h*(v1+v2)/2;endformat short;输入命令:syms x yf=y+cos(y);y= DEModifEuler(f, 0.1,0,4,2,[x y])最后要求画出解曲线图形,图上算法跟真解进行比较。

改进的euler公式

改进的euler公式改进的Euler公式Euler公式是数学中的重要公式之一,描述了指数函数、三角函数和虚数单位之间的关系。

而改进的Euler公式是对Euler公式在复数域上进行更深度推广和拓展的一种形式。

基本形式改进的Euler公式可以表示为:e ix=cos(x)+isin(x)其中,e是自然常数,i是虚数单位,x是实数。

衍生公式改进的Euler公式可以衍生出许多有用的数学公式,以下列举了其中一些常见的公式:1.欧拉恒等式(Euler Identity):e iπ+1=0欧拉恒等式是改进的Euler公式的一个特殊案例,将x取为π时得到。

2.理论倒数公式(De Moivre’s Formula):(cos(x)+isin(x))n=cos(nx)+isin(nx)理论倒数公式描述了复数的乘幂运算与三角函数间的关系,是改进的Euler公式在幂运算上的推广。

3.复变函数展开公式(Complex Exponential Form):∞e inxf(x)=∑c nn=−∞复变函数展开公式是将函数表示为一系列具有相同形式的改进的Euler公式的和,常用于分析周期性函数。

示例说明以欧拉恒等式为例来说明改进的Euler公式的应用。

在欧拉恒等式中,左边的指数函数可以表示为:e iπ=cos(π)+isin(π)根据三角函数的性质,cos(π)=−1,sin(π)=0,代入上式可得:e iπ=−1+0i再将右边的实数1加到等式两边,可得:e iπ+1=−1+0i+1=0这就是著名的欧拉恒等式。

欧拉恒等式展示了指数函数、三角函数和虚数单位之间的神奇联系,在数学和物理领域具有广泛应用。

改进的Euler公式及其衍生公式在解决各种数学问题和物理问题中发挥了重要的作用。

改进的euler公式

改进的euler公式摘要:1.欧拉公式的概述2.改进的欧拉公式的提出3.改进的欧拉公式的应用4.改进的欧拉公式的优势与局限5.我国在改进欧拉公式方面的研究进展正文:1.欧拉公式的概述欧拉公式,是由瑞士数学家欧拉在18 世纪提出的一个著名数学公式,其表述为:e^(ix) = cos(x) + i*sin(x)。

该公式将复数指数与三角函数相结合,展示了自然数、复数和三角函数之间的深刻联系。

欧拉公式在数学、物理和工程领域具有广泛的应用。

2.改进的欧拉公式的提出随着科学技术的不断发展,欧拉公式在实际应用中逐渐暴露出一些局限性。

为了克服这些局限,数学家们对欧拉公式进行了改进。

改进的欧拉公式主要有两种:一种是将欧拉公式中的角度限制在一定范围内,如0 <= x <=2π;另一种是将欧拉公式推广到高维空间,如四元数和八元数。

3.改进的欧拉公式的应用改进的欧拉公式在多个领域具有广泛的应用,如信号处理、图像处理、通信系统等。

在信号处理领域,改进的欧拉公式可以用于设计滤波器,提高信号的质量;在图像处理领域,改进的欧拉公式可以用于图像的压缩和增强;在通信系统中,改进的欧拉公式可以用于调制和解调。

4.改进的欧拉公式的优势与局限改进的欧拉公式相较于欧拉公式具有更高的精度和更广泛的适用范围,但在实际应用中也存在一定的局限性。

例如,改进的欧拉公式在某些特殊情况下可能会出现数值不稳定的问题,需要采用其他方法进行处理。

5.我国在改进欧拉公式方面的研究进展我国在改进欧拉公式方面的研究取得了显著成果。

近年来,我国数学家们提出了多种改进的欧拉公式,并在实际应用中进行了验证。

此外,我国还积极参与国际合作,与世界各国的数学家共同探讨欧拉公式的改进和发展。

总之,改进的欧拉公式在多个领域具有广泛的应用,相较于欧拉公式具有更高的精度和更广泛的适用范围。

Euler方法与改进的Euler方法的应用

CENTRAL SOUTH UNIVERSITY 数值分析实验报告Euler 方法与改进的Euler 方法的应用一、问题背景在工程和科学技术的实际问题中,常需求解微分方程,但常微分方程中往往只有少数较简单和典型的常微分方程(例如线性常系数常微分方程等)可求出其解析解,对于变系数常微分方程的解析求解就比较困难,而一般的非线性常微分方程的求解困难就更不用说了。

大多数情况下,常微分方程只能用近似方法求解。

这种近似解法可分为两大类:一类是近似解析法,如级数解法、逐次逼近法等;另一类是数值解法,它给出方程在一些离散点上的近似值。

二、数学模型在具体求解微分方程时,需具备某种定解条件,微分方程和定解条件合在一起组成定解问题。

定解条件有两种:一种是给出积分曲线在初始点的状态,称为初始条件,相应的定解问题称为初值问题。

另一类是给出积分曲线首尾两端的状态,称为边界条件,相应的定解问题称为边值问题。

在本文中主要讨论的是给定初值条件的简单Euler 方法和改进的Euler 方法来求解常微分方程。

三、算法及流程Euler 方法是最简单的一种显式单步法。

对于方程()y x f dxdy ,= 考虑用差商代替导数进行计算,取离散化点列nh x x n +=0,L n ,2,1,0=则得到方程的近似式()()()()n n n n x y x f hx y x y ,1≈-+ 即()n n n n y x hf y y ,1+=+ 得到简单Euler 方法。

具体计算时由0x 出发,根据初值,逐步递推二得到系列离散数值。

简单Euler 方法计算量小,然而精度却不高,因而我们可以构造梯形公式()()[]η=++=+++0111,,2y y t f y t f h y y n n n n n n 其中()N a b h -=。

这是一个二阶方法,比Euler 方法精度高。

但是上述公式右边有1+n y ,因而是隐式差分方程,可以用迭代方法计算1+n y 。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档