该【打靶法求边值问题 】是由【guoxiachuanyue010】上传分享,文档一共【36】页,该文档可以免费在线阅读,需要了解更多关于【打靶法求边值问题 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。本科毕业论文(设计)
论文(设计)题目:打靶法求边值问题
学院:理学院
专业:数学应用数学
班级:091
学号:
学生姓名:指导教师:
2013年4月21日
打靶法求边值问题
目录
摘要:1
弓I言:2
第一章常微分方程初值问题的解法3
常微分方程的离散化3
欧拉(Euler)方法4
改进的Euler方法6
龙格一库塔(Runge—Kutta)方法7
4阶龙格—库塔公式9
线性多步法9
第二章边值问题的数值解法11
打靶法11
差分法15
第三章Matlab数值解166
常微分方程的解法166
打靶法的matlab实现23
致谢:27
主要参考文献27
贵州大学本科毕业论文(设计)第1页
摘要
常微分方程在很多领域都有非常重要的应用,然而很多常微分方程的解是无法用解析解写出的,因而要借助于数值方法。本文介绍了常微分方程边值问题的常见解法,例如:欧拉法,龙格一库塔法等。而对于常微分方程边值问题,常见的解法有打靶法、有限差分法和有限元法等。在本文中,我们重点介绍了打靶法,并给出了相关算法,然后结合实例编写程序进行了上机实验。
关键词:常微分方程,初值问题,边值问题,打靶法
Abstract
,,wediscussthemethodsofsolvinginitialvalueproblem(IVP),suchasEulermethodRunge-(BVP),shootingmethod,finitedifferencemethod(FDM)andfiniteelementmethod(FEM).
Keywords:Ordinarydifferentialequations,initialvalueproblem,boundaryvalue
problem,theshootingmethod
引言
虽然常微分方程理论发展已经有几百年,但目前仍然在发展中。特别是最近三十年,常微分方程迎来了发展的高峰。常微分方程边值问题是常微分方程理论的重要组成部分,在众多科学技术领域中有着特别广泛的应用。打靶法是求解常微分方程边值问题的一种数值方法,它的基本思想是将微分方程的边值问题转化为初值问题来求解,它的比较突出的特点是精度很高,程序很简单,实用性很强。边值问题:对n阶常微分方程
y(n)二f(X,y,y',...,y(n-d),
如果能在不同的两点a和b处,唯一地刻画n个附加条件,并且在区间
a<t<b上求解,则称此为边值问题。
在微分方程中,所谓的边值问题就是我们给定的一个微分方程和一组被我们称之为边界条件的约束条件。边值问题的解一般情况下是符合特定的约束条件的微分方程的解。我们在求解这个微分方程时,除了给出方程的本身,往往还需要提供一定的定解条件。最常见的就是给出初值问题,也就是说给出的定解条件为初始条件;但是也有一些情况,定解条件要求我们考虑所讨论区域的边界,比如说在一个给定区间讨论时,把定解条件在区间的两个端点给出,给定的这种定解条件就被我们称之为边界条件,与之相应的定解问题我们就称之为边值问题。
贵州大学本科毕业论文(设计)第2页
贵州大学本科毕业论文(设计)第3页
第一章常微分方程组初值问题的解法
下面主要讨论一阶常微分方程的初值问题,它的一般形式是
(i)
孚=f(x,y)a<x<b
<dx
、y(a)=y0
在下面的讨论中,总假定函数f(x,y)连续,且满足Lipschitz条件,也就是存在
常数L,使得
If(x,y)-f(x,y)l<LIy-yI
那么,根据常微分方程理论知,初值问题(1)的解存在并且唯
所谓数值解法,就是求问题(1)的解y(x)在若干点
a=x<x<x<•…<x=b
012N
处的近似值y(n二1,2,…,N)的方法,y(n二1,2,…,N)称为问题(1)的数值解,
nn
h=x-x称为由x到x的步长•今后如无特别说明,我们总取步长为常量
nn+1nnn+1
建立数值解法,首先要将微分方程离散化,一般采用以下几种方法:
如果用向前差商歹(I+1)-歹(I)代替y'(x)代入(1)中的微分方程,则得hn
*++n〜f(x,y(x))(n=0,1,…)
hnn
化简得
y(x)〜y(x)+hf(x,y(x))
n+1nnn
如果用y(x)的近似值y代入上式右端,所得结果作为y(x)的近似值,记为
贵州大学本科毕业论文(设计)第5页
nnn+1
贵州大学本科毕业论文(设计)第5页
(2)
(3)
儿+i'那么有
y二y+hf(x,y)(n=0,1,…)
n+1nnn
这样,问题(1)的近似解可通过求解下面的问题
y=y+hf(x,y)(n=0,1,…)
n+1nnn
y=y(a)
0
得到,按式(3)由初值y可逐次算出y,y,….式子(3)是个离散化的问题,
012
称为差分方程初值问题.
需要说明的是,用不一样的差商近似导数,将得到不一样的计算公式.
将问题(1)的解表成积分形式,用数值积分方法离散化例如,对微分方程两端积分,得到
y(x)—y(x)=ixn+!f(x,y(x))dx(n二0,1,…)
n+1n
x
n
⑷
右边的积分用矩形公式或梯形公式计算.
将函数y(x)在x处展开,取一次Taylor多项式近似,则得
n
y(x)沁y(x)+hy'(x)二y(x)+hf(x,y(x))
n+1nnnnn
再将y(x)的近似值y代入上式右端,所得结果作为y(x)的近似值y,得到
nnn+1n+1
离散化的计算公式
y二y+hf(x,y)
n+1nnn
上面的三种方法都是将微分方程离散化的常用方法,每一类方法又可导出不同形式的计算公式•其中的Taylor展开法,不仅可以得到求数值解的公式,而且容易估计截断误差.
贵州大学本科毕业论文(设计)第6页
(Euler)方法
贵州大学本科毕业论文(设计)第7页
Euler方法就是用差分方程初值问题(3)的解来近似微分方程初值问题(1)的解,即由公式(3)依次算出y(x)的近似值y(n二1,2,…)。这组公式求问题(1)
nn
的数值解称为向前Euler公式.
如果在微分方程离散化时,用向后差商代替导数,也就是
J'(X)沁歹(J丿—歹(J),则得计算公式n+1h
(n=0,1,…)
(5)
y=y+hf(x,y)
n+1nn+1n+1
y=y(a)
0
用这组公式求问题(1)的数值解称为向后Euler公式.
向后Euler法与Euler法形式上相似,,可直接求解•向后Euler公式的右端含有y,因此是隐式公式,
n+1
一般要用迭代法求解,迭代公式通常为
y(0)=y+hf(X,y)
(6)
/n+1nnn
y(k+1)=y+hf(x,y(k))(k=0,1,2,…)
n+1nn+1n+1
对于向前Euler公式(3)我们看到,因为n=1,2,…时公式右端的y都是近
n
似的,所以用它计算的y会有累积误差,分析累积误差比较复杂,这里先讨论n+1
比较简单的所谓局部截断误差.
假设用(3)式时右端的y没有误差,即y二y(x),那么由此算出
nnn
y二y(x)+hf(x,y(x))(7)
n+1nnn
局部截断误差指的是,按(7)式计算由x到x这一步的计算值y与精确值nn+1n+1
y(x)之差y(x)-y•为了估计它,根据Taylor展开得到的精确值y(x)是
n+1n+1n+1n+1
h2
y(x)=y(x)+hy'(x)+y''(x)+O(h3)(8)
n+1nn2n
(7)、(8)两式相减(注意到y'二f(x,y))得到
贵州大学本科毕业论文(设计)第8页
y(x)-y=y''(x)+O(h3)沁O(h2)(9)
n+1n+12n
也就是局部截断误差是h2阶的,而数值算法的精度定义为:
如果一种算法的局部截断误差为O(hp+1),则称该算法具有p阶精度.
显然p越大,方法的精度越高。式(9)说明,向前Euler方法是一阶方法,
因此它的精度不高。
利用数值积分方法将微分方程离散化的时候,如果用梯形公式计算式(4)中之右端积分,即
rh
Jx”+1f(x,y(x))dx沁-[f(x,y(x))+f(x,y(x))]
x2””n+1n+1
”
并用
y,y
nn+1
代替y(x),y(x),那么得计算公式
nn+1
h
y=y+-[f(x,y)+f(x,y)]
n+1n2nnn+1n+1
这就是求解初值问题(1)的梯形公式.
直观上容易看出,用梯形公式计算数值积分要比矩形公式好•梯形公式为二阶方法。
梯形公式也是隐式格式,一般需用迭代法求解,迭代公式为
y(0)=y+hf(x,y)
n+1nnn
(10)
h
<y(k+1)=y+77[f(x,y)+f(x,y(k))]
n+1n/nnn+1n+1
(k=0,1,2,)
由于函数f(x,y)关于y满足Lipschitz条件,容易看出
,,hL,,
Iy(k+1)-y(k)|<|y(k)-y(k-1)|
n+1n+12n+1n+1
hL
,当0<竺<1时,
贵州大学本科毕业论文(设计)第9页
打靶法求边值问题 来自淘豆网m.daumloan.com转载请标明出处.