偏微分方程边值问题的数值解法
偏微分积分方程的周期边值问题
偏微分积分方程的周期边值问题偏微分方程周期边值问题可分为两大方面:解析解法和数值解法。
其中只有很少一部分偏微分方程能求得解析解,所以实际应用中,多求数值解。
数值解法又可以分为最常见的有三种:差分法、有限体积法、有限元法。
其中,差分法是最普遍最通用的方法。
(1)直接积分的方法当场源与场域的形状比较简单,位函数仅是一个坐标的函数,所求解的泊松方程和拉普拉斯方程为二阶的常微分方程,可采用直接积分的方法求解。
(2)分离变量法当位函数是两个或三个坐标的函数,但场域的边界与所选择的坐标系中坐标面相吻合时,常采用分离变量法。
先将待求的位函数如分离成两个或三个各自仅含一个坐标的函数的乘积,组成把它代入场方程,借助“分离常数”可得每一变量的常微分方程,并分别求得其通解,然后组合成偏微分方程的通解,再由边界条件决定分离常数与积分常数,得到位函数的解。
(3)复位函数法能用来处理场域边界的几何形状比较复杂的问题,如椭圆、多角形截面的电极、偏芯电缆、电机气隙及波导等电磁场问题。
它是利用复变函数中解析函数的实部与虚部在复平面的某一区域内都满足拉普拉斯方程的特性,当所求解的二维拉普拉斯场域边界与某一解析函数的图形一致时,则此解析函数的实部或虚部就是所求位函数的解。
(4)保角变换法是利用解析函数的保角变换特性,将平面上的边界形状较复杂的场域,以对应的几何方式变换到边界形状较为简单的平面,求解后再反变换到平面,获得原问题的解。
(5)镜像法是边值问题中一种间接求解法,其理论依据是场的惟一性定理。
镜像法的基本原理是在求解的场域之外用虚设的镜像电荷或镜像电流等效替代边界上复杂分布的感应电荷、极化电荷或磁化电流等,只要求解区在等效前后满足同一边值问题,则其解答是惟一的。
应用镜像法的关键是找到镜像电荷或电流的位置与大小。
二阶线性与非线性偏微分方程始终是重要的研究对象。
这类方程通常划分成椭圆型、双曲型与抛物型三类,围绕这三类方程所建立和讨论的基本问题是各种边值问题、初值问题与混合问题之解的存在性、唯一性、稳定性及渐近性等性质以及求解方法。
第十章 偏微分方程数值解法
第十章 偏微分方程数值解法偏微分方程问题,其求解十分困难。
除少数特殊情况外,绝大多数情况均难以求出精确解。
因此,近似解法就显得更为重要。
本章仅介绍求解各类典型偏微分方程定解问题的差分方法。
§1 差分方法的基本概念1.1 几类偏微分方程的定解问题椭圆型方程:其最典型、最简单的形式是泊松(Poisson )方程),(2222y x f yu x u u =∂∂+∂∂=∆ 特别地,当0),(≡y x f 时,即为拉普拉斯(Laplace )方程,又称为调和方程2222=∂∂+∂∂=∆yux u u Poisson 方程的第一边值问题为⎪⎩⎪⎨⎧Ω∂=Γ=Ω∈=∂∂+∂∂Γ∈),(),(),(),(),(2222y x y x u y x y x f y ux u y x ϕ 其中Ω为以Γ为边界的有界区域,Γ为分段光滑曲线,ΓΩ称为定解区域,),(y x f ,),(y x ϕ分别为Ω,Γ上的已知连续函数。
第二类和第三类边界条件可统一表示为),(),(y x u u y x ϕα=⎪⎪⎭⎫ ⎝⎛+∂∂Γ∈n 其中n 为边界Γ的外法线方向。
当0=α时为第二类边界条件, 0≠α时为第三类边界条件。
抛物型方程:其最简单的形式为一维热传导方程220(0)u ua a t x∂∂-=>∂∂ 方程可以有两种不同类型的定解问题:初值问题⎪⎩⎪⎨⎧+∞<<∞-=+∞<<-∞>=∂∂-∂∂x x x u x t x u a tu )()0,(,0022ϕ初边值问题221200,0(,0)()0(0,)(),(,)()0u ua t T x l t x u x x x lu t g t u l t g t t Tϕ⎧∂∂-=<<<<⎪∂∂⎪⎪=≤≤⎨⎪==≤≤⎪⎪⎩其中)(x ϕ,)(1t g ,)(2t g 为已知函数,且满足连接条件)0()(),0()0(21g l g ==ϕϕ边界条件)(),(),(),0(21t g t l u t g t u ==称为第一类边界条件。
计算物理学(刘金远)课后习题答案第6章:偏微分方程数值解法
第6章:偏微分方程数值解法6.1对流方程【6.1.1】考虑边值问题, 01,0(0,)0,(1,)1(,0)t x x u au x t u t u t u x x=<<>ìï==íï=î如果取:2/7x D =,(0.5),1,2,3j x j x j =-D =,8/49t D =,k t k t=D 求出111123,,u u u 【解】采用Crank-Nicolson 方法()11111111211222k k k k k k k k j j j j j j j j u u u u u u u u t x ++++-+-+éù-=-++-+ëûD D 11111113k k k k k kj j j j j j u u u u u u +++-+-+-+-=-+由边界条件:(0,)0x u t =,取100k ku u x-=D ,10,0,1,k ku u k ==L (1,)1u t =,41ku =-1 1 0 0 - (1+2s) -s 0 0 -s (1+2s) -s 0 -s (1+2s) -s 0 s L L L L 101210 0 0 0 (1-2s) s 0 0 s (1-2s) s 0 s ( 1 k n n u u s u u u +-éùéùêúêúêúêúêúêú=êúêúêúêúêúêúêúêúêúëûëûL L L L L 01211-2s) s 0 1 1kn u u u u -éùéùêúêúêúêúêúêúêúêúêúêúêúêúêúêúêúëûëûL 由初始条件:021(72j j u x j ==-,1,2,3j =,212()t s x D ==D -1 1 0 0 0-1 3 -1 0 0 0 -1 3 -1 0 -1 3 -1 0 1012340 0 0 0 01 -1 1 0 00 1 -1 1 0 1 -1 1 1 u u u u u éùéùêúêúêúêúêúêú=êúêúêúêúêúêúëûëû00123 0 1 1u u u u éùéùêúêúêúêúêúêúêúêúêúêúêúêúëûëû000117u u ==,0237u =,0357u =1112327u u -=,111000123123337u u u u u u -+-=-+=,11100234235317u u u u u -+-=-+=114591u =125191u =,136991u =6.2抛物形方程【6.2.1】分别用下面方法求定解问题22(,0)4(1)(0,)(1,)0u u t x u x x x u t u t 춶=ﶶïï=-íï==ïïî01,0x t <<>(1)取0.2x D =,1/6l =用显式格式计算1i u ;(2)取0.2,0.01x t D =D =用隐式格式计算两个时间步。
偏微分方程中的边值问题
偏微分方程中的边值问题偏微分方程(Partial Differential Equations,简称PDE)是数学中重要的研究对象,它描述了物理、工程、生物等学科中许多实际问题的数学模型。
在解决偏微分方程的过程中,边值问题(Boundary Value Problem,简称BVP)扮演着重要的角色。
本文将探讨在偏微分方程中的边值问题及其解决方法。
一、边值问题的定义在求解偏微分方程时,我们通常需要给定一些额外的条件,这些条件被称为边界条件或边值条件。
边值问题是指在解偏微分方程时,除了给出方程本身外,还给出了在某些边界上的条件限制。
通常边界包括定解区域的整个边界以及初始时刻的条件。
二、常见类型的边值问题1. 狄利克雷边值问题狄利克雷边值问题是指在求解偏微分方程时,给定了方程在边界上的函数值。
具体而言,对于一个定义在定解区域Ω上的偏微分方程,狄利克雷边值问题给定了方程在Ω的边界∂Ω上的值,即f(x)=g(x),其中f(x)是方程的解,g(x)是边界条件给定的函数。
通过求解方程和验证边界条件,可以得到满足狄利克雷边值问题的解。
2. 诺依曼边值问题诺依曼边值问题是指在求解偏微分方程时,给定了方程在边界上的法向导数。
具体而言,对于一个定义在定解区域Ω上的偏微分方程,诺依曼边值问题给定了方程在Ω的边界∂Ω上法向导数的值,即∂f/∂n = h(x),其中f(x)是方程的解,h(x)是边界条件给定的函数。
通过求解方程和验证边界条件,可以得到满足诺依曼边值问题的解。
3. 罗宾边值问题罗宾边值问题是指在求解偏微分方程时,给定了方程在边界上的线性组合形式,即同时给定了边界上的函数值和法向导数的线性组合。
具体而言,对于一个定义在定解区域Ω上的偏微分方程,罗宾边值问题给定了方程在Ω的边界∂Ω上函数值和法向导数的线性组合,即f(x) + ∂f/∂n = k(x),其中f(x)是方程的解,k(x)是边界条件给定的函数。
通过求解方程和验证边界条件,可以得到满足罗宾边值问题的解。
一维抛物型偏微分方程初边值问题求解
一维抛物型偏微分方程初边值问题求解摘要:一、引言二、一维抛物型偏微分方程初边值问题概述三、求解方法四、数值模拟与分析五、结论正文:一、引言一维抛物型偏微分方程在数学和物理等领域有着广泛的应用,比如热传导方程、波动方程等。
对于这种方程的初边值问题,人们进行了大量的研究,提出了多种求解方法。
本文将对这些方法进行综述和分析。
二、一维抛物型偏微分方程初边值问题概述一维抛物型偏微分方程形式为:$$frac{partial^2 u}{partial t^2} = c^2 frac{partial^2 u}{partial x^2}$$其中,$u(x,t)$ 是未知函数,$c$ 是常数。
初边值问题要求解该方程,并满足以下条件:1.$u(x,0) = f(x)$,即$t=0$ 时的函数值已知。
2.$frac{partial u}{partial t}(x,0) = g(x)$,即$t=0$ 时的导数值已知。
三、求解方法针对一维抛物型偏微分方程的初边值问题,目前主要有以下几种求解方法:1.分离变量法:适用于$c=1$ 的情况。
该方法将方程分解为两个独立的一阶线性微分方程,可以求得解析解。
2.矩方法:适用于$ceq 1$ 的情况。
该方法将方程转化为关于矩的递推关系式,可以求得数值解。
3.有限差分法:将方程离散化,通过差分方程求解。
该方法可以得到数值解,但可能会出现数值稳定性问题。
4.有限元法:将方程转化为有限个单元的积分方程,通过插值函数求解。
该方法可以得到较高质量的数值解,但计算复杂度较高。
四、数值模拟与分析为了比较不同方法的求解效果,我们取一维抛物型偏微分方程的一个具体例子,采用以上方法进行数值模拟。
通过对比分析,我们可以得出以下结论:1.分离变量法适用于$c=1$ 的情况,可以得到解析解,但求解范围有限。
2.矩方法对于$ceq 1$ 的情况有较好的适用性,可以得到数值解,但计算复杂度较高。
3.有限差分法易出现数值稳定性问题,求解精度较低。
偏微分方程数值解法
偏微分方程数值解法偏微分方程(Partial Differential Equations,简称PDE)是数学中重要的研究对象,其在物理学、工程学、经济学等领域有广泛的应用。
然而,对于大多数偏微分方程而言,很难通过解析方法得到精确解,因此需要借助数值解法来求解。
本文将介绍几种常见的偏微分方程数值解法。
一、有限差分法(Finite Difference Method)有限差分法是一种常见且直观的偏微分方程数值解法。
其基本思想是将偏微分方程中的导数通过差分近似来表示,然后通过离散化的方式转化为代数方程组进行求解。
对于一维偏微分方程,可以通过将空间坐标离散化成一系列有限的格点,并使用中心差分格式来近似原方程中的导数项。
然后,将时间坐标离散化,利用差分格式逐步计算每个时间步的解。
最后,通过迭代计算所有时间步,可以得到整个时间域上的解。
对于二维或高维的偏微分方程,可以将空间坐标进行多重离散化,利用多维的中心差分格式进行近似,然后通过迭代计算得到整个空间域上的解。
二、有限元法(Finite Element Method)有限元法是另一种重要的偏微分方程数值解法。
其基本思想是将求解区域分割成有限数量的子区域(单元),然后通过求解子区域上的局部问题来逼近整个求解区域上的解。
在有限元法中,首先选择适当的形状函数,在每个单元上构建近似函数空间。
然后,通过构建变分问题,将原偏微分方程转化为一系列代数方程。
最后,通过求解这些代数方程,可以得到整个求解区域上的解。
有限元法适用于各种复杂的边界条件和几何构型,因此在实际工程问题中被广泛应用。
三、谱方法(Spectral Methods)谱方法是一种基于特定基函数(如切比雪夫多项式、勒让德多项式等)展开解的偏微分方程数值解法。
与有限差分法和有限元法不同,谱方法在整个求解区域上都具有高精度和快速收敛的特性。
在谱方法中,通过选择适当的基函数,并利用其正交性质,可以将解在整个求解区域上展开为基函数系数的线性组合。
偏微分方程的数值解法
偏微分方程的数值解法偏微分方程(Partial Differential Equation,PDE)是描述物理、化学、工程学等许多科学领域中变化的方程。
由于PDE的求解通常是困难的,因此需要使用数值方法。
本文将介绍偏微分方程的数值解法。
一般来说,求解PDE需要求得其解析解。
然而,对于复杂的PDE,往往不存在解析解,因此需要使用数值解法求解。
数值解法可以分为两类:有限差分法和有限元法。
有限差分法是将计算区域分成网格,利用差分公式将PDE转化为离散方程组,然后使用解线性方程组的方法求解。
有限元法则是将计算区域分成有限数量的单元,每个单元内使用多项式函数逼近PDE的解,在单元之间匹配边界条件,得到整个区域上的逼近解。
首先讨论有限差分法。
常见的差分公式包括前向差分、后向差分、中心差分等。
以一维热传导方程为例,其偏微分方程形式为:$$ \frac{\partial u}{\partial t}=\frac{\partial^2 u}{\partial x^2} $$其中,$u(x,t)$表示物理量在时刻$t$和位置$x$处的值。
将其离散化,可得到:$$ \frac{u(x_i,t_{j+1})-u(x_i,t_j)}{\Delta t}=\frac{u(x_{i+1},t_j)-2u(x_i,t_j)+u(x_{i-1},t_j)}{\Delta x^2} $$其中,$x_i=i\Delta x$,$t_j=j\Delta t$,$\Delta x$和$\Delta t$分别表示$x$和$t$上的网格大小。
该差分方程可以通过简单的代数操作化为:$$ u_{i,j+1}=u_{i,j}+\frac{\Delta t}{\Delta x^2}(u_{i+1,j}-2u_{i,j}+u_{i-1,j}) $$其中,$u_{i,j}$表示在网格点$(x_i,t_j)$处的数值解。
由于差分方程中一阶导数的差分公式只具有一阶精度,因此需要使用两个网格点来逼近一阶导数。
偏微分方程数值求解方法
偏微分方程数值求解方法引言偏微分方程是数学中研究复杂现象的重要工具之一,它在许多领域都有广泛的应用,例如物理学、工程学和生物学等。
通过求解偏微分方程,我们可以获得系统的解析解或数值解,从而揭示底层的物理规律或实现工程设计。
在本文中,我们将介绍偏微分方程数值求解的常见方法,包括有限差分法、有限元法和谱方法等。
我们将详细介绍这些方法的基本原理、数值算法和实际应用。
有限差分法基本原理有限差分法是偏微分方程数值求解中最常用的方法之一。
它将连续的偏微分方程离散化为差分方程,通过计算差分方程的解来近似原方程的解。
有限差分法的基本思想是将求解域划分为离散的网格,然后在网格点上近似表示原方程。
数值算法有限差分法的数值算法主要包括离散化、边界条件处理和迭代求解三个步骤。
首先,我们将连续的偏微分方程在空间和时间上进行离散化,将其转化为差分方程。
然后,我们需要确定边界条件,即在边界上如何近似表示原方程。
最后,通过迭代计算差分方程的解,直到满足收敛条件。
实际应用有限差分法在许多领域都有广泛的应用。
例如,在流体力学中,它可以用来模拟气体或液体的流动。
在热传导方程中,它可以用来求解物体的温度分布。
此外,有限差分法还可以用来模拟结构力学中的弹性变形和振动问题等。
有限元法基本原理有限元法是一种基于分片线性函数空间的数值方法,用于求解偏微分方程。
它将求解域划分为离散的小单元,然后在每个单元上构造局部基函数,通过组合这些基函数来近似表示原方程的解。
数值算法有限元法的数值算法主要包括离散化、单元刚度矩阵的计算和全局方程的组装三个步骤。
首先,我们将连续的偏微分方程在空间上进行离散化,将其转化为离散的代数方程。
然后,针对每个单元,我们需要计算其对应的刚度矩阵和载荷向量。
最后,通过组装所有单元的刚度矩阵和载荷向量,得到全局方程,并通过求解全局方程来计算原方程的近似解。
实际应用有限元法在结构力学、固体力学和流体力学等领域有广泛的应用。
例如,在结构力学中,它可以用来计算材料的应力和变形分布。
偏微分方程中的边值问题解析与数值求解
偏微分方程中的边值问题解析与数值求解偏微分方程是数学中的一个重要分支,它描述了自然界中的许多现象和过程。
在实际问题中,我们通常需要求解偏微分方程的边值问题,即在给定边界条件下找到满足方程的解。
本文将探讨偏微分方程中的边值问题的解析与数值求解方法。
1. 解析方法解析方法是指通过数学分析的手段,直接求解偏微分方程的边值问题。
这种方法通常需要利用数学工具和技巧,如分离变量法、特征线法、格林函数等。
以一维热传导方程为例,假设有一根长为L的金属棒,两端分别与温度为T1和T2的热源接触。
我们需要求解该金属棒上的温度分布。
通过分离变量法,可以将该问题转化为一系列常微分方程,进而得到温度分布的解析解。
解析方法的优点是能够给出问题的精确解,从而提供了对问题本质的深入理解。
然而,解析方法通常只适用于简单的边值问题,对于复杂的问题往往难以求解。
此外,解析解往往只存在于理想化的情况下,现实问题中的边界条件往往是复杂和不确定的,这使得解析方法的应用受到限制。
2. 数值方法数值方法是指通过数值计算的手段,近似求解偏微分方程的边值问题。
这种方法通常需要将偏微分方程离散化,将连续的问题转化为离散的问题,然后利用数值计算方法求解离散问题。
常见的数值方法包括有限差分法、有限元法和谱方法等。
有限差分法是最常用的数值方法之一,它将偏微分方程中的导数用差分近似表示,从而将偏微分方程转化为一个线性方程组,进而求解出近似解。
有限元法则是将求解区域划分为若干个小区域,然后在每个小区域内构造一个适当的试验函数,通过求解试验函数的系数来得到近似解。
谱方法则是利用傅里叶级数展开,将偏微分方程转化为一个无穷维的代数方程,通过截断级数求解出近似解。
数值方法的优点是适用范围广,可以求解各种复杂的边值问题。
同时,数值方法还可以通过增加计算精度和网格分辨率来提高计算结果的精确度。
然而,数值方法也存在一些问题,如舍入误差、稳定性问题和收敛性问题等,需要仔细处理。
第十四章SECTION4偏微分方程的数值解法
§4 偏微分方程的数值解法一、 差分法差分法是常用的一种数值解法.它是在微分方程中用差商代替偏导数,得到相应的差分方程,通过解差分方程得到微分方程解的近似值. 1. 网格与差商在平面 (x ,y )上的一以S 为边界的有界区域D 上考虑定解问题.为了用差分法求解,分别作平行于x 轴和y 轴的直线族.⎩⎨⎧====jhy y ihx x i i (i ,j =0,±1,±2,…,±n ) 作成一个正方形网格,这里h 为事先指定的正数,称为步长;网格的交点称为节点,简记为(i ,j ).取一些与边界S 接近的网格节点,用它们连成折线S h ,S h 所围成的区域记作D h .称D h 内的节点为内节点,位于S h 上的节点称为边界节点(图14.7).下面都在网格D h + S h 上考虑问题:寻求各个节点上解的近似值.在边界节点上取与它最接近的边界点上的边值作为解的近似值,而在内节点上,用以下的差商代替偏导数:()()[]()()[]()()()[]()()()[]()()()[]y x u h y x u y h x u h y x u hy x u h y x u y x u h y x u hy u y h x u y x u y h x u h x u y x u h y x u hyu y x u y h x u h x u ,),(,,1,,2,1,,2,1,,1,,122222222++-+-+≈∂∂∂-+-+≈∂∂-+-+≈∂∂-+≈∂∂-+≈∂∂注意, 1︒ 式中的差商()()[]y x u y h x u h ,,1-+称为向后差商,而()()[]y h x u y x u h,,1--称为向前差商,()()[]y h x u y h x u h,,21--+称为中心差商.也可用向前差商或中心差商代替一阶偏导数.2︒ x 轴与y 轴也可分别采用不同的步长h ,l ,即用直线族⎩⎨⎧====jhy y ihx x j i (i,j =0, ±1, ±2 , ) 作一个矩形网格.图14.72. 椭圆型方程的差分方法[五点格式] 考虑拉普拉斯方程的第一边值问题()()⎪⎪⎩⎪⎪⎨⎧=∈=∂∂+∂∂y x u D y x y ux u S ,,02222μ式中μ(x ,y )为定义在D 的边界S 上的已知函数.采用正方形网格,记u (x i ,y j )=u ij ,在节点(i ,j )上分别用差商 u u u h u u u h i j ij i j i j ij i j -+-+-+-+11211222,,,,,代替2222,yux u ∂∂∂∂,对应的差分方程为u u u h u u u hi j ij i j i j ij i j -+-+-++-+=112112220,,,, (1) 或u u u u u ij i j i j i j i j =+++-+-+141111,,,,即任一节点(i ,j )上u ij 的值等于周围相邻节点上解的值的算术平均,这种形式的差分方程称为五点格式,在边界节点上取()()()h j i ij S j i y x u ∈=,,**μ(2) 式中(x i *,y j *)是与节点(i ,j )最接近的S 上的点.于是得到了以所有内节点上的u ij 值为未知量的若干个线性代数方程,由于每一个节点都可列出一个方程,所以未知量的个数与方程的个数都等于节点的总数,于是,可用通常的方法(如高斯消去法)解此线性代数方程组,但当步长不很大时,用高斯消去法将会遇到很大困难,可用下面介绍的其他方法求解. 若h →0时,差分方程的解收敛于微分方程的解,则称差分方程为收敛的.在计算过程中,由于进行四则运算引起舍入误差,每一步计算的舍入误差都会影响以后的计算结果,如果这种影响所产生的计算偏差可以控制,而不至于随着计算次数的增加而无限增大,则称差分方程是稳定的.[迭代法解差分方程] 在五点格式的差分方程中,任意取一组初值{u ij },只要求它们在边界节点(i ,j )上取以已知值μ(x i *,y j *),然后用逐次逼近法(也称迭代法)解五点格式:()()()()()[]() ,2,1,0411,1,,1,11=+++=+-+-+n u u u u u n j i n j i n j i n j i n ij 逐次求出{u ij (n )}.当(i+1,j ),(i -1,j ),(i ,j -1),(i ,j+1)中有一点是边界节点时,每次迭代时,都要在这一点上取最接近的边界点的值.当n →∞时,u ij (n )收敛于差分方程的解,因此n 充分大时,{u ij (n )}可作差分方程的近似解,迭代次数越多,近似解越接近差分方程的解.[用调节余数法求节点上解的近似值] 以差商代替Δu 时,用节点(i+1,j ),(i -1,j ),(i ,j+1),(i ,j -1)上u 的近似值来表示u 在节点(i ,j )的值将产生的误差,称此误差为余数R ij ,即()()()()()ij j i j i j i j i j i R y x u h y x u h y x u y h x u y h x u =--+++-++,4,,,,设在(i ,j )上给u ij 以改变量δu ij ,从上式可见R ij 将减少4δu ij ,而其余含有u (x i ,y j )的差分方程中的余数将增加δu ij ,多次调整δu ij 的值就可将余数调整到许可的有效数字的范围内,这样可获得各节点上u (x ,y )的近似值.这种方法比较简单,特别在对称区域中计算更简捷.例 求Δu =0在内节点A ,B ,C ,D 上解的近似值.设在边界节点1,2,3,4上分别取值为1,2,3,4(图14.8) 解 记u (A )=u A ,点A ,B ,C ,D 的余数分别为-4u A + u B + u c +5=R A u A -4 u B + u D +7=R Bu A-4 u c + u D +3=R Cu B + u c -4u D +5=R D以边界节点的边值的算术平均值作为初次近似值,即u A (0)=u B (0)=u C (0)=u D (0)=2.5则相应的余数为:R A =0, R B =2, R C = -2, R D =0最大余数为±2.先用δu C =-0.5把R C 缩减为零,u C 相应地变为2,这时R A , R D 也同时缩减(-0.5),新余数是R A =-0.5,R B =2,0=C R , R D =-0.5.类似地再变更δu B =0.5,从而 u B 变为3,则得新余数为0====D C B A R R R R .这样便可消去各节点的余数,于是u 在各节点的近似值为:u A =2.5, u B =3, u C =2, u D =2.5现将各次近似值及余数列表如下:次数调 整 值第n 次近似值及余数u A R A u B R B u C R C u D R D 0 1 2δu C = -0.5 δu B = 0.5 2.5 2.5 2.5 0 -0.5 0 2.5 2.5 3 2 2 0 2.5 2 2 -2 0 0 2.5 2.5 2.5 0 -0.5 0 结果近似值2.5322.5[解重调和方程的差分方法] 在矩形D (x 0≤x ≤x 0+a ,y 0≤y ≤y 0+a )中考虑重调和方程024*******=∂∂+∂∂∂+∂∂=yuy x u x u u ∆取步长h an=,引直线族图14.8⎩⎨⎧+=+=jh y y ihx x 00 (i , j = 0, 1, 2,, n ) 作成一个正方形网格.用差商代替偏导数()()()()()[]{()()()()[]()()()()[]}h y x u h y x u y h x u y h x u h y h x u h y h x u h y h x u h y h x u h y x u h y x u y h x u y h x u y x u 2,2,,2,2,,,,2,,,,8201,-+++-++---++-+-++++--+++-++=上式表明了以(x ,y )为中心时,u (x ,y )的函数值与周围各点函数值的关系,但对于邻近边界节点的点(x ,y ),如图14.9中的A ,就不能直接使用上式,此时将划分网格的直线族延伸,在延伸线上定出与边界距离为h 的点,称这些点为外邻边界节点,如图14.9以A 为中心时,点E ,C 为边界节点,点J ,K 为E ,C 的外邻边界节点,用下法补充定义外邻边界节点J 处函数的近似值u J ,便可应用上面的公式.1︒ 边界条件为()()()S P P x uP u SS ∈==21,μ∂∂μ 时,定义u J =u A -2μ2(E )h .2︒ 边界条件为()()()S P P xuP u SS ∈=∂∂=2221,μμ时,定义u J =2μ1(E )-u A -h 2μ2(E ). [其他与Δu 有关的网格] 1︒ 三角网格(图14.10(a ))取P 0(x ,y )为中心,它的周围6个邻近节点分别为:()()⎪⎪⎭⎫⎝⎛-+⎪⎪⎭⎫ ⎝⎛---⎪⎪⎭⎫⎝⎛+-⎪⎪⎭⎫⎝⎛+++h y h x P h y h x P y h x P h y h x P h y h x P y h x P 23,2,23,2,,23,223,2,,654321则 R u h u u u h i i +∆+∆=⎪⎭⎫⎝⎛-∑=226102161632式中u i =u (P i ), u 0=u (P 0),R 表示余项. 2︒ 六角网格(图14.10(b ))取P 0(x ,y )为中心,它的三个邻近节点分别为图14.9()⎪⎪⎭⎫ ⎝⎛-+-⎪⎪⎭⎫ ⎝⎛++h y h x P y h x P h y h x P 23,2,,23,2321则 R u u u h i i +∆=⎪⎭⎫⎝⎛-∑=0312334.图14.103︒ 极坐标系中的网格(图14.10(c ))取P 0(r ,θ)为中心,它的四个邻近节点分别为()()()()l r P h r P l r P h r P ++--θθθθ,,,,,,4321而拉普拉斯方程01122222=∂∂+∂∂+∂∂=θ∆u r r u r ru u的相应的差分方程为()()()011221110222134222312=⎪⎭⎫ ⎝⎛+--++++u l r h u u rh u u l r u u h 3. 抛物型方程的差分方法 考虑热传导方程的边值问题()()()()()()⎪⎪⎪⎩⎪⎪⎪⎨⎧≥==<<=><<=∂∂-∂∂0,,,,00,0,0,0,021222t t t b u t t u bx x x u t b x x u a t u μμϕ 将[0,b ]分为n 等份,每段长为∆x bn=.引两族平行线(图14.11)图14.11x =x i =i ∆x (i =0,1,2,, n )y =y j =j ∆t (j =0,1,2,, ∆t 取值见后)作成一个长方形的网格,记u (x i ,t j )为u ij ,节点(x i ,t j )为(i ,j ),在节点(i ,j )上分别用(),2,1,1,,2,1Δ2,Δ2,1,11,=-=+---++j n i x u u u t u u ji ij j i ij j i 代替22,xut u ∂∂∂∂,于是边值问题化为差分方程()()()()⎪⎪⎪⎩⎪⎪⎪⎨⎧===-===-==+----++ ,2,1,0,Δ,Δ1,,2,1,Δ,2,1,0,1,,2,10Δ2Δ21002,1,121,j t j u t j u n i x i u j n i x u u u a tu u nj j i j i ij j i ijj i μμϕ 记()22x ta ∆∆=λ,差分方程可写成 () ,2,1,1,,2,121,1,11,=-=+-+=-++j n i u u u u ji ij j i j i λλλ (1)由此可按t 增加的方向逐排求解.在第0排上u i 0的值由初值ϕ(i ∆x )确定,j +1排u i ,j +1的值可由第j 排的三点(i +1,j ),(i ,j ),(i -1,j )上的值u i +1,j , u ij ,u i -1,j 确定,而u 0,j +1,u n ,j +1已由边界条件μ1((j +1)∆t )及μ2((j +1)∆t )给定,于是可逐排计算一切节点上的u ij 值.当ϕ(x ), μ1(x )和μ2(x )充分光滑,且λ≤12时,差分方程收敛而且稳定.所以利用差分方程(1)计算时,必须使λ≤12,即()22Δ21Δx at ≤.热传导方程还可用差分方程()0Δ2Δ21,11,1,121,=+---+-++++x u u u a t u u j i j i j i ij j i 代替,此时如已知前j 排u ij 的值,为求第j +1排的u i ,j +1 必须解包含n -1个未知量u u j n j 1111,,,,+-+ 的线性代数方程组,这种差分方程称为隐式格式的差分方程,前面所提的差分方程称为显式格式差分方程.隐式格式差分方程对任意的λ都是稳定的.4. 双曲型方程的差分方法 考虑弦振动方程的第一边值问题()()()()()()⎪⎪⎪⎩⎪⎪⎪⎨⎧≥==<<=∂∂=><<=∂∂-∂∂0,,,,00),()0,(,0,0,0,02122222t t t b u t t u b x x t x u x x u t b x x u a tu μμψϕ 用矩形网格,列出对应的差分方程:()()()()⎪⎪⎪⎩⎪⎪⎪⎨⎧===-=∆=∆-==-==+--+--+-+ ,2,1,0,Δ,Δ1,,2,1),(,Δ,2,1,1,,2,1,0Δ2)(Δ22100102,1,1221,1,j t j u t j u n i x i t u u x i u j n i x u u u a t u u u nj j i i i j i ij j i j i ij j i μμψϕ 记ω=a tx∆∆与上段一样,利用u u n 022,和在第0排及第1排的已知数值(初始条件)u i 0 , u i 1可计算u i 2,然后用已知的u i 1 , u i 2及u u n 033,可计算u i 3,类似地可确定一切节点上的u ij 值.当ϕ(x ),ψ(x ),μ1(x )和μ2(x )充分光滑,且ω≤1时,差分方程收敛且稳定,所以要取∆∆t ax ≤1.二、 变分方法1. 自共轭边值问题将§3定义的共轭微分算子的概念推广到一般方程.设D 是n E 中的有界区域,S 为其边界,在D 上考虑2k 阶线性微分方程()x f x x uaLu km mi i i ni m m i i n n n=∂∂≡∑∑==++201111 ∂ 的齐次边值问题()r j u l Sj ,,2,10==式中f (x )是D 内的已知函数,l j u 是线性微分算子. 将 ⎰DvLud Ω分部积分k 次得()⎰∑⎰⎪⎪⎭⎫ ⎝⎛+=Ω=S j j j D S v R u R v u vLu d ~,Λd k 1 式中Λ(u ,v )是一个D 上的积分,其被积函数包含u ,v 的k 阶导数;R j 和 R j 是定义在边界S 上的两个线性微分算子.再将Λ(u ,v )分部积分k 次得()()⎰∑⎰⎪⎪⎭⎫⎝⎛-Ω=Λ=S k j j j D S u R v R v uL v u d ~d ,1***式中L*是一个2k 阶的微分算子,称为L 的共轭微分算子.若L=L*,则称L 为自共轭微分算子.从上面可推出格林公式()()⎰∑⎰=-=Ω-Skj jjjjDS u R v R v R u R v uL vLu 1***d ~~d 如从l j u |S =l j v |S =0可推出在边界S 上()∑==-kj jjjju R v R v R u R 1**0~~ 则称l j u |S =0为自共轭边界条件.如果微分算子及边界条件都是自共轭的,则称相应的边值问题为自共轭边值问题,此时有()0d ][=Ω-⎰DuLv vLu每个边值问题对应于某希尔伯特空间H (例如L 2(D ),见第九章§7)中的一个算子A ,其定义域M A 是H 中一线性稠密集合,它由足够次连续可微且满足边界条件的函数组成,在M A 上,Au 的数值与Lu 的数值相同,从而求解边值问题化为解算子方程Au f = 的问题.设A 为定义在实的希尔伯特空间H 中的某线性稠密集合M A 上的线性算子.若对于M A 的任意非零元素,,v u 成立(Au ,v )=(u ,Av )则称A 为对称算子.若对任意非零元素u 成立()0,>u Au 则称A 为正算子.如成立更强的不等式(Au ,u )≥r ||u ||2 (r>0)则称A 为正定算子.此处(u ,v )表示希尔伯特空间的内积,||u ||2=(u ,u ). 2. 变分原理与广义解定理 设A 是正定算子,u 是方程Au =f 在M A 上的解的充分必要条件是: u 使泛函F (u )=(Au ,u )-2(f ,u )取极小值.上述将边值问题化为等价的求泛函极值问题的方法称为能量法.在算子的定义域不够大时,泛函F (u )的极值问题可能无解.不过对于正定算子,可以开拓集合M A ,使在开拓了的集合上,泛函的极值问题有解.为开拓M A ,在M A 上引进新的内积[u ,v ]=(Au ,v ),定义模||u ||2=[u ,u ]=(Au ,u ),在模||u ||的意义下,补充极限元素,得到一个新的完备希尔伯特空间H 0,在H 0上,泛函F (u )仍然有意义,而泛函的极值问题有解.但必须注意,此时使泛函F (u )取极小的元素u 0不一定属于M A ,因此它不一定在原来的意义下满足方程Au=f 及边界条件.称u 0为广义解. 3. 极小化序列与里兹方法在处理变分问题中,极小化序列起着重要的作用.考虑泛函F (u )=(Au ,u )-2(f ,u )以d 表示泛函的极小值.设在希尔伯特空间中存在一列元素{u n } (n =1,2 ,),使()d u F n n =∞→lim则称{u n }为极小化序列.定理 若算子A 是正定的,则F (u )的每一个极小化序列既按H 空间的模也按H 0的模收敛于使泛函F (u )取极小的元素.这个定理不但指出利用极小化序列可求问题的解,而且提供一种近似解的求法,即把极小化序列中的每一个元素当作问题的近似解.设算子A 是正定的,构造极小化序列的里兹方法的主要步骤是:(1) 在线性集合M A 中选取H 0中完备的元素序列{ϕi } , (i =1,2 ,) 并要求对任意的n ,ϕ1,ϕ2,…,ϕn 线性无关.称这样的元素为坐标元素.(2) 令u a n k k k n==∑ϕ1 ,其中a k 为待定系数.代入泛函F (u ),得自变量a 1,a 2,…,a n 的函数()()()∑∑==-=nj jjn k j kjkj n f a A a a u F 11,,2,ϕϕϕ(3) 为使函数F (u n )取极小,必须()()n j a u F jn ,,2,10 ==∂∂,从而求出a k (k =1,2,…,n ).序列{u n }即为极小化序列,u n 可作为问题的近似解. 4. 里兹方法在特征值问题上的应用 算子方程Au -λu =0的非零解λ称为算子A 的特征值,对应的非零解u 称为λ所对应的特征函数. 对线性算子A ,若存在常数K ,使对任何M A 的元素ϕ成立(A ϕ,ϕ)≥K ||ϕ||2则称A 为下有界算子,正定算子是下有界的(此时K =0).记(A ϕ,ϕ)/||ϕ||2的下确界为d . 定理1 设A 为下有界对称算子,若存在不为零的元素ϕ0∈M A ,使()d A =200,ϕϕϕ则d 就是A 的最小特征值,ϕ0为对应的特征函数.于是求下有界对称算子的最小特征值问题化为变分问题,即在希尔伯特空间中求使泛函(A ϕ,ϕ)/||ϕ||2取极小的元素,或在||ϕ||=1的条件下求使泛函(A ϕ,ϕ)取极小的元素.定理2 设A 是下有界对称算子,λ1≤λ2≤…≤λn 是它的前n 个特征值,ϕ1,ϕ2,…,ϕn 是对应的标准正交特征函数,如果存在不为零的元素1+n ϕ,在附加条件(ϕ,ϕ)=1, (ϕ,ϕ1)=0, (ϕ,ϕ2)=0, …, (ϕ,ϕn )=0下使泛函(A ϕ,ϕ)取极小,则ϕn +1是算子A 的特征函数,对应的特征值()11,++=n n A ϕϕλ就是除λ1 ,,λn 外的最小的一个特征值.于是求第n +1个特征值就化为变分问题,即在附加条件(ϕ,ϕ)=1, (ϕ,ϕ1)=0, (ϕ,ϕ2)=0 ,, (ϕ,ϕn )=0 下求使泛函(A ϕ,ϕ)取极小的元素.为了利用里兹方法求特征值,在M A 中选取一列在H 0中完备的坐标元素序列{ϕi },(i =1,2 ,), 令u a n k k k n==∑ϕ1,确定a k ,使在条件 (u n ,u n )=1下,(Au n ,u n )取极小,这个问题化为求n个变元a 1,a 2,…,a n 的函数()()∑==nm k m k k m n n a a A u Au 1,,,ϕϕ在条件()()∑===nm k m k m k n n a a u u 1,1,,ϕϕ下的极值问题,一般可用拉格朗日乘数法解(见第九章§3,t ),此时()()()()()()()()()()()()0,,,,,,,,,,,,11222121111111=------n n n n n n n n n n A A A A A A ϕϕλϕϕϕϕλϕϕϕϕλϕϕϕϕλϕϕϕϕλϕϕϕϕλϕϕ的最小的根即为特征值的近似值,如果将上式的根按大小排列,就依次得后面的特征值的近似值,但精确度较差. 对一般算子方程Au -λBu=0如果A 为下有界对称算子,B 为正定算子,则()()()()()()()()()()()()0,,,,,,,,,,,,11222121111111=------n n n n n n n n n n B A B A B A B A B A B A ϕϕλϕϕϕϕλϕϕϕϕλϕϕϕϕλϕϕϕϕλϕϕϕϕλϕϕ的根就是特征值的近似值. 5. 迦辽金方法用里兹方法解数学物理问题有很多限制,最主要的限制是要求算子正定,但很多问题不一定满足这个条件,迦辽金方法弥补了这个缺陷. 迦辽金方法的主要步骤是:(1) 在M A 中选取在空间H 中完备的元素序列{ϕi } (i =1,2 ,),其中任意n 个元素线性无关,称{ϕi } (i =1,2,…)为坐标元素序列. (2) 把方程的近似解表示为u a n k k k n==∑ϕ1式中a k 是待定常数,把u n 代入方程Au=f 中的u ,两端与ϕj (j =1,2,…,n )求内积,得 a k 的n 个代数方程()()()n j f A a j n k j k k,,2,1,,1 ==∑=ϕϕϕ(3) 求出a k ,代回u n 的表达式,便得方程的近似解u n .在自共轭边值问题中,当算子是正定时,由迦辽金方法和里兹方法得到的关于a k 的代数方程组是相同的.。
偏微分方程的数值解法
偏微分⽅程的数值解法偏微分⽅程的数值解法
主要总结常见椭圆形、双曲型、抛物型偏微分⽅程的数值解法
椭圆偏微分⽅程
拉普拉斯⽅程是最简单的椭圆微分⽅程
∂2u ∂x2+∂2u
∂y2=0
确定偏微分⽅程的边界条件主要采⽤固定边界条件:u|Γ=U1(x,y) 即在边界Γ上给定u的值U1(x,y)五点差分格式
五点差分格式的形式为:
u i+1,j+u i−1,j+u i,j+1+u i,j−1=4u i,j
以u i,j为中⼼向其上下左右做差分,并⽤这些近似的代替u i,j
运⽤五点差分法可以求出下列边值问题
∂2u ∂x2+∂2u
∂x2=0
u(x1,y)=g1(x),u(x2,y)=g2(x)
u(x,y1)=f1(y),u(x,y2)=f2(y)
x1≤x≤x2,y1≤y≤y2
求解过程如下:
对求解区域进⾏分割:将x min≤x≤x max范围内的的x轴等分成NX段,同理将y轴等分成NY段
将边界条件离散到格点上
⽤五点差分格式建⽴求解⽅程,求出各个格点的函数值
程序设计:
实现函数格式为u = peEllip5(nx, minx, maxx, ny, miny, maxy)
变量名变量作⽤
nx x⽅向上的节点数
minx求解区间x的左端
maxx求解区间x的右端
ny y⽅向的节点数
miny求解区间y的左端
maxy求解区间y的右端
u求解区间上的数值解
建⽴边界条件函数
``
{
Processing math: 100%。
偏微分方程的数值解法
偏微分方程的数值解法偏微分方程(Partial Differential Equation, PDE)是数学和物理学中的重要概念,广泛应用于工程、科学和其他领域。
在很多情况下,准确解析解并不容易获得,因此需要利用数值方法求解偏微分方程。
本文将介绍几种常用的数值解法。
1. 有限差分法(Finite Difference Method)有限差分法是最常见和经典的数值解法之一。
基本思想是将偏微分方程在求解域上进行离散化,然后用差分近似代替微分运算。
通过求解差分方程组得到数值解。
有限差分法适用于边界条件简单且求解域规则的问题。
2. 有限元法(Finite Element Method)有限元法是适用于不规则边界条件和求解域的数值解法。
将求解域划分为多个小区域,并在每个小区域内选择适当的形状函数。
通过将整个域看作这些小区域的组合来逼近原始方程,从而得到一个线性代数方程组。
有限元法具有较高的灵活性和适用性。
3. 有限体积法(Finite Volume Method)有限体积法是一种较新的数值解法,特别适用于物理量守恒问题。
它通过将求解域划分为多个控制体积,并在每个体积内计算守恒量的通量,来建立离散的方程。
通过求解这个方程组得到数值解。
有限体积法在处理守恒律方程和非结构化网格上有很大优势。
4. 局部网格法(Local Grid Method)局部网格法是一种多尺度分析方法,适用于具有高频振荡解的偏微分方程。
它将计算域划分为全局细网格和局部粗网格。
在全局细网格上进行计算,并在局部粗网格上进行局部评估。
通过对不同尺度的解进行耦合,得到更精确的数值解。
5. 谱方法(Spectral Method)谱方法是一种基于傅里叶级数展开的高精度数值解法。
通过选择适当的基函数来近似求解函数,将偏微分方程转化为代数方程。
谱方法在处理平滑解和周期性边界条件的问题上表现出色,但对于非平滑解和不连续解的情况可能会遇到困难。
6. 迭代法(Iterative Method)迭代法是一种通过多次迭代来逐步逼近精确解的求解方法。
偏微分方程数值解的计算方法
偏微分方程数值解的计算方法偏微分方程是研究自然和社会现象的重要工具。
然而,大多数偏微分方程很难用解析方法求解,需要用数值方法求解。
本文将介绍偏微分方程数值解的计算方法,其中包括有限差分方法、有限体积法、谱方法和有限元方法。
一、有限差分方法有限差分法是偏微分方程数值解的常用方法,它将偏微分方程中的空间变量转换为网格点上的差分近似。
例如,对于一个二阶偏微分方程:$$\frac{\partial^{2}u}{\partialx^{2}}+\frac{\partial^{2}u}{\partial y^{2}}=f(x,y,u)$$可以使用中心差分方法进行近似:$$\frac{\partial^{2}u}{\partial x^{2}}\approx \frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{(\Delta x)^{2}}$$$$\frac{\partial^{2}u}{\partial y^{2}}\approx \frac{u_{i,j+1}-2u_{i,j}+u_{i,j-1}}{(\Delta y)^{2}}$$其中,$u_{i,j}$表示在第$i$行第$j$列的网格点上的函数值,$\Delta x$和$\Delta y$表示网格步长。
将差分近似代入原方程中,得到如下的差分方程:$$\frac{u_{i+1,j}-2u_{i,j}+u_{i-1,j}}{(\Deltax)^{2}}+\frac{u_{i,j+1}-2u_{i,j}+u_{i,j-1}}{(\Deltay)^{2}}=f_{i,j,u_{i,j}}$$该方程可以用迭代法求解。
有限差分方法的优点是易于实现,但在均匀网格下准确性不高。
二、有限体积法有限体积法是将偏微分方程中的积分形式转换为求解网格单元中心值的方法。
例如,对于如下的扩散方程:$$\frac{\partial u}{\partial t}=\frac{\partial}{\partialx}\left(D(u)\frac{\partial u}{\partial x}\right)$$可以使用有限体积法进行近似。
偏微分方程的数值解法
偏微分方程的数值解法在科学和工程领域中,偏微分方程(Partial Differential Equations,简称PDEs)被广泛应用于描述自然现象和工程问题。
由于许多复杂的PDE难以找到解析解,数值方法成为了求解这些方程的重要途径之一。
本文将介绍几种常见的偏微分方程数值解法,并探讨其应用。
一、有限差分法有限差分法是求解偏微分方程最常用的数值方法之一。
其基本思想是将空间和时间连续区域离散化成有限个点,通过差分逼近偏微分方程中的导数,将偏微分方程转化为差分方程。
然后,利用差分方程的迭代计算方法,求解近似解。
以一维热传导方程为例,其数值解可通过有限差分法得到。
将空间区域离散化为若干个网格点,时间区域离散化为若干个时间步长。
通过差分逼近热传导方程中的导数项,得到差分方程。
然后,利用迭代方法,逐步更新每个网格点的数值,直到达到收敛条件。
最终得到近似解。
二、有限元法有限元法是另一种常用于求解偏微分方程的数值方法。
它将连续的空间区域离散化为有限个单元,将PDE转化为每个单元内的局部方程。
然后,通过将各个单元的局部方程组合起来,构成整个区域的方程组。
最后,通过求解这个方程组来获得PDE的数值解。
有限元法的优势在于可以适应复杂的几何形状和边界条件。
对于二维或三维的PDE问题,有限元法可以更好地处理。
同时,有限元法还可以用于非线性和时变问题的数值求解。
三、谱方法谱方法是利用一组基函数来表示PDE的解,并将其代入PDE中得到一组代数方程的数值方法。
谱方法具有高精度和快速收敛的特点,在某些问题上比其他数值方法更具优势。
谱方法的核心是选择合适的基函数,常用的基函数包括Legendre多项式、Chebyshev多项式等。
通过将基函数展开系数与PDE的解相匹配,可以得到代数方程组。
通过求解这个方程组,可以得到PDE的数值解。
四、有限体积法有限体积法是将空间域划分为有限个小体积单元,将PDE在每个小体积单元上进行积分,通过适当的数值通量计算来近似描述流体在边界上的净流量。
偏微分方程数值解
偏微分方程数值解偏微分方程(PDEs)是描述自然界中的许多现象的语言工具,从流体力学和电动力学到化学反应和生物学都有应用。
虽然有些偏微分方程可以通过解析方法精确解决,但是常常需要用数值方法来近似求解。
本文将讨论偏微分方程数值解。
PDE问题的分类偏微分方程可以分为两大类:椭圆型和非椭圆型。
椭圆型PDE描述从一个状态到另一个状态的变化是稳定且平稳的,如流体稳定流动。
椭圆型问题通常需要解决边界值问题(boundary value problems,BVP),即在指定的区域内求解PDE,并且在该区域的边界上指定边界条件。
非椭圆型PDE描述状态如何变化,例如热传导,它们需要解决初始值问题(initial value problems,IVP),即找到状态的初始条件,即在某一时刻给定PDE,并找到它随着时间的演化。
无论是BVP还是IVP,它们都可以通过数值方法进行近似计算。
有限差分法简介最常见的数值方法是有限差分法(finite difference method,FDM)。
FDM从PDE中的原始方程中获得其差分形式,然后通过将其离散化到有限差分点上,并在离散的网格点上近似解决它。
例如,考虑1D热传导方程:$$\frac{\partial u}{\partial t} = \alpha\frac{\partial^2 u}{\partialx^2}$$其中$u$是温度分布,$\alpha$是热扩散系数。
对$x$的离散化得到:$$\frac{u^{n+1}_i - u^n_i}{\Delta t} = \alpha\frac{u^n_{i+1} -2u^n_i + u^n_{i-1}}{\Delta x^2}$$其中$n$和$n+1$代表时间步,$u^n_{i}$是在时间$n$时刻位置$i$的温度。
这个方程的具体形式取决于左右边界条件的选择,例如,Dirichlet条件:$$u(0, t) = u(L, t) = 0, t>0$$其中$L$是域的长度。
数学挑战解偏微分方程的边值问题
数学挑战解偏微分方程的边值问题解偏微分方程的边值问题是数学挑战中的重要内容。
它们在许多领域中都扮演着关键的角色,包括物理学、工程学和金融学等。
本文将探讨解决偏微分方程边值问题的方法和技巧。
一、引言偏微分方程是描述数学物理现象的重要工具,它们涉及未知函数及其偏导数的方程。
边值问题是解偏微分方程时的一类重要约束条件,通常涉及已知函数在边界上的给定值。
解决边值问题需要找到满足给定条件的函数解析解或数值解。
二、一维边值问题我们先来看一维的边值问题。
考虑一维的偏微分方程:\[ \frac{d^2u}{dx^2} + g(x) = 0 \]其中,边界条件为:\[ u(a) = u_a, \quad u(b) = u_b \]为了求解这个边值问题,我们可以将方程离散化为差分方程,并使用数值方法进行求解。
常用的方法包括有限差分法和有限元法。
这些方法可以将一维边值问题转化为一系列代数方程,然后使用迭代方法求解。
三、二维边值问题接下来我们考虑二维的边值问题。
假设我们有一个二维的偏微分方程:\[ \frac{\partial^2 u}{\partial x^2} + \frac{\partial^2 u}{\partial y^2} + g(x, y) = 0 \]和边界条件:\[ u(x, y) = f(x, y) \quad \text{on} \quad \partial D \]其中,$D$ 是定义域,$\partial D$ 是它的边界。
解这个边值问题的方法有很多种,例如分离变量法、变分法和有限差分法等。
四、数值方法数值方法在解决偏微分方程边值问题中起着至关重要的作用。
它们允许我们使用计算机来求解复杂的方程。
常用的数值方法包括有限差分法、有限元法和边界元法等。
有限差分法是一种常见且有效的方法。
它将求解区域离散化为一个网格,然后根据差分形式的偏微分方程,在网格上计算未知函数及其偏导数的近似值。
最后使用迭代方法求解得到数值解。
偏微分方程的数值解法
偏微分方程的数值解法偏微分方程(Partial Differential Equations, PDEs)是描述自然界中各种物理现象的重要数学工具。
它们广泛应用于物理学、工程学、生物学等领域,并且在科学研究和工程实践中起着重要的作用。
然而,解析解并不总是容易获得,这就需要借助数值解法来近似求解其中的解。
数值解法是一种利用计算机方法来求解偏微分方程的有效途径。
本文将介绍几种常见的数值解法,包括有限差分法、有限元法和谱方法。
一、有限差分法有限差分法是最直接、最常用的一种数值解法。
它将偏微分方程中的导数用差分形式进行近似,然后将问题转化为一个线性方程组求解。
其中,空间和时间都被离散化,通过选取合适的网格间距,可以得到对原偏微分方程的近似解。
有限差分法的优点在于简单易懂,便于实现。
然而,该方法对于复杂边界条件和高维问题的适用性存在一定的局限性。
二、有限元法有限元法是一种更加通用和灵活的数值解法,尤其适用于复杂几何形状和非结构化网格的问题。
该方法将求解域划分为多个小区域,称为有限元,通过构建适当的试验函数和加权残差方法,将原偏微分方程转化为求解线性方程组的问题。
有限元法的优点在于适用范围广,可以处理各种边界条件和复杂几何形状,但相对较复杂,需要考虑网格生成、积分计算等问题。
三、谱方法谱方法是一种基于特定基函数展开的数值解法。
它利用特定的基函数,如Chebyshev多项式、Legendre多项式等,将偏微分方程的未知函数在特定区域内进行展开,然后通过求解系数来得到近似解。
谱方法具有高精度和快速收敛的特点,适用于光滑解和高阶精度要求的问题。
然而,谱方法对于非线性和时变问题的处理相对困难,需要一些特殊策略来提高计算效率。
总结:本文简要介绍了偏微分方程的数值解法,包括有限差分法、有限元法和谱方法。
这些方法在实际应用中各有优势和限制,选择合适的数值解法需要考虑问题的性质、几何形状以及计算资源等因素。
此外,还有其他一些高级数值方法,如边界元法、间断有限元法等,可以根据具体问题的需要进行选择。
偏微分方程数值解实验报告
偏微分方程数值解上机实验报告(一)实验一一、上机题目:用线性元求解下列边值问题的数值解:-y′′+π24y=π22sinπ2x,0<x<1y(0)=0,y′(1)=0二、实验程序:function S=bzx=fzero(@zfun,1);[t y]=ode45(@odefun,[0 1],[0 x]);S.t=t;S.y=y;plot(t,y)xlabel('x:´从0一直到1')ylabel('y')title('线性元求解边值问题的数值解')function dy=odefun(x,y)dy=[0 0]';dy(1)=y(2);dy(2)=(pi^2)/4*y(1)-((pi^2)/2)*sin(x*pi/2);function z=zfun(x);[t y]=ode45(@odefun,[0 1],[0 x]);z=y(end)-0;三、实验结果:1.以步长h=0.05进行逐步运算,运行上面matlab程序结果如下:2.在0<x<1区间上,随着x 的不断变化,x ,y 之间关系如下图所示:(二)实验二四、 上机题目:求解Helmholtz 方程的边值问题:21u k u -∆-=,于(0,1)*(0,1)Ω=0u =,于1{0,01}{01,1}x y x y Γ==≤≤≤≤= 12{0,01}{01,1}0,{01,0}{1,01}x y x y u x y x y n Γ==≤≤≤≤=∂=Γ=≤≤==≤≤∂于其中k=1,5,10,15,20五、实验程序:(采用有限元方法,这里对[0,1]*[0,1]采用n*n的划分,n为偶数)n=10;a=zeros(n);f=zeros(n);b=zeros(1,n);U=zeros(n,1);u=zeros(n,1);for i=2:na(i-1,i-1)=pi^2/(12*n)+n;a(i-1,i)= pi^2/(24*n)-n;a(i,i-1)= pi^2/(24*n)-n;for j=1:nif j==i-1a(i,j)=a(i,i-1);else if j==ia(i-1,j-1)=2*a(i-1,i-1);else if j==i+1a(i,j)=a(i,i+1);elsea(i,j)=0;endendendendenda(n,n)=pi^2/(12*n)+n;for i=2:nf(i-1,i)=4/pi*cos((i-1)*pi/2/n)-8*n/(pi^2)*sin(i*pi/2/n)+8*n/(pi^2)*s in((i-1)*pi/2/n);endfor i=1:nf(i,i)=-4/pi*cos(i*pi/2/n)+8*n/(pi^2)*sin(i*pi/2/n)-8*n/(pi^2)*sin((i -1)*pi/2/n);end%b(j)=f(i-1,j)+f(i,j)for i=1:(n-1)b(i)=f(i,i)+f(i,i+1);endb(n)=f(n,n);tic;n=20;can=20;s=zeros(n^2,10);h=1/n;st=1/(2*n^2);A=zeros((n+1)^2,(n+1)^2);syms x y;for k=1:1:2*n^2s(k,1)=k;q=fix(k/(2*n));r=mod(k,(2*n));if (r~=0)r=r;else r=2*n;q=q-1;endif (r<=n)s(k,2)=q*(n+1)+r;s(k,3)=q*(n+1)+r+1;s(k,4)=(q+1)*(n+1)+r+1;s(k,5)=(r-1)*h;s(k,6)=q*h;s(k,7)=r*h;s(k,8)=q*h;s(k,9)=r*h;s(k,10)=(q+1)*h;elses(k,2)=q*(n+1)+r-n;s(k,3)=(q+1)*(n+1)+r-n+1;s(k,4)=(q+1)*(n+1)+r-n;s(k,5)=(r-n-1)*h;s(k,6)=q*h;s(k,7)=(r-n)*h;s(k,8)=(q+1)*h;s(k,9)=(r-n-1)*h;s(k,10)=(q+1)*h;endendd=zeros(3,3);B=zeros((n+1)^2,1);b=zeros(3,1);for k=1:1:2*n^2L(1)=(1/(2*st))*((s(k,7)*s(k,10)-s(k,9)*s(k,8))+(s(k,8)-s(k,10))*x+(s(k,9)-s(k,7))*y);L(2)=(1/(2*st))*((s(k,9)*s(k,6)-s(k,5)*s(k,10))+(s(k,10)-s(k,6))*x+(s (k,5)-s(k,9))*y);L(3)=(1/(2*st))*((s(k,5)*s(k,8)-s(k,7)*s(k,6))+(s(k,6)-s(k,8))*x+(s(k ,7)-s(k,5))*y);for i=1:1:3for j=i:3d(i,j)=int(int(((((diff(L(i),x))*(diff(L(j),x)))+((diff(L(i),y))*(dif f(L(j),y))))-((can^2)*L(i)*L(j))),x,0,1),y,0,1);d(j,i)=d(i,j);endendfor i=1:1:3for j=1:1:3A(s(k,(i+1)),s(k,(j+1)))=A(s(k,(i+1)),s(k,(j+1)))+d(i,j);endendfor i=1:1:3b(i)=int(int((L(i)),x,0,1),y,0,1);B(s(k,(i+1)),1)=B(s(k,(i+1)),1)+b(i);endendM=zeros((n+1)^2,n^2);j=n^2;for i=(n^2+n):-1:1if ((mod(i,(n+1)))~=1)M(:,j)=A(:,i);j=j-1;else continueendendpreanswer=M\B;answer=zeros((n+1)^2,1);j=1;for i=1:1:(n^2+n)if ((mod(i,(n+1)))~=1)answer(i)=preanswer(j);j=j+1;else answer(i)=0;endendZ=zeros((n+1),(n+1));for i=1:1:(n+1)^2s=fix(i/(n+1))+1;r=mod(i,(n+1));if(r==0)r=n+1;s=s-1;elseendZ(r,s)=answer(i);end[X,Y]=meshgrid(1:-h:0,0:h:1);surf(X,Y,Z);toc;t=toc;K=a ;B=b';U=inv(K)*Bfor i=1:nu(i,1)=4/(pi^2)*sin(pi*i/n/2);endue=U-u六、实验结果:程序中的变量can为问题中的k,为了方便比较,采用了画图的方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求解偏微分方程的边值问题
本实验学习使用MATLAB的图形用户命令pdetool来求解偏微分方程的边值问题。
这个工具是用有限元方法来求解的,而且采用三角元。
我们用内个例题来说明它的用法。
一、MATLAB支持的偏微分方程类型
考虑平面有界区域D上的二阶椭圆型PDE边值问题:
其中
未知函数为。
它的边界条件分为三类:
(1)Direchlet条件:
(2)Neumann条件:
(3)混合边界条件:在边界
上部分为Direchlet条件,另外部分为Neumann条件。
其中
是定义在边界
的已知函数,另外
也可以是一个2*2的函数矩阵,
是沿边界的外法线的单位向量。
在使用pdetool时要向它提供这些已知参数。
二、例题
例题1 用pdetool求解
解:首先在MATLAB 的工作命令行中键入pdetool ,按回牟键确定,于是出现PDE Toolbox 窗口,选Genenic Scalar模式.
( l )画区域圆
单击椭圆工具按钮,大致在(0,0)位置单击鼠标右键,拖拉鼠标到适当位置松开。
为了保证所绘制的圆是标准的单位园,在所绘园上双击,打开 Object Dialog 对话框,精确地输入圆心坐标X-center 为0 、Y-center 为0 及半径Radius 为l ,然后单击OK 按钮,这样单位画已画好.
( 2 )设置边界条件
单击工具边界模式按钮,图形边界变红,逐段双击边界,打开Boundary condition 对话框.输入边界条件.对于同一类型的边界,可以按Shift键,将多个边界同时选择,统一设边界条件.本题选择Dirichlet 条件,输入h 为1 , r 为0。
,然后单击OK 按钮.也可以单击Boundary菜单中Spocify Boundary Condition …选项,打开Boundary Condition 对话框输入边界条件.
( 3 )设置方程
单击偏微分方程按钮,打开PDE Specification 对话框,选择方程类型· 本题选Ellintic(椭圆型),输入c为1 , a 为O , f 为1 ,然后单击OK 按钮.
( 4 )网格剖分
单击网格工具,或者单击Mesh 菜单中Initialize Mesh项,可进行初始网格剖分.这时在PDE Toolbox 窗口下方的状态栏内显示出初始网格的节点数和三角形单元数.本题节点数为144 个,三角形单元数为254 个(图?? )。
如果要细化
网格,单击细化工具,或者单击Mesh 菜单中Refine Mesh 选项,节点数成为541 个,三角形单元数为1016 个。
( 5 )解方程
单击解方程工具,或者单击S olve菜单中Solve PDE 选项,可求得方程
数值解并用彩色图形显示。
单击作图工具,或者单击Plot 菜单中Parameter…选项,出现Plot selection 对话框.从中选择于Height ( 3-D plot) ,然后单击Plot 按钮,方程的图形解如图?? 所示。
除了作定解问题解u的图形外,也可以作
等图形·
(6)输出网格节点的编号、单元编号以及节点坐标
单击Mesh 菜单中Show Node Labels选项,再单击网格工具,即可显示节点编号(图?? ) 。
若要输出节点坐标,只需单击Mesh 菜单中Export Mesh … 选项,这时打开的Export对话框中的默认值为p e t,这里p、e、t 分别表示point (点)、edges(边)、triangles(三角形)数据变量,单击OK按钮,然后在MATLAB 命令行键入p,即可以显示按节点编号排列的坐标;键入e再回车则显示边界数据矩阵(7维数组);键入t按回车则显示三角形单元数据矩阵(4维数组)。
点、边、单元的部分输出为:
p =
Columns 1 through 11
-1.0000 0.0000 1.0000 0.0000 -
0.7071 0.7071 0.7071 -0.7071 -0.9808 -0.9239 -0.8315
-0.0000 -1.0000 0 1.0000 -0.7071 -
0.7071 0.7071 0.7071 -0.1951 -0.3827 -0.5556
e =
Columns 1 through 11
1.0000 9.0000 10.0000 11.0000 5.0000 1
2.0000 1
3.0 000 1
4.0000 2.0000 1
5.0000 1
6.0000
9.0000 10.0000 11.0000 5.0000 12.0000 13.0000 14.000 0 2.0000 15.0000 16.0000 17.0000
0 0.1250 0.2500 0.3750 0.5000 0.6250
0.7500 0.8750 0 0.1250 0.2500
0.1250 0.2500 0.3750 0.5000 0.6250 0.7500
0.8750 1.0000 0.1250 0.2500 0.3750
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000
2.0000 2.0000 2.0000
1.0000 1.0000 1.0000 1.0000 1.0000 1.0000
1.0000 1.0000 1.0000 1.0000 1.0000
0 0 0 0 0 0
0 0 0 0 0
t =
Columns 1 through 18
32 14 20 26 29 17 23 100 11 66 89 1 9 94 5 12 13 97
1 2 3 4 8 6 7 28 5 32
1 9 10 5 1
2 1
3 1
4 2
89 97 81 98 84 92 99 127 94 89 119 119 95 118 118 90 70 126
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
(7)输出近似解数值
单击Solve菜单中Export Solution。
选项,在Export对话框中输入u
再单击OK按钮,再在MATLAB命令行中输入u并回车,就会显示按节点编号排列的解u的数值。
(8)近似解和准确解的比较
方程的准确解为:
为了与准确解比较,单击Plot菜单中Parameters…选项,打开Plot Selection对话框,在Height(3-D plot)行的Property下拉框中选User Entry,并且输入
u-(1-x.^2-y.^2)/4 ,单击Plot按钮,就可以看到误差曲面,其数量级为。
练习1 用pdetool工具求解课本P128的第2、3、4这几题的解,并作出图形。
练习2 用pdetool工具求解课本P418的第2、4这两题的解(三角单单元形状不限),并作出图形。