边值打靶法的改进与应用
化工应用数学-常微分方程数值解-打靶法

问题:一维均匀介质稳态导热问题。设其一端绝热,
另一端恒温为T1,求此均匀介质上的温度分布?
(x0, T1)
xL此处绝热
x1
温度?
x2
x3
温度? 温度?
T=f(x)?
d
(k dT ) 0
dx f (0)
dx T1
dT
0
dx xL
2020/6/19
化工应用数学
3
边值问题是指在自变量x的某一区间[a,b]的两个端点
常微分方程数值解
常微分方程边值问题
问题:一维均匀介质稳态导热问题。设其一端绝热,
另一端恒温为T1,求此均匀介质上的温度分布?
(x0, T1)
xL此处绝热
x1
温度?
x2
温度?
x3
温度?
T=f(x) 其中x代表均匀介质上某一位置距离端点的距离; T代表x处的温度。
2020/6/19
化工应用数学
2
常微分方程边值问题
二阶方程的 y'' f (x, y, y' ),a<x<b
第一边值问题:
y(a)
;
y(b)
二阶方程的 y'' f (x, y, y' ),a<x<b
初值问题:
y(a)
;
y
'
(a)
m
2020/6/19
化工应用数学
任务:寻找 m,使得 y(b)=β
6
y
m=m1
(b,β) m=m3
m=m2
(a,α) x
F(m)
F (m2 )
(F (m2 ) ) (F (m1) )
m2 m1
飞行器轨迹优化数值方法综述

第29卷第2期2008年3月 宇 航 学 报Journal of AstronauticsV ol.29March N o.22008飞行器轨迹优化数值方法综述雍恩米,陈 磊,唐国金(国防科技大学航天与材料工程学院,长沙410073) 摘 要:自上世纪后期,出现了多种飞行器轨迹优化方法,但较全面地对各种方法进行综合研究的文献非常有限且近期未见公开发表。
通过对近百篇相关文献的调研,从各种角度对轨迹优化方法分类,并总结了常见方法的特点和应用情况。
同时还概述了一些很有应用前景的如伪谱法,快速探索随机树法和滚动时域优化等新方法的特点和进一步需要解决的问题。
本文不对优化算法作过多的讨论,而是注重各种优化方法,这些方法的不同体现在对连续最优控制问题的转换、离散化方法等方面。
希望本文的工作可为未来轨迹优化领域的研究和技术发展提供一个良好的基础。
关键词:轨迹优化;数值方法;综述中图分类号:V412.1;V412.4 文献标识码:A 文章编号:100021328(2008)022*******收稿日期:2007209217; 修回日期:20072122250 引言飞行器轨迹优化问题一般为非线性,带有状态约束和控制约束的最优控制问题。
最优控制问题的起源可以追溯到17世纪,由Johann Bernoulli 提出的著名的brachystochrone 最短时间(即最速降线)问题。
在过去的三百年中,最优控制理论研究取得了一些引人瞩目的成就,如1773年Euler 发明了积分,20世纪50年代,Bellman 完成了动态规划方法的奠基性工作。
他采用Hamilton 2Jacobi 2Bellman 方程导出了最优性充分条件。
1847年,Cauchy 提出经典的极值计算方法———梯度法。
到1962年,P ontryagin 发展了极大(极小)值原理,为解决约束最优控制问题提供了有效方法,且该方法往往得到“bang 2bang ”形式的最优控制解。
利用改进的Adomian分解方法求解二阶两点边值问题

f +p x y +F x ( ) ( ,)一 g z , ()
,、 o
I 0 一A () , ) , 0 一B (
收 稿 日期 : 0 6 1 - l 2 0 — 2O
作者简介 : 金
怡 ( 9 3 ) 女 , 江杭 州 人 , 用 数 学 专 业 硕 士 研 究 生 , 要 从 事 计 算 数 学 研 究 . 1 8一 , 浙 应 主
Vo . . I 6 No 2
M a . 2 07 r 0
文 章 编 号 1 0 0 8—9 0 ( 0 7 0 —0 1 0—0 4320)2 00 6
利 用 改 进 的 Ad min分 解 方法 o a 求解 二 阶两 点 边 值 问题
金 怡 , 爱 晖 余
( 州 师 范大 学 数 学 系 ,浙 江 杭 州 30 3 ) 杭 1 0 6
1 Ad min方 法 简 介 o a
Ad min分解 方法 ( o a 又称 逆算 符方 法) 2 世 纪 8 年 代 由美 国数学 物理 学家 Ge g o a 是 0 0 oe Ad min提 出并
发 展起 来 的求 解线 性 和非线 性方 程 的一种 有效 方法 . 的基本 精神 是 : 它 首先把 求 解 的方 程适 当地 分解 为若
算 子 L作 用于 方程 ( )的两 端 , 2 得到
一 g( )一 p( y x) 一 F( ) x, .
;
() 3
定义逆算符L 为L ・ 一I ()xx将L () ・dd. 一作用于方程() I 3 的两端得
( ) 一 ( )+ Y ( ) O O z+ L一 ( ) g( )一 L一 ( z) ( ) P( )一 L一 ( , ) F( j )一 , A + Bx + L一 ( z) g( )~ L一 ( ) ( ) P( )一 L F( , ) 一 ( )
打靶法在常微分方程边值问题中的一些应用_安乐

0引言常微分方程边值问题是常微分方程理论的重要组成部分,在众多科学技术领域中有着非常广泛的应用,见文献[4-7]。
打靶法是解微分方程的数值方法,其基本思想是将微分方程的边值问题转化为初值问题来求解,其特点是精度高,程序简单,实用性强。
1968年P.B.Baily、L.F.Shampine、P.E.Waltman[1]结合常微分方程初值问题的基本理论和打靶法,研究了非线性二阶常微分方程两点边值问题u″=f(t,u(t),u′(t)),t∈(a,b)(1)解的存在性。
本文试图研究更广泛的非线性常微分方程两点边值问题u″=f(t,u(t),u′(t)),t∈(a,b)(2)u(a)=A,cu(b)+du′(b)=B(3)解的存在性,并讨论其唯一性,从而推广文献[1]的结果,其中c,d,A,B∈R均为常数,并且c2+d2≠0,a,b∈R为满足a<b的常数,我们将给出并证明如下结果:定理1(解的存在性)设cd>0,设f:[a,b]×R2→R 连续并且满足对第二、三变元的Lipschitz条件,如果存在常数N>0使得:│f(t,y,p)│≤N,A(t,y,p)∈[a,b]×R2(4)则对任意A,B∈R,二阶常微分方程两点边值问题(2) -(3)至少有一个解。
定理2(解的唯一性)设f:[a,b]×R2→R连续并且满足对第二、三变元的Lipschitz条件│f(t,y2,p2)-f(t,y1,p1│≤L│y2-y1│+K│P2-P1│(5)如果存在常数N>0使得:│f(t,y,p)│≤N,A(t,y,p)∈[a,b]×R2(6)则当L+K充分小时,对任意A,B∈R,二阶常微分方程两点边值问题式(2)-(3)有且仅有一个解。
特别地,当c=0时,边值问题式(2)-(3)就是著名的Robin边值问题,在力学和热学中具有重要的应用背景。
1预备结果为了证明存在性定理,我们需要如下两个预备打靶法在常微分方程边值问题中的一些应用Shooting Method in the Application of Ordinary Difference Equations Boundary Value Problem安乐An Le(天水师范学院数学与统计学院,甘肃天水741001)(College of Mathematics and Statics,Tianshui Normal University,Gansu Tianshui741001)摘要:本文运用打靶法研究非线性二阶常微分方程两点边值问题u″=f(t,u(t),u′(t)),t∈(a,b)u (a)=A,cu(b)+du′(b)=B解的存在性与唯一性,其中f:[a,b]×R2→R连续。
数学实验“微分方程组边值问题数值算法(打靶法,有限差分法)”实验报告(内含matlab程序)

西京学数学软件实验任务书课程名称数学软件实验班级数0901学号0912020107姓名李亚强微分方程组边值问题数值算法(打靶法,有限差分法)实验课题熟悉微分方程组边值问题数值算法(打靶法,有限差实验目的分法)运用Matlab/C/C++/Java/Maple/Mathematica等其中实验要求一种语言完成微分方程组边值问题数值算法(打靶法,有限差分法)实验内容成绩教师实验二十七实验报告1、实验名称:微分方程组边值问题数值算法(打靶法,有限差分法)。
2、实验目的:进一步熟悉微分方程组边值问题数值算法(打靶法,有限差分法)。
3、实验要求:运用Matlab/C/C++/Java/Maple/Mathematica 等其中一种语言完成程序设计。
4、实验原理:1.打靶法:对于线性边值问题(1)⎩⎨⎧==∈=+'+''βα)(,)(],[)()()(b y a y b a x x f y x q y x p y 假设是一个微分算子使:L ()()Ly y p x y q x y '''=++则可得到两个微分方程:,,)(1x f Ly =α=)(1a y 0)(1='a y ,, (2)⇔)()()(111x f y x q y x p y =+'+''α=)(1a y 0)(1='a y ,,02=Ly 0)(2=a y 1)(2='a y ,, (3)⇔0)()(222=+'+''y x q y x p y 0)(2=a y 1)(2='a y 方程(2),(3)是两个二阶初值问题.假设是问题1y(2)的解,是问题(3)的解,且,则线性边值问2y 2()0y b ≠题(1)的解为: 。
1122()()()()()y b y x y x y x y b β-=+2.有限差分法:基本思想是把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似, 积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组 , 解此方程组就可以得到原问题在离散点上的近似解。
打靶法

用某种离散化数值步骤求出常微分方程边值问题在离散点上的近似解的方法。
各种实际问题导出不同类型的边值问题。
较简单的有二阶常微分方程两点边值问题:求函数y=y(x),x∈【α,b】,使它满足微分方程和边值条件式中ƒ、g1、g2为已知函数;α与b为两个给定的端点。
较一般地有一阶常微分方程组两点边值问题:求N个函数使其满足微分方程组和边值条件式中诸ƒn、g i是已知函数;r为给定的自然数。
有些问题因求解区间是无穷区间而被称作奇异边值问题,相应的边界条件变为对解在无穷远处渐近行为的限制,例如,要求y(x)在区间【0,)上平方可积或要求当x趋于无穷时,y(x)趋于某极限值。
还有些实际问题因要求解满足多个点上的条件而被称作多点边值问题。
近年来,对反映边界层现象的奇异摄动边值问题提出了一些新的数值解法。
此外,关于存在多个解的分歧现象数值解问题也引起人们的注意。
打靶法主要思路是:适当选择和调整初值条件,(选什么)求解一系列初值问题,使之逼近给定的边界条件。
如果将描述的曲线视作弹道,那么求解过程即不断调整试射条件使之达到预定的靶子,所以称作打靶法或试射法,此类方法的关键是设计选取初值的步骤。
对非线性边值问题可通过下列步骤求数值解:①计算初值问题的数值解y1。
若g(y1(b),y姈(b))=B,近似地满足,则y1即为所求;否则进行②。
②计算初值问题的数值解y2,若g(y2(b),y娦(b))=B近似地满足,则y2即为所求;否则令m=3进行③。
③将g(y(b),y┡(b))视为y(α)的函数,用线性逆插值法调整初值,即计算然后进行④。
④计算初值问题的数值解y m并进行判定:若b点边值条件近似地满足,则y m即为所求;否则令m+1崊m转向③继续计算直到满意为止。
特别地,若微分方程是线性的,则打靶法变成线性组合法,即根据常微分方程理论适当选取初值可得到一组线性独立解,利用它们的线性组合导出边值问题的解。
例如线性方程边值问题的数值解可通过两个初值问题数值解来实现。
打靶法(含Matlab程序)
西京学数学软件实验任务书动方向控制减速的推力,主要的控制量只有一个减速推力,减速还会消耗燃料让登月器的质量减小。
所以在极坐标下系统的状态就是x‘=[质量m,角度theta,高度r,角速度omega,径速度v]这五个量,输入就是减速力F。
先列微分方程,dx/dt=f(x)+B*F,其中x是5*1的列向量,质量dm/dt=-F/2940,剩下几个翻下极坐标的手册。
把这个动力学模型放到matlab里就能求解了,微分方程数值解用ode45。
第一问F=0,让你求椭圆轨道非常容易。
注意附件1里说15公里的时候速度是1.7km/s。
算完以后验证一下对不对,对的话就是他了,不对的话说明这个椭圆轨道有进动,到时再说。
(2) 算出轨道就能计算减速力了。
这时候你随便给个常数减速力到方程里飞船八成都能降落,但不是最优解。
想想整个过程,开始降落之前飞船总机械能就那么多,你需要对飞船做负功让机械能减到0。
题目里写发动机喷出翔的相对速度是一定的,直觉告诉我飞船速度快的时候多喷一些速度慢的时候少喷一些,可以提高做负功的效率。
但是多喷也不能超过上限7500N,所以这就是一个带约束优化问题,matlab里边有专用的优化函数,用fmincon就好。
找出最优解以后把过程画出来,看看F可不可以是那5个状态量的线性组合,如果是的话就非常happy,不是的话再说。
三四阶段你可以扯点图像识别,什么二维复利叶分解找平坦区域,怎么一边下降一边根据自身状态调整路径之类的。
五六阶段还真不知道说什么。
一二阶段肯定是重点啦(3) 误差分析其实还挺难的。
可能的误差来源是地球的引力,月亮绕地球向心加速度,太阳的引力(可能会很小),对自身速度、角度的测量误差(比如你测出自身当前速度100m/s但实际上是105m/s),控制的时候F大小以及角度的误差(比如你想朝正前方向喷2000N但实际上偏了2度而且F=2010N之类)。
上一问已经求出了最优控制策略和飞船路线,把这些扰动加进去以后算出新的路线减掉理想路线求偏差,然后随便用个卡尔曼滤波器把误差给校正All for Joy2014/9/13 11:14:38老师的思路,求大神解答给我一份呀实验二十七实验报告一、实验名称:微分方程组边值问题数值算法(打靶法,有限差分法)。
泰勒公式在二阶两点边值问题求解方法上的应用
本科毕业设计常熟理工学院本科毕业设计(论文)诚信承诺书本人郑重声明:所呈交的本科毕业设计(论文),是本人在导师的指导下,独立进行研究工作所取得的成果。
除文中已经注明引用的内容外,本论文不含任何其他个人或集体已经发表或撰写过的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
本人签名:日期:常熟理工学院本科毕业设计(论文)使用授权说明本人完全了解常熟理工学院有关收集、保留和使用毕业设计(论文)的规定,即:本科生在校期间进行毕业设计(论文)工作的知识产权单位属常熟理工学院。
学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许毕业设计(论文)被查阅和借阅;学校可以将毕业设计(论文)的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编毕业设计(论文),并且本人电子文档和纸质论文的内容相一致。
保密的毕业设计(论文)在解密后遵守此规定。
本人签名:日期:导师签名:日期:泰勒公式在二阶两点边值问题求解方法上的应用摘要本文主要讨论利用泰勒展开公式求解二阶线性常微分方程问题. 首先介绍泰勒公式的相关知识;其次,基于泰勒展开公式,提出一种求解线性二阶线性常微分方程问题初值问题的新方法;然后,通过结合提出的求解线性二阶线性常微分方程问题初值问题的方法和打靶方法, 提出一种求解线性二阶线性常微分方程问题边值问题的数值方法;最后通过数值算例来验证所提数值方法的有效性.关键词:泰勒展开式二阶线性常微分方程两点边值问题近似解Taylor formula in the second order two-point boundary value problemsolving the application of the methodAbstractThis thesis mainly discusses numerical methods for solving second order linear ordinary differential equations by using Taylor's expansion formula. Firstly, some theory of Taylor's expansion formula is introduced. Secondly, a numerical method for solving second order linear initial value problems is proposed. Thirdly, a numerical method for solving second order linear two-point boundary value problems is developed by combining the method for initial value problems and shooting method. Finally, numerical examples are provided to show the validity of the present methods.Key Words: Taylor's expansion; Second order linear ordinary differential equations; Two–point boundary value problems; Approximate solution目录1. 引言 (1)1.1微分方程边值问题的介绍 (1)1.2 二阶两点边值问题的介绍 (2)2. 泰勒公式简介 (4)2.1泰勒公式简介 (4)2.2泰勒公式的应用 (5)3.二阶线性初值问题 (7)3.1求解方法 (7)3.2数值算例 (8)4.二阶线性两点边值问题的求解方法 (10)4.1求解方法 (10)4.2数值算例 (11)结语 (13)参考文献 (14)致谢 (15)1 引言1.1微分方程边值问题的介绍微分方程是现代数学中的一个很重要的分支,从早期的微积分时代起,这个学科就成为了理论研究和实践应用的一个重要领域。
第三章 常微分方程的边值和本征值问题
因此比 较明智的做法是,在每一个试验本征值上,由 xmax
出发向后直接积分产生另一个数值解 Ѱ>。 为了判断 这个试验本征值是不是一个能量本征值,可以在一
个接合点 xm上比较 Ѱ<和 Ѱ>,其中接合点 xm要这样选择, 使得两个积分都是准确的。这里接合点 xm 的一个方便的选 择是左转折点或右转折点。
问题转化为求下面方程的根
Φk (1)= 0
3.3 一维薛定谔方程的定态解
一维位势 V(x) 中一个质量为 m 的粒子的 量子力学定态
在 x = xmin 和 x = xmax 处两点位势变为无穷大,也就是说在这 两点上有刚壁,在 这两点之间则是一个势阱。
定解问题
其中
求使这个问题有非零解的能量本征值 E 及其相应的波函数
Ѱ<和 Ѱ>的归一化总是可以这样选择,使得两个函数值在
xm 上相等。这时如果 它们的微商在 xm上也相等,那么就可 以断言这个试验本征值就是能量本征值.
数学表达式为
这里的
提供了一个方便的标尺
打靶法的基本思想是将边值问题当作一个含可调参数 δ 的
初始问们就可以通过积分这个初始问
题得到 yδ (b) .
一般来说,由于可调参数 δ 的随意选择, yδ(b) 和 yb 很难相等。
打靶法就是通过使用一个搜索算法去调整参数 δ ,使得 yδ (b) 和 yb 在误差容忍范围内相等,从而达到数值求解边 值问题的目的. 问题转化为求下面方程的根
3.2 打靶法求解本征值问题
考虑一根密度均匀的绷紧的弦的振动,分离变量后,空间
部分满足的方程和边界条件可以写成
φ 是弦的横向位移, k 是波数 解析解为
相比边值问题,本征值问题多了一个待定参数 策略:我们先猜测一个试验本征值 k,同时任取一个非零数 δ , 把微分方程变化为一个初始值问题
第8章--常微分方程边值问题的数值解法
第8章 常微分方程边值问题的数值解法8.1 引 言推论 若线性边值问题()()()()()(),,(),()y x p x y x q x y x f x a x b y a y b αβ'''=++≤≤⎧⎨==⎩ (8.1.2) 满足(1) (),()p x q x 和()f x 在[,]a b 上连续; (2) 在[,]a b 上, ()0q x >, 则边值问题(8.1.1)有唯一解。
求边值问题的近似解,有三类基本方法:(1) 差分法(difference method),也就是用差商代替微分方程及边界条件中的导数,最终化为代数方程求解;(2) 有限元法(finite element method);(3) 把边值问题转化为初值问题,然后用求初值问题的方法求解。
8.2 差分法8.2.1 一类特殊类型二阶线性常微分方程的边值问题的差分法设二阶线性常微分方程的边值问题为(8.2.1)(8.2.2)()()()(),,(),(),y x q x y x f x a x b y a y b αβ''-=<<⎧⎨==⎩其中(),()q x f x 在[,]a b 上连续,且()0q x ≥.用差分法解微分方程边值问题的过程是:(i) 把求解区间[,]a b 分成若干个等距或不等距的小区间,称之为单元;(ii) 构造逼近微分方程边值问题的差分格式. 构造差分格式的方法有差分法, 积分插值法及变分插值法;本节采用差分法构造差分格式;(iii) 讨论差分解存在的唯一性、收敛性及稳定性;最后求解差分方程. 现在来建立相应于二阶线性常微分方程的边值问题(8.2.1), (8.2.2)的差分方程. ( i ) 把区间[,]I a b =N 等分,即得到区间[,]I a b =的一个网格剖分:011N N a x x x x b -=<<<<=,其中分点(0,1,,)i x a ih i N =+=,并称之为网格节点(grid nodes);步长b a Nh -=. ( ii ) 将二阶常微分方程(8.2.2)在节点i x 处离散化:在内部节点(1,2,,1)i x i N =-处用数值微分公式2(4)1112()2()()()(),12i i i i i i i i y x y x y x h y x y x x h ξξ+---+''=-<< (8.2.3)代替方程(8.2.2)中()i y x '',得112()2()()()()()()i i i i i i i y x y x y x q x y x f x R x h +--+-=+,(8.2.4) 其中2(4)()()12i i h R x y ξ=. 当h 充分小时,略去式(8.2.4)中的()i R x ,便得到方程(8.2.1)的近似方程1122i i i i i i y y y q y f h +--+-=,(8.2.5)其中(),()i i i i q q x f f x ==, 11,,i i i y y y +-分别是11(),(),()i i i y x y x y x +-的近似值, 称式(8.2.5)为差分方程(difference equation),而()i R x 称为差分方程(8.2.5)逼近方程(8.2.2)的截断误差(truncation error). 边界条件(8.7.2)写成0,.N y y αβ==(8.2.6)于是方程(8.2.5), (8.2.6)合在一起就是关于1N +个未知量01,,,N y y y ,以及1N +个方程式的线性方程组:2211212211222111(2),(2),1,2,,1,(2).i i i i i N N N N q h y y h f y q h y y h f i N y q h y h f αβ-+----⎧-++=-⎪-++==-⎨⎪-+=-⎩(8.2.7)这个方程组就称为逼近边值问题(8.2.1), (8.2.2)的差分方程组(system of difference equations)或差分格式(difference scheme),写成矩阵形式2211122222223332222222111(2)11(2)11(2)11(2)11(2)N N N N N N y q h h f y q h h f y q h h f y q h h f y q h h f αβ------⎡⎤⎡⎤-+-⎡⎤⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-+=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-+⎢⎥⎢⎥⎢⎥-+-⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦. (8.2.8)用第2章介绍的解三对角方程组的追赶法求解差分方程组(8.2.7)或(8.2.8), 其解01,,,N y y y 称为边值问题(8.2.1), (8.2.2)的差分解(difference solution). 由于(8.2.5)是用二阶中心差商代替方程(8.2.1)中的二阶微商得到的,所以也称式(8.2.7)为中心差分格式(centered-difference scheme).( iii ) 讨论差分方程组(8.2.7)或(8.2.8)的解是否收敛到边值问题(8.2.1), (8.2.2)的解,估计误差.对于差分方程组(8.2.7),我们自然关心它是否有唯一解;此外,当网格无限加密,或当0h →时,差分解i y 是否收敛到微分方程的解()i y x . 为此介绍下列极值原理:定理8.2.1 (极值原理) 设01,,,N y y y 是给定的一组不全相等的数,设1122(),0,1,2,,i i i i i i i y y y l y q y q i N h +--+=-≥=.(8.2.9)(1) 若()0,1,2,,i l y i N ≥=, 则{}0Ni i y =中非负的最大值只能是0y 或N y ; (2) 若()0,1,2,,i l y i N ≤=, 则{}0Ni i y =中非正的最小值只能是0y 或N y .证 只证(1) ()0i l y ≥的情形,而(2) ()0i l y ≤的情形可类似证明. 用反证法. 记{}0max i i NM y ≤≤=,假设0M ≥, 且在121,,,N y y y -中达到. 因为i y 不全相等,所以总可以找到某个00(11)i i N ≤≤-,使0i y M =,而01i y -和01i y +中至少有一个是小于M 的. 此时0000000011222()2.i i i i i i i i y y y l y q y h M M M q M q M h +--+=--+<-=-因为00,0i q M ≥≥,所以0()0i l y <, 这与假设矛盾,故M 只能是0y 或N y . 证毕!推论 差分方程组(8.2.7)或(8.2.8)的解存在且唯一. 证明 只要证明齐次方程组11202()0,0,1,2,,1,0,0i i i i i i i N y y y l y q y q i N h y y +--+⎧=-=≥=-⎪⎨⎪==⎩ (8.2.10)只有零解就可以了. 由定理8.7.1知,上述齐次方程组的解01,,,N y y y 的非负的最大值和非正的最小值只能是0y 或N y . 而00,0N y y ==,于是0,1,2,,.i y i N == 证毕!利用定理8.2.1还可以证明差分解的收敛性及误差估计. 这里只给出结果: 定理8.2.2 设i y 是差分方程组(8.2.7)的解,而()i y x 是边值问题(8.2.1), (8.2.2)的解()y x 在i x 上的值,其中0,1,,i N =. 则有224()(),96i i i M h y x y b a ε=-≤-(8.2.11)其中(4)4max ()a x bM yx ≤≤=.显然当0h →时,()0i i i y x y ε=-→. 这表明当0h →时,差分方程组(8.2.7)或(8.2.8)的解收敛到原边值问题(8.7.1), (8.7.2)的解.例8.2.1 取步长0.1h =,用差分法解边值问题43,01,(0)(1)0,y y x x y y ''-=≤≤⎧⎨==⎩并将结果与精确解()()2222()3434x xy x e e ee x --=---进行比较.解 因为110N h ==,()4,()3q x f x x ==, 由式(8.2.7)得差分格式221222112289(240.1)30.10.1,(240.1)30.1,2,3,,8,(240.1)30.10.9,i i i i y y y y y x i y y -+⎧-+⨯+=⨯⨯⎪-+⨯+=⨯=⎨⎪-+⨯=⨯⨯⎩0100y y ==, 00.1,1,2,,9i x ih i i =+==, 其结果列于表8.2.1.从表8.2.1可以看出, 差分方法的计算结果的精度还是比较高的. 若要得到更精确的数值解,可用缩小步长h 的方法来实现.8.2.2 一般二阶线性常微分方程边值问题的差分法对一般的二阶微分方程边值问题1212()()()()()(),,()(),()(),y x p x y x q x y x f x a x b y a y a y b y b αααβββ'''++=<<⎧⎪'+=⎨⎪'+=⎩ (8.2.12) 假定其解存在唯一.为求解的近似值,类似于前面的做法,( i ) 把区间[,]I a b =N 等分,即得到区间[,]I a b =的一个网格剖分:011N N a x x x x b -=<<<<=,其中分点(0,1,,)i x a ih i N =+=,步长b a Nh -=. ( ii ) 对式(8.2.12)中的二阶导数仍用数值微分公式2(4)1112()2()()()(),12i i i i i i i iy x y x y x h y x y x x h ξξ+---+''=-<<代替,而对一阶导数,为了保证略去的逼近误差为2()O h ,则用3点数值微分公式;另外为了保证内插,在2个端点所用的3点数值微分公式与内网格点所用的公式不同,即21112012000022212()()()(),,1,2,,1,263()4()()()(),,23()4()3()()(),.23i i i i i i i N N N N N N N N y x y x h y x y x x i N h y x y x y x h y x y x x h y x y x y x h y x y x x h ξξξξξξ+-----⎧-''''=-<<=-⎪⎪-+-⎪''''=+<<⎨⎪⎪-+''''=+<<⎪⎩(8.2.13) 略去误差,并用()i y x 的近似值i y 代替()i y x ,(),(),()i i i i i i p p x q q x f f x ===,便得到差分方程组1111221001221211(2)(),1,2,,1,2(34),2(43),2i i i i i i i i i N N N N p y y y y y q y f i N h hy y y y h y y y y h αααβββ-++---⎧-++-+==-⎪⎪⎪+-+-=⎨⎪⎪+-+=⎪⎩(8.2.14)其中(),(),(),1,2,,1i i i i i i q q x p p x f f x i N ====-, i y 是()i y x 的近似值. 整理得12021222211222121(23)42,(2)2(2)(2)2,1,2,,1,4(32)2.i i i i i i i N N N h y y y h hp y h q y hp y h f i N y y h y h αααααβββββ-+---+-=⎧⎪---++==-⎨⎪-++=⎩ (8.2.15)解差分方程组(8.2.15),便得边值问题(8.2.12)的差分解01,,,N y y y .特别地, 若12121,0,1,0ααββ====,则式(8.2.12)中的边界条件是第一类边值条件:(),();y a y b αβ==此时方程组(7.7.16)为221112112211221211112(2)(2)2(2),(2)2(2)(2)2,2,3,,2,(2)2(2)2(2).i i i i i i i N N N N N N h q y hp y h f hp hp y h q y hp y h f i N hp y h q y h f hp αβ-+------⎧--++=--⎪---++==-⎨⎪---=-+⎩(8.2.16) 方程组(8.2.16)是三对角方程组,用第2章介绍的解三对角方程组的追赶法求解差分方程组(8.2.16),便得边值问题(8.2.12)的差分解01,,,N y y y .( iii ) 讨论差分方程组(8.2.16)的解是否收敛到微分方程的解,估计误差. 这里就不再详细介绍.例8.2.2取步长/16h π=,用差分法求下列边值问题的近似解,并将结果与精确解进行比较.精确解是1()(sin 3cos )10y x x x =-+. 解 因为(20)8N h π=-=,()1,()2,()cos p x q x f x x =-=-=, 由式(8.2.17)得差分格式()()()()()()()()()()()()()2122211222122216(2)216(1)216cos 16216(1)(0.3),216(1)2216(2)216(1)216cos 16,2,3,,6,216(1)2216(2)216cos 7i i i N N y yy y y i i y y πππππππππππππ-+--⎡⎤--⨯-++⨯-⎡⎤⎣⎦⎣⎦=--⨯-⨯-⎡⎤⎣⎦⎡⎤-⨯---⨯-++⨯-⎡⎤⎡⎤⎣⎦⎣⎦⎣⎦==⎡⎤-⨯---⨯-⎡⎤⎣⎦⎣⎦=()()16216(1)(0.1),ππ⎧⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪-+⨯-⨯-⎡⎤⎣⎦⎩080.3,0.1y y =-=-, 00.1,1,2,,9i x ih i i =+==, 其结果列于表8.2.2.8.3 有限元法有限元法(finite element method)是求解微分方程定解问题的有效方法之一,它特别适用在几何、物理上比较复杂的问题. 有限元法首先成功地应用于结构力学和固体力学,以后又应用于流体力学、物理学和其他工程科学. 为简明起见,本节以线性两点边值问题为例介绍有限元法.考虑线性两点边值问题()(8.3.1)(8.3.2)()()()()(),,(),(),Ly p x y x q x y x f x a x b y a y b αβ⎧''⎪=-+=≤≤⎨==⎪⎩其中1()0,()0,C [,]p x q x p a b >≥∈, ,C[,]q f a b ∈.此微分方程描述了长度为b a -的可变交叉截面(表示为()q x )的横梁在应力()p x 和()f x 下的偏差()y x .8.3.1 等价性定理记{}221C [,]()C [,],(),()a b y y y x a b y a y b αβ==∈==, 引进积分()22()()[()]()()2()()d baI y p x y x q x y x f x y x x '=+-⎰. (8.3.3)任取21()C [,]y y x a b =∈,就有一个积分值()I y 与之对应,因此()I y 是一个泛函(functional),即函数的函数. 因为这里是,y y '的二次函数,因此称()I y 为二次泛函.对泛函(8.3.3)有如下变分问题(variation problem):求函数21C [,]y a b ∈,使得对任意21C [,]y a b ∈, 均有()()I y I y ≥, (8.3.4)即()I y 在y 处达到极小, 并称y 为变分问题(8.3.4)的解.可以证明:定理8.3.1(等价性定理) y 是边值问题(8.3.1), (8.3.2)的解的充分必要条件是y 使泛函()I y 在21C [,]a b 上达到极小,即y 是变分问题(8.3.4)在21C [,]a b 上的解. 证 (充分性) 设21C [,]y a b ∈是变分问题()I y 的解;即y 使泛函()I y 在21C [,]a b 上达到极小,证明y 必是边值问题(8.3.1), (8.3.2)的解.设()x η是2C [,]a b 任意一个满足()()0a b ηη==的函数,则函数21()()()C [,]y x y x x a b αη=+∈,其中α为参数. 因为y 使得()I y 达到极小,所以()()I y I y αη+≥,即积分()22()()[()()]()[()()]2()[()()]baI y p x y x x q x y x x f x y x x dxαηαηαηαη''+=+++-+⎰作为α的函数,在0α=处取极小值()I y ,故d()0d I y ααηα=+=. (8.3.5) 计算上式,得()()()()()022(8.d()d d ()[()()]()[()()]2()[()()]d d 2()[()()]()2()[()()]()2()()d 2()()()()()()()()d .bab abaI y p x y x x q x y x x f x y x x x p x y x x x q x y x x x f x x x p x y x x q x y x x f x x x ααααηααηαηαηααηηαηηηηηη===+''=+++-+'''=+++-''=+-⎰⎰⎰3.6)利用分部积分法计算积分[][]()()()d ()()d ()()()()()()()d ()()()d ,bbaab ba abap x y x x x p x y x x p x y x x x p x y x x x p x y x x ηηηηη'''='''=-''=-⎰⎰⎰⎰代入式(8.3.6),得()0(8.3.7)d()2()()()()()()d 0.d b a I y p x y x q x y x f x x x ααηηα'=⎡⎤⎣⎦'+=-+-=⎰因为()x η是任意函数,所以必有()()()()()()0p x y x q x y x f x ''-+-≡. (8.3.8)否则,若在[,]a b 上某点0x 处有()00000()()()()()0p x y x q x y x f x ''-+-≠,不妨设()00000()()()()()0p x y x q x y x f x ''-+->,则由函数的连续性知,在包含0x 的某一区间00[,]a b 上有()()()()()()0p x y x q x y x f x ''-+->.作002200000,[,]\[,],()()(),.x a b a b x x a x b a x b η∈⎧⎪=⎨--≤≤⎪⎩ 显然2()C [,]x a b η∈,且()()0a b ηη==,但()()()()()()()d ba p x y x q x y x f x x x η⎡⎤''-+-⎢⎥⎣⎦⎰ ()00()()()()()()d 0b a p x y x q x y x f x x x η⎡⎤''=-+->⎢⎥⎣⎦⎰,这与式(8.3.7)矛盾. 于是式(8.3.8)成立,即变分问题(8.3.4)的解y 满足微分方程(8.3.1), 且(),()y a y b αβ==故它是边值问题(8.3.1), (8.3.2)的解.(必要性) 设()y y x =是边值问题(8.3.1), (8.3.2)的解,证明y 是变分问题(8.3.4)的解;即:y 使泛函()I y 在21C [,]a b 上达到极小.因为()y y x =满足方程(8.3.1),所以()()()()()()0p x y x q x y x f x ''-+≡.设任意21()C [,]y y x a b =∈,则函数()()()x y x y x η=-满足条件()()0a b ηη==,且2()C [,]x a b η∈. 于是()()[]()222222()()()()()[()()]()[()()]2()[()()]d ()[()]()[()]2()()d 2()()()()()()()()d ()[()]()[()]d baba baaI y I y I y I y p x y x x q x y x x f x y x x x p x y x q x y x f x y x xp x y x x q x y x x f x x x p x x q x x xηηηηηηηηη-=+-''=+++-+'-+-''=+-++⎰⎰⎰()()()22222()()()()()()d ()[()]()[()]d ()[()]()[()]d .bb ba a bap x y x q x y x f x x x p x x q x x xp x x q x x x ηηηηη⎡⎤'''=--+++⎢⎥⎣⎦'=+⎰⎰⎰⎰因为()0,()0p x q x >≥,所以当()0x η≠时,()22()[()]()[()]d 0bap x x q x x x ηη'+>⎰, 即()()0I y I y ->.只有当()0x η≡时,()()0I y I y -=. 这说明y 使泛函()I y 在21C [,]a b 上达到极小. 证毕!定理8.3.2 边值问题(8.3.1), (8.3.2)存在唯一解.证明 用反证法. 若12(),()y x y x 都是边值问题(8.3.1), (8.3.2)的解,且不相等,则由定理8.3.1知,它们都使泛函()I y 在21C [,]a b 上达到极小,因而12()()I y I y > 且 21()()I y I y >,矛盾!因此边值问题(8.3.1), (8.3.2)的解是唯一的.由边值问题解的唯一性,不难推出边值问题(8.3.1), (8.3.2)解的存在性(留给读者自行推导).8.3.2 有限元法等价性定理说明,边值问题(8.3.1), (8.3.2)的解可化为变分问题(8.3.4)的求解问题. 有限元法就是求变分问题近似解的一种有效方法. 下面给出其解题过程:第1步 对求解区间进行网格剖分01,i n a x x x x b =<<<<<=区间1[,]i i i I x x -=称为单元,长度1(1,2,,)i i i h x x i n -=-=称为步长,1max i i nh h ≤≤=. 若(1,2,,)i h h i n ==,则称上述网格剖分为均匀剖分.给定剖分后,泛函(8.3.3)可以写成()22()()[()]()()2()()d baI y p x y x q x y x f x y x x '=+-⎰()12211()[()]()()2()()d i i nnx i x i i p x y x q x y x f x y x xS -=='=+-∑∑⎰记. (8.3.9)第2步 构造试探函数空间。