第5章 两点边值问题求解方法.
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)化为
直接法求两点边值问题
课程设计(论文)任务书数学与计算科学学院学院信息与计算科学专业班课程名称科学仿真实验五题目直接法求解两点边值问题(一)任务起止日期:2014 年 6 月23 日~2014年7月 6 日学生姓名学号指导教师教研室主任年月日审查课程设计(论文)任务注:1. 此任务书由指导教师填写。
如不够填写,可另加页。
2. 此任务书最迟必须在课程设计(论文)开始前下达给学生。
学生送交全部材料日期学生(签名)指导教师验收(签名)直接法求解两点边值问题(二)摘要线性方程组的数值解法可以分为直接法和迭代法两类。
所谓直接法,就是不考虑舍入误差,通过有限步骤四则运算即能求得线性方程组准确解的方法。
如克莱姆法则,但通过第一章的分析,我们知道用克莱姆法则来求解线性代数方程组并不实用,因而寻求线性方程组的快速而有效的解法是十分重要的。
本章讨论计算机上常用而有效的直接解法――高斯消去法和矩阵的三角分解等问题。
为方便计,设所讨论的线性方程组的系数行列式不等于零。
高斯消去法是解线性方程组最常用的方法之一,它的基本思想是通过逐步消元,把方程组化为系数矩阵为三角形矩阵的同解方程组,然后用回代法解此三角形方程组得原方程组的解。
关键词:线性方程组;直接解法;高斯消去法DIRECT METHOD SOLVING TWO-POINT BOUNDARY VALUE PROBLEMS(2)ABSTRACTNumerical algorithm of linear equations can be divided into two categories, direct method and iterative method. The so-called direct method, is not considered rounding error, through limited steps arithmetic which can obtain the accurate solution of linear equations method. Such as cramer's rule, but through the analysis of the first chapter, we know that cramer's rule is used to solve the linear algebraic equations is not practical, thus seeking quick and effective solutions of systems of linear equations solution is very important.This chapter discuss computer commonly used and effective direct solution - gaussian elimination and triangle decomposition of matrices. For the convenience of meter, discussed the coefficient determinant of linear equations is not equal to zero.Gauss elimination method is one of the most commonly used method of solving linear equations, the basic idea is to pass a gradual elimination, to coefficient matrix of the triangular matrix equations with solutions of the equations, then by back substitution method solving the triangle equations to the solution of the original equations.Key words:linear equations; Direct method; Gaussian elimination目录1问题的提出 (1)2 理论基础 (1)2.1 高斯消去法 (2)2.2 列主元消去法 (5)2.3 矩阵的三角分解法 (6)2.3.1 算法介绍 (6)2.3.2 定理结论 (7)2.3.3 计算公式 (9)2.4解三对角方程组的追赶法 (10)3 问题的求解 (12)3.1顺序消去法 (12)3.2 列主元消去法 (13)3.3Doolittle分解法 (14)3.4 追赶法 (15)4 计算结果 (16)参考文献 (20)附录 (21)1 问题的提出考虑两点边值问题:()()⎪⎩⎪⎨⎧==<<=+.11,00,10,22y y a a dx dy dx y d ε 容易知道它的精确解为:.1111ax e e a y x +⎪⎪⎭⎫ ⎝⎛---=--εε为了把微分方程离散,把[]1,0区间n 等分,令nh 1=,ih x i =,,1,,2,1-=n i 得到差分方程:,21211a h y y hy y y ii i i i =-++-++-ε简化为:()(),2211ah y y h y h i i i =++-+-+εεε从而离散后得到的线性方程组的系数矩阵为:()()()()⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+-++-++-++-=h h h h h h h A εεεεεεεεεε2222对1=ε,21=a ,100=n ,分别用顺序消去法、列主元消去法、Doolittle 分解法和追赶法求解线性方程组,然后比较与精确解的误差,对结果进行分析。
两点边值问题方程
两点边值问题方程两点边值问题是一种求解微分方程的方法,它涉及到两个边界条件。
假设我们有一个一阶常微分方程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`检查新的解是否满足边界条件。
两点边值问题的有限元解法【文献综述】
文献综述信息与计算科学两点边值问题的有限元解法有限元方法已成为当前求解偏微分方程数值解的一个重要方法, 从数学上看, 这种方法起源于变分法, 是古典的变分法与分片多项式插值相结合的产物, 20世纪50年代初, 从事航空工程、土木结构、水利建设的工程师们开始应用和发展一种用离散模型代替连续模型的方法求解各种结构力学问题, 并且逐渐波及各个连续场领域, 1960年美国人Ray Clough教授首先给出了“有限元方法”]1[这一名称. Clough教授形象地将其描绘为:“有限元法=Rayleigh Ritz法+分片函数”, 即有限元法是Rayleigh Ritz法的一种局部化情况.不同于求解(往往是困难的)满足整个定义域边界条件的允许函数的Rayleigh Ritz法, 有限元方法将函数定义在简单几何形状(如二维问题中的三角形或任意四边形)的单元域上(分片函数), 且不考虑整个定义域的复杂边界条件, 这是有限元法优于其他近似方法的原因之一.对于不同物理性质和数学模型的问题, 有限元求解法的基本步骤是相同的, 只是具体公式推导和运算求解不同.有限元求解问题的基本步骤通常为:首先讨论问题的求解域, 根据实际问题近似确定求解域的物理性质和几何区域.并求解域离散化, 将求解域近似为具有不同有限大小和形状且彼此相连的有限个单元组成的离散域, 习惯上称为有限元网络划分; 然后确定状态变量及控制方法:一个具体的物理问题通常可以用一组包含问题状态变量边界条件的微分方程式表示, 为适合有限元求解, 通常将微分方程化为等价的泛函形式;接下来进行单元推导:对单元构造一个适合的近似解, 即推导有限单元的列式, 其中包括选择合理的单元坐标系, 建立单元试函数, 以某种方法给出单元各状态变量的离散关系, 从而形成单元矩阵.最后将单元总装形成离散域的总矩阵方程, 反映对近似求解域的离散域的要求, 即单元函数的连续性要满足一定的连续条件.并联立方程组求解, 有限元法最终导致联立方程常用的求解方法如直接法、选代法和随机法.求解结果是单元结点处状态变量的近似值.我国著名数学家冯康先生说过, 同一物理问题可以有许多不同的数学形式, 它们在数学上是等价的, 但在实践中并不等效, 从不同的数学形式可能导致不同的数值计算方法, 原问题的基本特征在离散后应尽可能得到保持. 而基于变分方法]2[的有限元方法正是利用这种思想, 把数学物理方程中存在大量存在的问题转化为与原问题等价的变分问题, 最后采用数值方法求解, 这是近现代求解微分方程的一种非常重要的方法, 有着重要的理论和实际意义.因此越来越多的数学家加入了发展有限元方法的行列, 使这种方法逐渐摆脱了工程问题的局限性, 成为一种具有严密数学基础的求解微分方程定解问题的有效方法.本文就是对两点边值问题的有限元解法进行了讨论研究, 其中运用了11篇文献. 文献[3]介绍了一些泛函分析的有关知识; 文献[4]和[5]是对有限元方法的一些基本理论作了一定的介绍,文献[6]讲解了一种解边值问题比较常用的方法--Galerkin 法; 文献[7,8,9]都介绍了偏微分方程数值解的两类主要方法, 即有限差分方法和有限元方法, 其中, 文献[9]还介绍了偏微分方程数值处理中的基本思想、有关理论、有效算法和数值例子等内容.在这些文献中, 文献[6,7,8,9]对本文的研究起到至关重要的作用,本文首先引入两点边值问题]6[⎪⎩⎪⎨⎧='=<<=+-=0)(,0)(),()(b u a u b x a x f qu dx du p dx d Lu 其中⎪⎩⎪⎨⎧≥∈>≥∈∈0)(),(0)(),()()(0min 1x q I C q p x p I C p I C x f然后参考文献[6][9], 利用变分原理以及泛函分析基本知识, 可将上述问题转化为等价的变分问题求)(1I H u E ∈, 使)(),,(),(1I H v v f v u a E ∈∀=, 其中⎪⎩⎪⎨⎧⋅=+⋅=⎰⎰b a b a vdx f v f dxquv dx dv dx du p v u a ),()(),( 参考文献[9], 将)(1I H E 的试探函数和检验函数子空间均取为h E V , 可得近似变分问题求h E h V x u ∈)(, 使h E h h h h V v v f v u a ∈∀=),,(),(再将上述问题等价的写成有限元方程的形式求∑==n j j jh x u x u 1)()(φ, 使n i f u a j j h ,,2,1),,(),(Λ==φφ其中{}n j x j ,,2,1),(Λ=φ为线性元空间h E V 的Lagrange 节点基函数. 于是,参考文献[7] 得到相应的矩阵表达形式b AU =其中⎥⎦⎤⎢⎣⎡=),(),(),(),(1111n n n n a a a a A φφφφφφφφΛΛ, ⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=),(),(1n f f b φφM 这样, 我们就得到了两点边值问题的有限元求解方法,最后, 我们可以试着讨论具体的模型问题⎪⎩⎪⎨⎧='=<<=+''-=0)1(,0)0(10,2sin 242u u x x u u Lu ππ, 我们可以利用中矩形近似计算积分, 代入上述问题的有限元方程, 可以较为精确求出上述问题的数值解.结合文献[10]、[11]提供的丰富的理论知识, 我们可以试着探讨更广泛的一些问题的有限元方法求解.参考文献[1] R.A.Adams.Sobolev spaces, Academic Press,New York,1975.[2] 冯康. 基于变分原理的差分格式. 应用数学与计算数学, 1965, 2(4):237-261.[3] 王声望, 郑维行等编著. 实变函数与泛函分析概要 [M]. 北京: 北京大学出版社, 1987.[4] 王烈衡, 许学军编著. 有限元方法的数学基础 [M]. 北京: 科学出版社, 2004.[5] 李开泰, 黄庆怀编著. 有限元方法及其应用 [M]. 北京: 科学出版社, 2006[6] 李荣华. 偏微分方程数值解法[M] . 北京: 高等教育出版社, 2005[7] 舒适. 偏微分方程典型离散化方法的基本理论与算法分析. 内部讲义, 2007, 5-68[8] 李荣华. 边值问题的Galerkin 法[M] . 北京: 科学出版社, 2005[9] 陈传淼, 黄云清. 有限元高精度理论. 湖南科技出版社, 1995[10] A. Bowyer. Computing Dirichlet Tessellations. Computer Journal, 1981, 24(2):162-166[11] N.N.Yan, Superconvergence analysis and a posteriori error estimation in finite elementmethods, Science Press Publications, Beijing, 2008.。
两点边值问题
一、两点边值问题的直接差分法和积分插值法ⅰ. 直接差分化②区域剖分: 首先取个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 的截断误差。
第5章 边值问题
有源——Poission’s 有源——Poission’s Equation ∇ 2ψ = − ρ ε Poission’s Equation+边界条件 Equation+边界条件 Laplace’s Equation +边界条件 +边界条件
边值问题:在给定边界条件下求解偏微分方程 边值问题:在给定边界条件下求解偏微分方程
2
∴ψ = C1 ln r + C 2
代入边界条件: r=a时 代入边界条件: r=a时ψ=U,r=b时ψ=0,C1=?, C2=? r=b时 =0,
电磁场与电磁波 北京邮电大学
4
例2
已知:导体球,半径a,球体电位U 基准?) 已知:导体球,半径a,球体电位U (基准?) 求:球外的电位? 分析:
[
]
[
]
18
上题中边界处的 电位分布
v( x,0) = ∑ ( An + Bn ) sin(nπx / a )
n =1
∞
探讨一下边界处分布函数的形状:
电磁场与电磁波
北京邮电大学
19
例2. 书124页的例5.3 124页的例 页的例5.3
…… 简化的步骤(2 简化的步骤(2)
判断解的形式 求特征值,写出通解形式 代入边界,求待定系数 写出问题的解
第五章 静态场的边值问题
主要内容 静电场边值问题和唯一性定理 直接积分法 分离变量法 ※ 镜像法 ※ 保角变换法和有限差分法(自学) 保角变换法和有限差分法(自学)
电 磁 场 与 电 磁波
北京邮电大学
1
静电场的边值问题
一般情况下电位或场强满足两个方程 一般情况下电位或场强满足两个方程 无源——Laplace’s 无源——Laplace’s Equation ∇ 2ψ = 0
两点边值问题的有限差分法
盛年不重来,一日难再晨。
及时宜自勉,岁月不待人盛年不重来,一日难再晨。
及时宜自勉,岁月不待人盛年不重来,一日难再晨。
及时宜自勉,岁月不待人学生实验报告实验课程名称偏微分方程数值解 _________________开课实验室___________ 数统学院 ____________________学院数统年级2013专业班信计2班学生姓名_________ 学号________开课时间2015至2016学年第2 学期数学与统计学院制.实验内容考虑如下的初值问题:定常数。
部分。
0, b 1 , p 3,r 1,q 2 ,0 ,1,问题(1)的精确解 uxx 2e x 1 ,及p 1,r 2,q 3带入方程(1)可得f x 。
分别取并能通过计算机语言编程实现。
.实验目的通过该实验,要求学生掌握求解两点问题的有限差分法, 开课学院、实验室: 数统学院实验时间:2016年 月 日Lud du x —p x ------------ dx dxdu xdx qf x , x a, b (1)其中 p x C 1 a,b ,x ,q a,bP min 0 , q x 0 ,,是给将区间N 等分, 网点x1.在第三部分写出问题(1)和 (2)的差分格式,并给出该格式的局部截断2.根据你写出的差分格式, 编写一个有限差分法程序。
将所写程序放到第四3.给定参数a 其中将u xN 10,20,40,80,160 ,用所编写的程序计算问题 (1)和⑵。
将数值解记为5 ,i 1,...,N 1,网点处精确解记为i1,…,N 1。
然后计算相应的误差1 lN/I 2 Nilh u i U i 2及收敛阶n e: e 11,将计算结果填入 I iIn 2第五部分的表格,并对表格中的结果进行解释?4.将数值解和精确解画图显示,每种网格上的解画在一张图。
三•实验原理、方法(算法)、步骤1. 差分格式:L L .i=-1/h A 2O|](% 曲汀—):i.「)/2h+w =応=A,匕2. 局部阶段误差:n (u)=O(hA2)3. 程序clear all N=10; a=0;b=1;P=@(x) 1; r=@(x) 2; q=@(x) 3; aIpha=0;beta=1;f=@(x) (4*xA2-2)*exp(x-1);h=(b-a)/N;H=zeros(N-1,N-1);g=zeros(N-1,1);%for i=1H(i,i)=2*(p(a+(i+1/2)*h)+p(a+(i-1/2)*h))/h+2*h*q(a+i*h);max u i c 0 i Nii U iNeH(i,i+1)=-(2*p(a+(i+1/2)*h)/h-r(a+i*h));g(i)=2*h*f(a+i*h)+(2*p(a+(i-1/2)*h)/h+r(a+i*h))*alpha;endfor i=2:N-2H(i,i-1)=-(2*p(a+(i-1/2)*h)/h+r(a+i*h));H(i,i)=2*(p(a+(i+1/2)*h)+p(a+(i-1 /2)*h))/h+2*h*q(a+i*h);H(i,i+1)=-(2*p(a+(i+1/2)*h)/h-r(a+i*h));g(i)=2*h*f(a+i*h);endfor i=N-1H(i,i-1)=-(2*p(a+(i-1/2)*h)/h+r(a+i*h));H(i,i)=2*(p(a+(i+1/2)*h)+p(a+(i-1 /2)*h))/h+2*h*q(a+i*h); g(i)=2*h*f(a+i*h)+(2*p(a+(i+1 /2)*h)/h-r(a+i*h))*beta; endu=H\g;u=[alpha;u;beta];x=a:h:b;y=(x.A2).*exp(x-1);plot(x,u);hold onplot(x,y);y=y'z=y-u四•实验环境(所用软件、硬件等)及实验数据文件Matlab五•实验结果及实例分析N越大只会使绝对误差变小,方法没变,所以收敛阶一致。
第5章_常微分方程数值解法
(5.2.6)
由于方程关于 uk +1 是隐式形式,所以式(5.2.6)称为隐式 Euler 公式。前面显式和隐式 Euler 公式在计
u '(tk ) ≈
得到的递推公式:
u (tk +1 ) − u (tk −1 ) 2h
(5.2.7)
uk +1 ≈ uk −1 + 2hf (tk , uk )
在计算 uk +1 时,需要用到前两步结果 uk −1 , uk ,称为两步法公式。 (2)积分近似方法 将(5.2.1)式的微分方程写成 du = f (t , u )dt ,在区间 [tk , tk +1 ] 上积分,有:
5.2.2 Runge-Kutta 方法 Euler 方法比较简单,但它的收敛阶数低。可以利用 Taylor 展开式构造高阶的单步方法。Euler 公式 可以看成是由一阶 Taylor 展开式得到的,所以应用高阶 Taylor 展开就可以得到高阶单步法。例如:将 u (tk +1 ) 在 tk 处作 q 阶 Taylor 展开:
dy = a − by (t ) dt
是一阶常微分方程,而
2 ∂ 2 u ( x, t ) 2 ∂ u ( x, t ) a = ∂t 2 ∂x 2
(5.1.1)
(5.1.2)
是二阶偏微分方程。 所有使微分方程成为等式的函数,都是微分方程的解;在 n 阶微分方程中,将微分方程的含有 n 个任 意常数的解称为该微分方程的通解。为确定微分方程通解中的任意常数而需要的条件称为定解条件;定解 条件可以分为初始条件和边界条件两类。由微分方程和定解条件一起构成的问题称为微分方程定解问题。 根据定解条件的不同,常微分方程分为初值问题和边值问题;若定解条件是描述函数在一点(或初始 点)处状态的,则称为初值问题,一阶常微分方程初值问题的一般形式为:
常微分方程两点边值问题的差分方法
常微分方程两点边值问题的差分方法说实话常微分方程两点边值问题的差分方法,我一开始也是瞎摸索。
我就知道这是个挺难搞的事儿,但我就想把它弄明白。
我最早尝试直接用我之前学过的常微分方程的一些解法,可发现对于两点边值问题完全行不通,这才意识到这个问题很特殊,需要专门的方法来对付。
那我就开始了解差分方法呗。
这个差分啊,简单来说就有点像我们数东西的时候不是一个一个数,而是隔几个数一个那样,在数学里就是把连续的函数离散化。
比如说我们有个常微分方程,在一个区间上的两点边值问题,我要做的第一步,不妨就把这个区间分成好多小份,这个小份的大小我开始还不确定选多少好呢,我就试了好几个不同的值。
我试着先在网格点上近似导数。
我最开始想当然地用了一种很简单的近似方法,就像我们估算速度的时候,直接用两个点的函数值之差除以距离嘛,但是发现这样得到的结果那叫一个惨不忍睹啊,误差大得很。
后来仔细研究才知道,要根据这个常微分方程的具体形式来更好地构造近似导数,才能减小误差。
还有在处理边界条件的时候,这个可千万不能马虎。
我一开始就没太重视边界条件,结果算出的结果也完全不对。
其实就像是盖房子必须要打好地基一样,这个边界条件对于两点边值问题就是根基,如果根基歪了,那整个房子肯定也立不住。
我后来发现了一个比较靠谱的步骤。
就是在差分的时候,对于方程中的每一项,根据泰勒公式来构建合理的差分格式。
这个就像搭积木,每个部分都要搭得准确才能让整体稳固。
我把方程中的项都按照精心设计的差分格式替换掉之后,就得到了一个代数方程组,解这个方程组就能够求出在离散点上的近似解了。
不过这里面还有个小窍门,在求解方程组的时候,我刚开始没注意方程组矩阵的性质,有时候得到的解是不准确的。
我后来发现有的矩阵如果是稀疏友好型的,那就要选择专门针对稀疏矩阵的算法来求解,这样速度又快结果又准确。
我不确定我现在的方法是不是最完美的,但就目前我做的一些练习题还有自己研究的小例子来说,这个方法已经相当好用了。
求解两点边值问题的有理插值galerkin法
求解两点边值问题的有理插值galerkin法Galerkin法,也称作分子法,是一种用于求解两点边值问题的有理插值方法。
Galerkin法可以用来解决插值方法,拟合数据的关系,和求得自变量的取值(如拟合函数的极值)。
在本文中,将会介绍Galerkin 法如何在求解两点边值问题中发挥重要作用,并说明什么情况下Galerkin法更为有效。
一、什么是两点边值问题两点边值问题(Boundary Value Problem)是指一类特定的非线性问题,通常用来描述在一个定义域内满足现实条件下数学模型的求解/拟合过程。
大致可以分为初值问题和边值问题两类,前者是解决带有初始函数的初值问题的拟合(如求解ODE),而边值问题指的是描述定义域内间断函数满足边界条件的不等式系统(如求解PDE)。
二、Galerkin法的基本原理基于Galerkin法的变分原理,首先需要对两点边值问题的求解模型进行一定的定义和代数处理。
具体步骤如下:(1)首先根据问题及定义域内数学模型,确定一系列未知函数作为待求解变量;(2)构造一个能够捕获定义域及边界条件的函数类;(3)对函数空间进行 Galerkin正交展开,用有理函数作为基函数,通过矩阵运算把边值问题转换为矩阵有关的二次模型(要求基函数的数量大于待求解的未知函数的数量)。
(4)根据所构造出的二次模型,求解出未知函数及边界条件。
三、Galerkin法与常规插值法对比Galerkin法以有理函数作为基函数构建二次模型,从而更好地捕获定义域内的特征,更有效地描述二维数据的格式关系;而常规插值法,虽然也能够解决边值问题,但是很难实现高维数据的有效拟合,无论是精准度还是效率都很难达到Galerkin法的标准。
四、总结Galerkin法是用于求解两点边值问题的有理插值方法,它在变分原理的基础上,构造一个基于有理函数的函数空间,从而捕获边界条件及局部变化信息,更有效地拟合二维数据,并有助于求解未知函数及其边界条件。
第五章-边值问题
4u0
n1,3,5
1 n
e
n b
x
sin
n
b
y
例 5.5: 将问题分解为两个场的叠加,简化问题的求解。
U0
U0
0
上下板、隔板处的边值保持不变。
0
U0
U0 d
y
U0 y
0
d
0
0
U0
U0 d
y
U0 y
d
0
U0
1
U0 d
y
0
Y ( y) sin(n y)
d
X (x) ek x
n x
贝塞尔函数
贝塞尔函数是数学上的一类特殊函数的总称。通常单说的贝 塞尔函数指第一类贝塞尔函数。一般贝塞尔函数是下列常微
分方程(一般称为贝塞尔方程)的标准解函数y(x):
x2
d2y dx2
x
dy dx
(x2
2)y
0
J 第一类贝塞尔函数
N Y 第二类贝塞尔函数,又写为
I
K 参考资料
虚宗量贝塞尔函数
/wiki/%E8%B4%9D%E5%A1%9E%E5%B0%94%E5%87%
分离变量法的应用
例5.3
1、确定解的形式:由于电位对于y方向来说出现重复零点, 因此用三角函数的形式更方便计算
y 0
Y Asinky Bcosky
b U0 a
0 x
则
X Cekx Dekx
(x, y) (Cekx Dekx)(Asin ky Bcosky)
代入边界条件
2
(
x,
xx yy 0 0) (x,b) 0
e d
n
n
An sin( d
数值方法——两点边值问题
数值方法13——两点边值问题
1. 打靶法
打靶法的积分过程是从x1到x2,并且努力使积分结果在积分的终点和边界条件匹配。
在一个边界x1上选择了所有因变量的值,这些值必须和该边界的边界条件保持一致。
而另一个边界x2上的因变量依赖于随机猜测的参数。
在迭代过程中,渐渐地接近真实值,就像打靶一样。
打靶法适合于解震荡的很厉害的情况,精确地运用了多维全局收敛Newton-Raphs on,设法零化n2个变元的n2个函数,这些函数通过从x1到x2积分N个微分方程得到。
1. 打靶法
打靶法的积分过程是从x1到x2,并且努力使积分结果在积分的终点和边界条件匹配。
在一个边界x1上选择了所有因变量的值,这些值必须和该边界的边界条件保持一致。
而另一个边界x2上的因变量依赖于随机猜测的参数。
在迭代过程中,渐渐地接近真实值,就像打靶一样。
打靶法适合于解震荡的很厉害的情况,精确地运用了多维全局收敛Newton-Raphs on,设法零化n2个变元的n2个函数,这些函数通过从x1到x2积分N个微分方程得到。
2. 对拟合点打靶
有时,由于错误严重的起始条件,初始解从x1到x2要碰到某些不可计算的,或是灾难性的结果。
拟合点打靶首先从x1积分到x1和x2之间的一个点x f,然后再从x2反向积分到x f。
3. 松弛法
松弛法用了另外一种逼近方法,微分方程由覆盖积分限的一系列有限个差分方程来替代,试验解由各个网格点上的因变量的值组成,并不满足所需的有限个差分方程和边界条件。
迭代调整所有在网格上的值,使他们满足各个联系的差分方程,也满足边界条件。
适用于解平滑的情况,需要良好的初始预测值。
第5章两点边值问题求解方法
Page 12
5.2 打靶法 作业题5:
用牛顿打靶法求解两点边值问题
y
2 x
y
2 x2
y
sin(ln x) x2 ,
1 x2
y(1) 1, y(2) 2
迭代初始条件取 y(1) 0 。
2020/9/1
航空航天中的计算方法
Page 13
5.3 有限差分法
5.3 有限差分法
用差分近似代替微分,将微
以二阶系统为例,边值问题:分方程化为代数方程求解
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
将 y(x)在xi处Taylor展开:
y( x)
y( xi )
航空航天中的计算方法
授课教师:陈琪锋 中南大学航空航天学院
第二部分 边值问题求解方法
第5章 两点边值问题求解方法
内容提要
5.1 常微分方程边值问题的概念 5.2 打靶法 5.3 有限差分法 5.4 有限元法
[1] Part 3: Two-Point Boundary Value Problems.
y( xi )
y( xi1 ) h
y( xi )
一阶精度
若取x=xi-1=x-ih:
y( xi1 )
y( xi )
y( xi )h
1 2
h2 y( xi )
1 6
h3
y(
[2] David L. Darmofal, Computational Methods in Aerospace Engineering (Lecture Notes), MIT, 2005. Chap11,12.
两点边值问题的差分求解
注意
所以
由此知:(局部)截断误差可视为差分格式,将数值解换成相应真解值后,左端减右端,再做Taylor展式获得的(可作为计算公式)。
方程的联立形式(中心差分格式)
矩阵形式 (其中 是三对角矩阵)
又因为A是三对称矩阵,而且符合追赶法的使用条件,故可用追赶法求解U的解。
3.对浮点数求绝对值时,应使用fabs()函数,而不是abs()。
4.注意乘除的计算,不能直接写成2x等,必须加上符号,2*x。
五、运行输出结果及分析:
上述程序在Visual C++ 6.0环境下加以实现。经过多次测试,程序运行正确。例如:分别输入n值:20 ,40,运行结果如图所示,图中显示了每一步的值及端点误差。
u[n-1]=y[n-1];
for(i=n-2;i>=1;i--)
u[i]=y[i]-m[i]*u[i+1];
for(i=1;i<n;i++)
{ printf("请输出u[%d]的值:%f;",i,u[i]);
printf("——精确解为%f",f[i]);
printf("误差为%f",fabs(u[i]-f[i]));
三、主要程序代码或命令:
#include<stdio.h>
#include<math.h>
#define MAX 200/*预定义数组大小*/
void main()
{ int n,i; /*初始化阶数n*/
float u[MAX],y[MAX];
float F[MAX],f[MAX],m[MAX];
两点边值问题的解法
两点边值问题的解法
两点边值问题是数学中常遇到的问题,其解法有很多种,下面是其中一种常见的解法:
1. 分离变量法:将微分方程中的变量分离出来,得到一个只含有一个变量的微分方程,然后求解这个微分方程,得到通解。
2. 特征方程法:对于一些特定类型的微分方程,可以通过求解特征方程来得到通解。
3. 积分因子法:通过引入积分因子,将微分方程转化为一个全微分方程,然后求解这个全微分方程,得到通解。
4. 数值解法:对于一些复杂的微分方程,无法得到解析解,可以使用数值方法来求解,例如有限差分法、有限元法等。
以上是常见的两点边值问题的解法,具体的解法需要根据具体的问题来选择。
在实际应用中,需要根据问题的特点和要求选择合适的解法。
第5章两点边值问题求解方法介绍
x a, b
y1 y2 z , z 2 其中: 1
解得: y1 ( x; ), y2 ( x; ), z1 ( x; ), z2 ( x; ) 得到的终端值和对α的偏导数: y1 y1 (b; ), (b; )
2018/10/14 航空航天中的计算方法 Page 12
y1 y
( x ) y2 ( x ) y1
y2 (a) 初值问题的解为: y1 ( x; ), y2 ( x; ) y1 (b; ) B 找到α满足: y1 (a) A,
2018/10/14 航空航天中的计算方法
如何求α?
Page 6
5.2 打靶法 打靶法的几何解释:
如果边值条件形式可写为: gL ( y(a)) 0, gR ( y(a)) 0
其中gL和gR的维数之和等于m,则边界条件为分离的。
2018/10/14 航空航天中的计算方法 Page 5
5.2 打靶法 5.2 打靶法 以二阶系统为例,考虑边值问题: y( x ) f ( x, y( x), y( x)), x a, b
迭代求解公式: m 1 m B y1 (b; m )
结束条件:
2018/10/14
y1 (b; m )
y1 (b; ) ?
Page 10
1 y1 (b;m1 ) B
航空航天中的计算方法
5.2 打靶法 差分法求偏导数
y1 (b;1 ) y1 (b; 0 ) y1 (b; 0 ) 1 0
线性近似:按割线求根
2018/10/14 航空航天中的计算方法 Page 9
5.2 打靶法 5.1.2 牛顿法 求解非线性方程(组): y1 (b; ) B 在已知初值α0的处Taylor展开: y1 2 y1 (b;1 ) y1 (b; 0 ) (b; 0 ) 1 0 O 1 0 B y1 B y ( b ; ) (b; 0 ) 线性近似: 1 0 1 0
第五章边值问题(最新背景)
§5.2 有限差分法
有限差分法( Method) 有限差分法(Finite Differential Method)是基于差分原理的一种数值 计算法。其基本思想:将场域离散为许多小网格,应用差分原理, 计算法。其基本思想:将场域离散为许多小网格,应用差分原理,将求解连续
ϕ ϕ 函数 的泊松方程的问题转换为求解网格节点上
例5.1.1 为 100 sin
π
图示一无限长金属槽,其三壁接地, 图示一无限长金属槽,其三壁接地,另一壁与三壁绝缘且保持电位
a
金属槽截面为正方形(边长为a),试求金属槽内电位的分布 试求金属槽内电位的分布。 x ,金属槽截面为正方形(边长为a),试求金属槽内电位的分布。
图5.1.1 接地金属槽的截面
解:选定直角坐标系
∇ ϕ =
2
∂ 2ϕ ∂x
2
+
∂ 2ϕ ∂y =0 =0
2
=0
(D域内) 域内)
(1) (2)
ϕ
1)、 1)、边值问题
( x = 0 ,0 ≤ y ≤ a ) ( y = 0 ,0 ≤ x ≤ a ) ( y = a ,0 < x < a ) ( x = a ,0 ≤ y ≤ a )
F1 ' =
∴
ϕ( x, y ) =
100 π π sin( ) xsh y sh π a a
100 sh π
域内) (D域内) 域内
•
满足拉普拉斯方程的通解有无数个,但满足给定边界条件的解是唯一的。 满足拉普拉斯方程的通解有无数个,但满足给定边界条件的解是唯一的。
2、圆柱坐标系中的分离变量法(二维场) 圆柱坐标系中的分离变量法(二维场)
B0 D0 = 0 Bn Dn = 0
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
如果边值条件形式可写为: gL ( y(a)) 0, gR ( y(a)) 0
其中gL和gR的维数之和等于m,则边界条件为分离的。
2018/10/10 航空航天中的计算方法 Page 5
5.2 打靶法 5.2 打靶法 以二阶系统为例,考虑边值问题: y( x ) f ( x, y( x), y( x)), x a, b
(与割线法等价) 割线代替切线
或采用其它数值微分方法。 f 可微时解偏导数微分方程 y2 , y2 f ( x, y1 , y2 ), x a, b y1
y1 (a) A, y2 (a)
y1 ( x; ), y2 ( x; )
微分方程对α求偏导: y1 y2 , y1 ( a; ) 0,
打靶:求解初值问题
2018/10/10 航空航天中的计算方法 Page 7
5.2 打靶法 5.1.1 割线法 以两个不同的α值求解初值问题,得到两个解: y1 ( x;0 ), y1 ( x;1 ) 根据初值条件知: y1 (a;0 ) y1 (a;1 ) A 假设 y1 (b; ) 是α的线性函数,可取α 为: B y1 (b; 0 ) 2 0 1 0 y1 (b;1 ) y1 (b; 0 ) 迭代求解公式:
2018/10/10
y2 f y1 f y2 y y , x a , b 1 2 y 2 ( a; ) 1 初值问题,可解!
航空航天中的计算方法 Page 11
5.2 打靶法 每一步迭代求解初值问题
y2 , y1 f ( x, y1 , y2 ), y2 z2 , z1 z2 f f z1 z2 , y1 y 2 y1 ( a ) A y2 ( a ) z1 ( a ) 0 z2 ( a ) 1
线性近似:按割线求根
2018/10/10 航空航天中的计算方法 Page 9
5.2 打靶法 5.1.2 牛顿法 求解非线性方程(组): y1 (b; ) B 在已知初值α0的处Taylor展开: y1 2 y1 (b;1 ) y1 (b; 0 ) (b; 0 ) 1 0 O 1 0 B y1 B y ( b ; ) (b; 0 ) 线性近似: 1 0 1 0
航空航天中的计算方法
授教师:陈琪锋 中南大学航空航天学院
第二部分 边值问题求解方法
第5章 两点边值问题求解方法
内容提要 5.1 5.2 5.3 5.4 常微分方程边值问题的概念 打靶法 有限差分法 有限元法
[1] Part 3: Two-Point Boundary Value Problems. [2] David L. Darmofal, Computational Methods in Aerospace Engineering (Lecture Notes), MIT, 2005. Chap11,12. [3] 清华大学数学系编,现代应用数学手册•计算方法分册( 第十一章,常微分方程边值问题的数值方法),北京出版 社,1990.
y1 y
( x ) y2 ( x ) y1
y2 ( a ) 初值问题的解为: y1 ( x; ), y2 ( x; ) y1 (b; ) B 找到α满足: y1 ( a ) A,
2018/10/10 航空航天中的计算方法
如何求α?
Page 6
5.2 打靶法 打靶法的几何解释:
y( a ) A, y (b ) B
变换:
( x ) f ( x, y1 , y2 ), x a, b y2 y2 y y1 ( a ) A, y1 (b ) B 考虑初值问题: y2 , y2 f ( x, y1 , y2 ), x a, b y1
m 1
结束条件:
2018/10/10
B y1 (b; m 1 ) m 1 m m 1 y1 (b; m ) y1 (b; m 1 )
1 y1 (b;m1 ) B
航空航天中的计算方法 Page 8
5.2 打靶法 割线法的几何解释:
x a, b
y1 y2 z , z 2 其中: 1
解得: y1 ( x; ), y2 ( x; ), z1 ( x; ), z2 ( x; ) 得到的终端值和对α的偏导数: y1 y1 (b; ), (b; )
2018/10/10 航空航天中的计算方法 Page 12
迭代求解公式: m 1 m B y1 (b; m )
结束条件:
2018/10/10
y1 (b; m )
y1 (b; ) ?
Page 10
1 y1 (b;m1 ) B
航空航天中的计算方法
5.2 打靶法 差分法求偏导数
y1 (b;1 ) y1 (b; 0 ) y1 (b; 0 ) 1 0
2018/10/10 航空航天中的计算方法 Page 4
5.1 常微分方程边值问题的概念 5.1 常微分方程边值问题的概念 对于常微分方程: y( x) f ( x, y( x)) 其中 y dy dx ,x为标量, y和 f 为m维向量。在 x a, b 上求解之需要m个定解条件,若定解条件的形式为: g( y( a), y(b)) 0 其中 g为m维向量。则该问题称为两点边值问题(TPBVP, Two Point Boundary Value Problem)。