两点边值问题的两种数值解法
5.1 5.2两点边值问题

在 上满足
以 乘(1.1)两端multiplyby,得到
(6)
利用边值条件,得到
定义双线性形式:
则(6)可写成
。
定理2设 是上述边值问题的解的充要条件是: 且满足变分方程
。对任意
5.3 Ritz-Galerkin方法
思想:有穷空间维近似代替无穷维空间。
变分原理:求 ,使
(8)
例利用Ritz-Galerkin方法求解边值问题:
本问题有精确解:
Ritz-Galerkin方法通常选取的子空间有两种,一种其基底选为
另外一种基底选为
为使 满足边值条件,取
将 表成
: , 满足方程
从而得到
: , 代到方程(14),得到Ritz-Galerkin方程:
解得 ,故
表1计算结果比较
0.044
考虑混合边值问题。在 上满足
在 上满足
以 乘(1.1)两端multiplyby,得到
(6)
利用边值条件,得到
定义双线性形式:
则(6)可写成
。
定理2设 是上述边值问题的解的充要条件是: 且满足变分方程
。对任意
5.3 Ritz-Galerkin方法
思想:有穷空间维近似代替无穷维空间。
变分原理:求 ,使
(8)
证明:注意当 时,
(16)
如果 是边值问题(10)的解,则 ,从而
,对任意
由(14),有
这说明 使 达到极小值。
反之,若 使 达到极小值,则由(14)及(16),得
对任意 (18)
取 ,则
,对任意
根据变分法基本原理, 满足方程
,
所以,(18)化为
边值问题的数值解法

M b a 2 y xk y k h ,k 1, 2, ,n 1。 96
2
y 4 x 。因此,当 h 0 时,差分方程的解收敛到微分方 其中 M max a x b
y f x,y,y, y x,y sk,
这里的 s k 为
(8.6.3)
y
在 处的斜率。令 z y ,上述二阶方程可降为一阶方程组
y z, z f x,y,z ,
(8.6.4)
y a ,z a sk。
计算结果表明打靶法的效果是很好的,计算精度取决于所选取的初值问题数
值方法的阶和所选取的步长 h 的大小。不过,打靶法过分依赖于经验,选取试射 值,有一定的局限性。
第八章常微分方程数值解法
8.6.2 差分方法
差分方法是解边值问题的一种基本方法,它利用差商代替导数,将微分方程 离散化为线性或非线性方程组(即差分方程)来求解。 先考虑线性边值问题(8.6.2)的差分法。将区间 a,b 分成 n 等分,子区间的
s2
,同理得到 yb,s2 ,再判断它是否满足精度要求
y b,s2 。如此重复,直到某个 s 满足 y b,sk ,此时得到 k
的 y xi 和 yi z xi 就是边值问题的解函数值和它的一阶导数值。上述方程 好比打靶, s k 作为斜率为子弹的发射,y b 为靶心,故称为打靶法。
y xy 4 y 12 x 2 3x, 0 x 1, y 0 0,y 1 2,
其解的解析表达式为 y
x x 4 x 。来自解 先将该线性边值问题转化为两个初值问题
xy1 4 y1 12 x 2 3 x, y1 1 0, y1 0 0,y1 xy2 4 y2 0, y2 1 1。 y2 0 0,y2
两点边值问题方程

两点边值问题方程两点边值问题是一种求解微分方程的方法,它涉及到两个边界条件。
假设我们有一个一阶常微分方程dy/dx = f(x,y),我们需要找到满足两个边界条件y(a) = alpha 和y(b) = beta 的解。
两点边值问题的解法通常包括以下步骤:1. 定义一个初始猜测值y0(x)。
2. 使用数值方法(如欧拉法、龙格-库塔法等)求解微分方程,得到新的解y1(x)。
3. 检查新的解是否满足边界条件。
如果满足,则找到了解;否则,返回步骤2,使用新的解作为初始猜测值继续求解。
下面是一个使用Python实现两点边值问题的示例代码:```pythonimport numpy as npfrom scipy.integrate import odeint# 定义微分方程dy/dx = f(x,y)def f(x, y):return x * y - 1# 定义两个边界条件y(a) = alpha 和y(b) = betaa, b, alpha, beta = 0, 1, 1, 0# 定义初始猜测值y0(x)y0 = np.array([0.5, 0.5])# 使用数值方法求解微分方程def solve_two_point_boundary_value_problem(f, a, b, alpha, beta, y0, tol=1e-6, max_iter=100): for i in range(max_iter):y = odeint(f, y0, [a, b])if np.allclose(y[:1], alpha) and np.allclose(y[-1], beta):return y[1:-1]y0 = y[1:-1]raise ValueError("Solution not found within the specified tolerance and maximum iterations.")# 求解两点边值问题solution = solve_two_point_boundary_value_problem(f, a, b, alpha, beta, y0)print("Solution:", solution)```在这个示例中,我们使用`odeint`函数求解微分方程,并使用`np.allclose`检查新的解是否满足边界条件。
超松弛迭代法求解两点边值问题(二)

超松弛迭代法求解两点边值问题(二)摘要本文是在matlab环境下熟悉的运用计算机编程语言并结合超松弛变量超松弛迭代法的理论基础对方程组求解。
首先,本文以微分方程边值问题为例,导出了离散化后线性方程组即稀疏线性方程组,转化对稀疏线性方程组求解问题。
其次,用超松弛( SOR) 迭代法编写matlab程序,对产生的稀疏线性方程组进行迭代法求解。
然后,分别改变松弛因子ω和分段数n的值,分析其收敛性和收敛速度,做出各个方面的分析和比较得到相关结论。
最后,将超松弛迭代算法在计算机上运用matlab语言实现, 得出了一组与精确解较接近的数值解,并画图比较,验证逐次超松弛( SOR) 迭代法的精确性。
关键词:稀疏线性方程组;逐次超松弛迭代法;松弛因子;matlab编程OVERRELAXATION ITERATIVE METHOD FORSOLVINGTWO-BOUNDARY VALUE PROBLEM(TWO)ABSTRACTThis is familiar with the use of computer programming in matlab language and overrelaxation variable overrelaxation iteration method of the theoretical basis of solving equations.First of all, as an example, based on differential equation boundary value problem is derived after discretization is sparse system of linear equations of linear equations, the transformation of sparse linear equations to solve the problem. Second, use write matlab program over relaxation (SOR) iteration method, the iteration method solving sparse linear equations. Then, change the values of relaxation factor and section number n omega, analyzes its convergence and convergence speed, all aspects to make the analysis and comparison of related conclusions. Finally, the over-relaxation iteration algorithm is implemented on a computer using matlab language and obtained a set of numerical solution with exact solution is close to, and draw the comparison, verification of successive overrelaxation (SOR) the accuracy of iterative method.Key words: Sparse linear system of equations;Successive over relaxation iteration method; Relaxation factor;Matlab programming目录1 绪论 (1)1.1 课题研究 (1)2课题研究方法 (2)2.1 超松弛法产生的背景 (2)2.2 超松弛迭代法理论基础 (2)3 实验过程和运行结果 (5)4 结论 (9)参考文献 (10)附录 (11)1 绪论1.1 课题研究考虑两点边值问题容易知道它的精确解为为了把微分方程离散,把区间等分,令,,得到差分方程简化为从而离散后得到的线性方程组的系数矩阵为对,,,分别用、和的超松弛迭代法求解线性方程组,然后比较与精确解的误差;探讨使超松弛迭代法收敛较快的取值,对结果进行分析;探讨在迭代过程中取4位有效数字和7位有效数字有什么不同;谈谈你的体会。
微分方程边值问题数值技巧

微分方程边值问题的数值方法本部分内容只介绍二阶常微分方程两点边值问题的的打靶法和差分法。
二阶常微分方程为(,,),y f x y y a x b '''=≤≤(1.1)当(,,)f x y y '关于,y y '为线性时,即(,,)()()()f x y y p x y q x y r x ''=++,此时(1.1)变成性微分方程()()(),y p x y q x y r x a x b '''--=≤≤(1.2)对于方程(1.1)或(1.2),其边界条件有以下3类: 第一类边界条件为(),()y a y b αβ==(1.3)当0α=或者0β=时称为齐次的,否则称为非齐次的。
第二类边界条件为(),()y a y b αβ''==(1.4)当0α=或者0β=时称为齐次的,否则称为非齐次的。
第三类边界条件为0101()(),()()y a y a y b y b ααββ''-=+=(1.5)其中00000,0,0αβαβ≥≥+>,当10α=或者10β=称为齐次的,否则称为非齐次的。
微分方程(1.1)或者(1.2)附加上第一类,第二类,第三类边界条件,分别称为第一,第二,第值问题。
1 打靶法介绍下面以非线性方程的第一类边值问题(1.1)、(1.3)为例讨论打靶法,其基本原理是将边值转化为相应的初值问题求解。
【原理】假定()y a t '=,这里t 为解()y x 在x a =处的斜率,于是初值问题为(,,)()()y f x y y y a y a t α'''=⎧⎪=⎨⎪'=⎩(1.6)令z y '=,上述二阶方程转化为一阶方程组(,,)()()y zz f x y z y a z a tα'=⎧⎪'=⎪⎨=⎪⎪=⎩ (1.7)原问题转化为求合适的t ,使上述初值问题的解(,)y x t 在x b =的值满足右端边界条件(,)y b t β=(1.8)这样初值问题(1.7)的解(,)y x t 就是边值问题(1.1)、(1.3)的解。
两点边值问题

一、两点边值问题的直接差分法和积分插值法ⅰ. 直接差分化②区域剖分: 首先取个1+N 节点:b x x x x a N i =<<<<<= 10,将区间],[b a I =分成N 个小区间:.,,2,1,:1N i x x x I i i i =≤≤-于是得到区间I 的一个网格剖分。
记1--=i i i x x h ,这里取网格均匀时,即),,2,1(N i h h i ==取相邻节点i i x x ,1-的中点),,2,1)((12121N i x x x i i i =+=--③离散格式:用差商代替微商,将方程(1.1)在内点i x 离散化。
对充分光滑的u ,由Taylor 展式有)(]d d [2]d d [)()(2221111h O xuh h x u h h x u x u i i i i i i i i +-+=+-++-+, (1.2)=++=-----)(]d d [24]d d [)()()(33321212121h O xu p h x u p h x u x u x p i i i i i i i)(]d d [24]d d [333221h O xu p h x up i i i ++- (1.3) )(]d d [24]d d [)()()(333211111h O xu p h x u p h x u x u x p i i i i i i i ++=-+++++,(1.4)由(1.4)减(1.3),并除以21ii h h ++,得 ⎥⎦⎤⎢⎣⎡---+--++++i i i i i i i i i i h x u x u x p h x u x u x p h h )()()()()()(2111111 )()d d 12d d d d 2233112121h O x u p h h x u p x u p h h iii i i i i +⎥⎦⎤⎢⎣⎡-+⎪⎪⎭⎫ ⎝⎛⎥⎦⎤⎢⎣⎡-⎥⎦⎤⎢⎣⎡+=+-++)()d d 12)d d (d d 4)d d (d d2331221h O x u p h h x u p x h h x u p x iii i ii i+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡-+⎥⎦⎤⎢⎣⎡=++. (1.5)令)(),(),(),(2121i i i i i i i i x f f x q q x r r x p p ====--,由(1.2),(1.5)知,边值问题的解)(x u 满足方程:+⎥⎦⎤⎢⎣⎡---+-≡--++++i i i i i i i i i i i h h x u x u p h x u x u p h h x u L )()()()(2)(111111 [])()()()(111u R f x u q x u x u h h r i i i i i i i i i+=+-+-++, (1.6)其中)(d d 21)d d 121)d d (d d 41)()(22233221h O x u r x u p x u p x h h u R i i i i i i +⎪⎪⎭⎫ ⎝⎛⎥⎦⎤⎢⎣⎡-⎥⎦⎤⎢⎣⎡+⎥⎦⎤⎢⎣⎡-=+(1.7)为差分算子h L 的截断误差。
两点边值问题的有限元法

两点边值问题的有限元法(原创版)目录1.引言2.两点边值问题的定义和背景3.有限元法的基本原理4.两点边值问题在有限元法中的应用5.结论正文1.引言在数学和工程领域中,两点边值问题是一个广泛研究的问题。
给定一个函数,它在两个边界点上具有已知的函数值,要求找到这个函数。
这类问题在物理、力学、金融等多个领域都有实际应用。
为了解决这类问题,有限元法作为一种数值计算方法,被广泛应用于求解两点边值问题。
2.两点边值问题的定义和背景两点边值问题是指给定一个函数 f(x),已知它在 x=a 和 x=b 两个边界点上的函数值,即 f(a) 和 f(b),要求找到满足这两个边界条件的函数 f(x)。
这个问题可以表示为:f(a) = g(a)f(b) = g(b)其中 g(x) 是已知函数。
这个问题的求解在数学和工程领域具有重要意义,因为它可以用于解决许多实际问题,如流体力学、热传导、电磁场等。
3.有限元法的基本原理有限元法是一种数值计算方法,它通过将连续的求解域离散化为有限个单元,然后用基函数的线性组合来表示每个单元内的解。
这种方法可以有效地降低问题的维数,从而简化求解过程。
有限元法的基本步骤包括:建立有限元模型、选择基函数、组装方程、求解方程等。
4.两点边值问题在有限元法中的应用在有限元法中,两点边值问题可以通过以下步骤求解:(1)建立有限元模型:将求解域划分为有限个小区间,每个小区间用一个基函数表示。
(2)选择基函数:在每个小区间内选择一个适当的基函数,如多项式函数、三角函数等。
(3)组装方程:将基函数的线性组合表示的解代入两点边值问题的边界条件,得到一组线性方程。
(4)求解方程:用数值方法求解这组线性方程,得到每个小区间内的解。
(5)组装解:将每个小区间内的解组装起来,得到整个求解域内的解。
通过以上步骤,有限元法可以有效地求解两点边值问题。
这种方法具有较高的灵活性和广泛的适用性,可以应用于各种实际问题。
5.结论本文介绍了两点边值问题的有限元法求解方法。
数值分析的松弛法和打靶法

数值分析的松弛法和打靶法当微分方程要求在多于一个的自变量值上满足边界条件时,这种问题叫做两点边值问题。
解两点边值问题有两种不同类型的数值解法:打靶法和松弛法1、打靶法:打靶法的积分过程是从x1到x2,并且努力使积分结果在积分的终点和边界条件匹配。
在一个边界x1上选择了所有因变量的值,这些值必须和该边界的边界条件保持一致。
而另一个边界x2上的因变量依赖于随机猜测的参数。
在迭代过程中,渐渐地接近真实值,就像打靶一样。
打靶法适合于解震荡的很厉害的情况,精确地运用了多维全局收敛Newton-Raphson,设法零化n2个变元的n2个函数,这些函数通过从x1到x2积分N个微分方程得到。
2、对拟合点打靶:有时,由于错误严重的起始条件,初始解从x1到x2要碰到某些不可计算的,或是灾难性的结果。
拟合点打靶首先从x1积分到x1和x2之间的一个点xf,然后再从x2反向积分到xf。
3、松弛法:“松弛法”用了另外一种逼近方法,微分方程由覆盖积分限的一系列有限个差分方程来替代,试验解由各个网格点上的因变量的值组成,并不满足所需的有限个差分方程和边界条件。
迭代调整所有在网格上的值,使他们满足各个联系的差分方程,也满足边界条件。
适用于解平滑的情况,需要良好的初始预测值。
常微分方程的数值解法的思想是将微分方程改写成有限差分方程,打靶法和松弛法都是采用了这一思想。
它们的区别在于如何去处理边界条件物理中很常见的情况是知道初始点和终点的函数值,对于一维无限深势阱情况下的概率幅函数,在两个边界上的概率幅函数值是打靶法的基础是龙格库塔方法。
需要得到一个边界点上的函数值和函数的导数值在导数值不知道的情况下,采取的解决办法是在一定范围内猜测导数值,从初始位置边界:点开始计算,计算到终止位置边界点,然后比较终止位置边界点计算的函数值和预期值,如果计算值和预期值在误差允许范围内,就结束计算,反之,就重新猜测初始位置的导数值,重新计算,直到符合误差允许范围、这个过程和打靶射击是极其相似的,所以也被称为“打靶法”。
两点边值问题的不同迭代法比较及matlab实现

两点边值问题的不同迭代法比较及matlab实现问题:考虑两点边值问题:2,dydyaa,,,0,,1,,2 dxdx,,yy(0),0,(1),1.,x,1,a,容易知道它的精确解为: y,(1,e),ax1/,,1,ex,ih,i,1,2,...n,1为了将微分方程离散,把[0,1]区间n等分,令h=1/n,,得到差分方程 i2(,,h)y,(2,,h)y,,y,ah,从而得到迭代方程组的系数矩阵A。
i,ii,11 对=1,a=1/2,n=100,分别用jacobi,G-S,超松弛迭代法分别求线性方程组的解,要求,4位有效数字,然后比较与精确解的误差。
对=0.1,=0.01,=0.001,考虑同样问题。
,,,思想:利用书上的迭代公式即可。
注意问题:迭代矩阵是n-1阶的,不是n阶;等号右端向量b的最后一项,不是ah^2,而是ah^2-eps-hx,1,a,精确解: y,(1,e),ax1/,,1,e带入a=1/2,=1 ,代码:>> clear>> x=linspace(0,1); truy=(1-0.5)/(1-exp(-1/1))*(1-exp(-x./1))+x.*0.5;figure;plot(x,truy,'g','LineWidth',1.5); hold on;Grid图:三种方法的实现Jacobi法:代码见附录Eps=1结果:迭代次数k:22273结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.1结果:迭代次数k:8753结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果) Eps=0.01结果:迭代次数k:661结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)G-S迭代法:代码见附录Eps=1结果:迭代次数k:11125结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.1结果:迭代次数k:4394结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.01结果:迭代次数k:379结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)超松弛法:代码见附录Eps=1 w=1.56结果:迭代次数k:3503结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.1 w=1.56结果:迭代次数k:1369结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果)Eps=0.01 w=1.56结果:迭代次数k:131结果与精确解的比较图(绿色粗线是精确解,黑色细线是迭代结果) 结果:Jacobi、G-S、超松弛法,三者都能够取得对精确解的良好逼近,但是,在相同的精度条件下,三者的收敛速度是不一样的,jacobi<G-S<超松弛,也就是说,在迭代次数相同的条件下,精度:jacobi<G-S<超松弛。
求解两点边值问题的有理插值galerkin法

求解两点边值问题的有理插值galerkin法Galerkin法,也称作分子法,是一种用于求解两点边值问题的有理插值方法。
Galerkin法可以用来解决插值方法,拟合数据的关系,和求得自变量的取值(如拟合函数的极值)。
在本文中,将会介绍Galerkin 法如何在求解两点边值问题中发挥重要作用,并说明什么情况下Galerkin法更为有效。
一、什么是两点边值问题两点边值问题(Boundary Value Problem)是指一类特定的非线性问题,通常用来描述在一个定义域内满足现实条件下数学模型的求解/拟合过程。
大致可以分为初值问题和边值问题两类,前者是解决带有初始函数的初值问题的拟合(如求解ODE),而边值问题指的是描述定义域内间断函数满足边界条件的不等式系统(如求解PDE)。
二、Galerkin法的基本原理基于Galerkin法的变分原理,首先需要对两点边值问题的求解模型进行一定的定义和代数处理。
具体步骤如下:(1)首先根据问题及定义域内数学模型,确定一系列未知函数作为待求解变量;(2)构造一个能够捕获定义域及边界条件的函数类;(3)对函数空间进行 Galerkin正交展开,用有理函数作为基函数,通过矩阵运算把边值问题转换为矩阵有关的二次模型(要求基函数的数量大于待求解的未知函数的数量)。
(4)根据所构造出的二次模型,求解出未知函数及边界条件。
三、Galerkin法与常规插值法对比Galerkin法以有理函数作为基函数构建二次模型,从而更好地捕获定义域内的特征,更有效地描述二维数据的格式关系;而常规插值法,虽然也能够解决边值问题,但是很难实现高维数据的有效拟合,无论是精准度还是效率都很难达到Galerkin法的标准。
四、总结Galerkin法是用于求解两点边值问题的有理插值方法,它在变分原理的基础上,构造一个基于有理函数的函数空间,从而捕获边界条件及局部变化信息,更有效地拟合二维数据,并有助于求解未知函数及其边界条件。
第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步 构造试探函数空间。
刚性问题与边值问题的数值解法

刚性方程组先考虑两个简单的初值问题。
问题1.⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎭⎫ ⎝⎛32)0()0(,)sin (cos 2sin 22112''v u x x x v u v u (8.1)问题2.⎪⎪⎭⎫ ⎝⎛=⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛-+⎪⎪⎭⎫ ⎝⎛⎪⎪⎭⎫ ⎝⎛--=⎪⎪⎭⎫ ⎝⎛32)0()0(,)sin (cos 999sin 299999812''v u x x x v u v u (8.2)这两个问题有同样的解析解⎪⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫⎝⎛x x x x v x u cos sin 11)exp(2)()( (8.3)采用4阶显式R-K 方法来计算上面两个问题,以相同的误差要求来自动选取步长,计算从0=x 到10=x 。
第一个问题可用相当大的步长,而第二个问题能使用的步长小到难于接受。
如果改用某种低阶隐式格式,那么这两个问题均可用较大步长,计算出大致符合要求的解来。
上述显示出来的现象称为刚性;问题2是刚性的,问题1是非刚性的。
由于这两个问题的解是相同的,因此这种现象不是问题解的作用而是方程组的一种特性所引起的。
基于这个事实,较为正确的应称刚性方程组而不是刚性问题。
这个想法也给我们一种启示,可不考虑满足初值条件的特解而着重讨论方程组的通解。
对于问题1,方程组的系数矩阵的特征值为-1和-3,其通解为⎪⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫ ⎝⎛x x x x x v x u cos sin 11)3exp(11)exp()()(21αα (8.4)其中21,αα为任意常数。
对于问题2,方程组的系数矩阵的特征值为-1和-1000,其通解为⎪⎪⎭⎫ ⎝⎛+⎪⎪⎭⎫ ⎝⎛--+⎪⎪⎭⎫ ⎝⎛-=⎪⎪⎭⎫ ⎝⎛x x x x x v x u cos sin 9981)1000exp(11)exp()()(21ββ (8.5)其中21,ββ为任意常数。
热传导两点边值问题的通用数值解法

热传导两点边值问题的通用数值解法热传导两点边值问题的通用数值解法:
1、首先,把待求解的区域分割成若干小区域,即对求解区域进行细分,这一过程叫做网格划分;
2、然后,将每一小区域进行离散,得到一系列离散点,这些离散点间
用一条线段连接,这条线段叫做节点,构成一种网格;
3、接着,对每个小区域采用有限元法,利用积分得到热流密度方程的
解析解,得到每个网格的节点的热功率;
4、之后,用Hotz定理,把大的热功率方程转化为一个矩阵形式的方程,并利用适当的迭代技术得到整个网格中每个节点附近的温度;
5、最后,计算从已知的两点的温度和到从每个节点的热功率,利用积
分方法求得求解区域的温度,从而得到最终的结果。
由两点边值问题谈数值计算方法

方法 , 文从 有 限差分 方 法和有 限元方 法讨论 入手 , 本
求u EV, U=auv =fv , v 强解 U一 即 ( ,) ()V EV,
定 是 后面 的弱解。
于是 U auv = uv x 『l【 v = (,) 砧 d =6r , EV f )V d
术创 新 大 门的钥匙 。这就 使得 社会 对其成 员数 学能
弱形式方程{() OU() 0 uO = , O =
t( ) , O =0 v O =0 v( )
力 的要 求不 断提 高 , 期望 涌现 出更 多数学基 础扎 实、
两边对方程进行积分 一o"d= fxV S . vx  ̄v ,v l u d uv x u 3= f x d一[, o  ̄v v ̄ a 于是变为求 u , = (,) 砧 = fx EV U auv = uvd  ̄v x d
Vv V ∈
创新能力较强、 知识 面宽广、 综合 素质佳 的数学人 才。随着计算机技术 的飞速发展, 由于在 生命科 也
学 、 学 、 理 、 学 、 制、 化 物 力 控 经济 等领 域 有 不少 现 象
(( ,) 于 uv双 线 性且 对称 , auv关 , v={EL , v 2o r
・
40 ・
维普资讯
由 两 点边 值 问题 谈 数 值 计 算 方 法
若w #O则 一定 j一个 区间, x,1 c[ ,] 使 W [oX] 0 1 ,
( ) 0或 w x <0 X> ()
假 设 I N 1 > INI 一 U I U
=
两 边 问 i0 点 界 题-u u" (
f
§5.7 边值问题的数值解法

© 2009, Henan Polytechnic University §7 边值问题的数值解法
1010
第五章 常微分方程数值解法
即为如下的线性方程组:
1 1 2 h2q 1 1 1 2 h 2 q2 y0 y h2 f 1 1 y2 h2 f 2 ... 1 yn1 h2 f n1 1 yn
© 2009, Henan Polytechnic University §7 边值问题的数值解法
i 1, ... , N 1
6 6
第五章 常微分方程数值解法
考虑如下的线性方程
y( x ) p( x ) y( x ) q( x ) y( x ) r ( x ), a x b y(a ) , y(b)
先猜测一个初始斜率 y (a) = s,通过解初值问题 y f ( x , y , y) y(a ) a y(b) = (s) y( a ) s 找出s*使得(s*) = ,即把问 题转化为求方程 (s) = 0 的根。
© 2009, Henan Polytechnic University §7 边值问题的数值解法
© 2009, Henan Polytechnic University §7 边值问题的数值解法
1414
考虑如下的二阶常微分方程的边值问题
y( x ) q( x ) y( x ) f ( x ), a x b y(a ) , y(b) 其中q(x)(0),f(x)在[a,b]上连续,,为常数。
对应的差分问题是:
第5章---两点边值问题求解方式

i 1, 2, , N 1
y0 A, yN B
yi1 yi1 2 yi h2
2
xi
yi1 yi1 2h
2 xi2
yi
sin(ln xi2
xi
)
y0 1, yN 2
xi 1 ih, i 1, 2, , N 1
2019/11/19
2019/11/19
航空航天中的计算方法
Page 5
5.2 打靶法
5.2 打靶法 以二阶系统为例,考虑边值问题:
y(x) f (x, y(x), y(x)), x a,b
y(a) A,
变换:
y1 y
y2 y 考虑初值问题:
y(b) B
y1(x) y2 (x)
微分方程 y(x) f (x, y(x), y(x)), x a,b
y(a) A, y(b) B
离散化,将区间 xa,b 等分为N个子区间:
h ba, N
xi a ih,
i 0,1, 2,
,N
在节点上应用中心差分公式,得到代数方程组:
yi1
yi1 2 yi h2
h ba, N
xi a ih,
i 0,1, 2,
,N
将 y(x)在xi处Taylor展开:
y( x)
y( xi )
y( xi ) x
xi
1 2
y( xi ) x
xi
2
1 3!
y( xi ) x
xi
3
2019/11/19
航空航天中的计算方法
两点边值问题的有限元法

两点边值问题的有限元法引言有限元法是一种常用的数值计算方法,广泛应用于工程、物理和数学等领域。
在求解边值问题时,有限元法提供了一种有效的数值逼近方法。
本文将介绍有限元法在求解两点边值问题中的应用。
问题描述考虑一个一维边值问题,即求解形如以下方程的问题:$$\f ra c{{d^2u(x)}}{{dx^2}}+f(x)=0,\q ua da<x<b$$其中$u(x)$是要求的函数,$f(x)$是已知的函数,$a$和$b$分别表示求解区间的起始点和终止点。
此问题还需要满足以下边界条件:$$u(a)=\al ph a,\q uad u(b)=\b et a$$其中$\al ph a$和$\b e ta$是给定的常量。
有限元法的基本思想有限元法的基本思想是将求解区间$[a,b]$划分为$N$个小单元区间,每个小单元用一个简单的函数来逼近原始问题的解。
这些函数称为有限元基函数。
通过在每个单元上逼近原问题,我们可以得到整个求解区间上的逼近解。
离散化我们首先将求解区间$[a,b]$等分为$N$个小单元,每个单元的长度为$h=\fr ac{{b-a}}{N}$。
然后,我们在每个单元上建立逼近解的有限元基函数。
常用的有限元基函数包括线性插值函数、二次插值函数等。
有限元法的步骤有限元法的步骤如下:1.网格剖分:将求解区间$[a,b]$等分为$N$个小单元,确定每个单元的长度$h$。
2.建立有限元基函数:选取适当的有限元基函数,常用的有限元基函数包括线性插值函数、二次插值函数等。
3.建立代数方程组:根据离散化的方法,建立代数方程组。
使用有限元基函数逼近原问题,在每个单元上建立局部代数方程。
将所有局部代数方程组合起来,得到整个求解区间上的代数方程组。
4.求解代数方程组:解线性代数方程组,得到每个单元上的逼近解。
5.拼接解:根据单元之间的连接关系,拼接每个单元上的逼近解,得到整个求解区间上的逼近解。
数值实例以一个简单的例子来说明有限元法的应用。