偏微分方程—matlab.doc

上传人:sk****8 文档编号:2167996 上传时间:2019-05-01 格式:DOC 页数:33 大小:1.24MB
下载 相关 举报
偏微分方程—matlab.doc_第1页
第1页 / 共33页
偏微分方程—matlab.doc_第2页
第2页 / 共33页
偏微分方程—matlab.doc_第3页
第3页 / 共33页
偏微分方程—matlab.doc_第4页
第4页 / 共33页
偏微分方程—matlab.doc_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、基础知识偏微分方程的定解问题各种物理性质的定常(即不随时间变化)过程,都可用椭圆型方程来描述。其最典型、最简单的形式是泊松(Poisson)方程(1)),(2yxfux特别地,当 f ( x, y) 0 时,即为拉普拉斯(Laplace)方程,又称为调和方程(2)2带有稳定热源或内部无热源的稳定温度场的温度分布,不可压缩流体的稳定无旋流动及静电场的电势等均满足这类方程。Poisson 方程的第一边值问题为(3)),(),( ),(,(2yxyxufu其 中 为 以 为 边 界 的 有 界区 域 , 为 分 段 光 滑 曲 线, U 称 为 定 解区 域 ,f (x, y), (x, y) 分别

2、为 , 上的已知连续函数。第二类和第三类边界条件可统一表示成(4))0(),(aunyx其中 n 为边界 的外法线方向。当 = 0 时为第二类边界条件, 0 时为第三类边界条件。在研究热传导过程,气体扩散现象及电磁场的传播等随时间变化的非定常物理问题时,常常会遇到抛物型方程。其最简单的形式为一维热传导方程(5))0(2axut方程(5)可以有两种不同类型的定解问题:初值问题(也称为 Cauchy 问题)(6)xxutt)(0,2初边值问题(7)lxtgtlugtuxlTta0),(,(),0(,212其中 为已知函数,且满足连接条件,)()(21l问题(7)中的边界条件 称为第一类界条件。第二

3、类和第三类边界条件为)(,(),021tgtlugtu(8)Tttxutlxx),()(22101其中 。当 时,为第二类边界条件,否则称为第三类边界条件。0,21021双曲型方程的最简单形式为一阶双曲型方程(9)0xuat物理中常见的一维振动与波动问题可用二阶波动方程(10)22xt描述,它是双曲型方程的典型形式。方程(10)的初值问题为(11)xxtutat)(0,022边界条件一般也有三类,最简单的初边值问题为Tttgtlugtulxxltat 0)(,(),0(,21022如果偏微分方程定解问题的解存在,唯一且连续依赖于定解数据(即出现在方程和定解条件中的已知函数),则此定解问题是适定

4、的。可以证明,上面所举各种定解问题都是适定的。2 偏微分方程的差分解法差分方法又称为有限差分方法或网格法,是求偏微分方程定解问题的数值解中应用最广泛的方法之一。它的基本思想是:先对求解区域作网格剖分,将自变量的连续变化区域用有限离散点(网格点)集代替;将问题中出现的连续变量的函数用定义在网格点上离散变量的函数代替;通过用网格点上函数的差商代替导数,将含连续变量的偏微分方程定解问题化成只含有限个未知数的代数方程组(称为差分格式)。如果差分格式有解,且当网格无限变小时其解收敛于原微分方程定解问题的解,则差分格式的解就作为原问题的近似解(数值解)。因此,用差分方法求偏微分方程定解问题一般需要解决以下

5、问题:(i)选取网格; (ii)对微分方程及定解条件选择差分近似,列出差分格式; (iii )求解差分格式; (iv)讨论差分格式解对于微分方程解的收敛性及误差估计。 下面我们只对偏微分方程的差分解法作一简要的介绍。 2.1 椭圆型方程第一边值问题的差分解法 以 Poisson 方程(1)为基本模型讨论第一边值问题的差分方法。 考虑 Poisson 方程的第一边值问题(3) ),(),(,(2yxyxuf取 h, 分别为 x 方向和 y 方向的步长,以两族平行线 jykhx,将 定 解 区 域 剖 分 成 矩 形 网 格 。 节 点 的 全 体 记 为 ),210(jk为整数 。定解区域内部的

6、节点称为内点,记内点集,|jykhxyRki为 。边界 与网格线的交点称为边界点,边界点全体记为 h 。与节点 h沿 x 方向或 y 方向只差一个步长的点 和 称为节点 ),(jky ),(1jkyx),(1jkyx的相邻节点。如果一个内点的四个相邻节点均属于 U ,称为正则内点,正则j内点的全体记为 (1),至少有一个相邻节点不属于 U 的内点称为非正则内点,非正则内点的全体记为 (2)。我们的问题是要求出问题(3)在全体内点上的数值解。 为简便记,记 。对正则内点),(),(),(),( jkjkjkjk yxfyxuyxj ,由二阶中心差商公式)1(,(jk)(,1(),2),1( 2)

7、,(2 hOhjkujjkuxjk )(,(),), 22),(2 jjjyjkPoisson 方程(1)在点 处可表示为 ),(jk(12))(222, 1,1,1,hOf uuujk jkjjjjkjk在式(12)中略去 ,即得与方程(1)相近似的差分方程 (13)jkjkjjkjkjjk fuuhu,21,2,1 式(13)中方程的个数等于正则内点的个数,而未知数 , 则除了包含正则内点处jku解 的近似值,还包含一些非正则内点处 的近似值,因而方程个数少于未知数个数。在uu非正则内点处 Poisson 方程的差分近似不能按式(13)给出,需要利用边界条件得到。 边界条件的处理可以有各种

8、方案,下面介绍较简单的两种。 (i) 直接转移 (ii) 线性插值 由式(13)所给出的差分格式称为五点菱形格式,实际计算时经常取 h = ,此时 五点菱形格式可化为 (14)jkjjkjkjkjk fuuuh ,1,1,2 4简记为 (15)2jkjf,其中 。jkjkjkjkjj uuu,1,1, 4求解差分方程组最常用的方法是同步迭代法,同步迭代法是最简单的迭代方式。除 边界节点外,区域内节点的初始值是任意取定的。 例 1 用五点菱形格式求解 Laplace 方程第一边值问题 2),(2)(lg),(0yxyxux其中 。取 。1,|31h当 时,利用点(k, j),(k 1, j .1

9、),(k 1, j +1)构造的差分格式 h(16)jkjjkjkjkjk fuuuh ,1,1,1,1,2 4称为五点矩形格式,简记为 (17)2jkjf,其中 。 jkjkjkjkjj uuu,1,1,1,1, 42.2 抛物型方程的差分解法 以一维热传导方程(5) )0(2axut为基本模型讨论适用于抛物型方程定解问题的几种差分格式。 首先对 xt 平面进行网格剖分。分别取 h, 为 x 方向与 t 方向的步长,用两族平行直 线 (k = 0,1,2,) , k ( j = 0,1,2, ),将 xt 平面剖分成矩形网khx tj格,节点为 (k = 0,1,2, , j = 0,1,2

10、, )。为简便起见,记 ),(jky ),(),jkyxj),(jxuj),(kkx)(1jjtg,(2jjt(1jjt。2jjt2.2.1 微分方程的差分近似 在网格内点(k, j)处,对 分别采用向前、向后及中心差商公式,对 采用二 tu 2xu阶中心差商公式,一维热传导方程(5)可分别表示为 )(),1(),2),1(2),()1,( ,(, )(),1(),2),1(),(1,( 22hOhjkujjkuajkujk hhjkujjkajjku 由此得到一维热传导方程的不同的差分近似 (18)02,1,1,1, haujkjjkjkjk(19)2,1,11, uujkjjkjkj(20

11、)022,1,11, haujkjjkjkjk2.2.2 初、边值条件的处理 为用差分方程求解定解问题(6) , (7)等,还需对定解条件进行离散化。 对初始条件及第一类边界条件,可直接得到 (21) )1,0,0(0,0, nkkxukk 或(22)jjjngtl2, 1,),( ),m其中 。Tmh对第二、三类边界条件则需用差商近似。下面介绍两种较简单的处理方法。 (i)在左边界(x = 0)处用向前差商近似偏导数 ,在右边界 ( )处用向后差商近似xulx偏导数 ,即xu即得边界条件(8)的差分近似为 (ii)用中心差商近似 ,即 xu则得边界条件的差分近似为 这样处理边界条件,误差的阶

12、数提高了,但式(24)中出现定解区域外的节点(-1, j)和 (n +1, j),这就需要将解拓展到定解区域外。可以通过用内节点上的 u 值插值求出 和 ,也可以假定热传导方程(5)在边界上也成立,将差分方程扩展到边界节点 上,由此消去 和 。 2.2.3 几种常用的差分格式 下面我们以热传导方程的初边值问题(7)为例给出几种常用的差分格式。 (i) 古典显式格式 为便于计算,令 ,式(18)改写成以下形式 将式(18)与(21) , (22)结合,我们得到求解问题(7)的一种差分格式 由于第 0 层( j = 0)上节点处的 u 值已知 ,由式(25)即可算出 u 在第一层 ( j = 1)

13、上节点处的近似值 。重复使用式(25) ,可以逐层计算出各层节点的近似值。 (ii)古典隐式格式 将(19)整理并与式(21) , (22)联立,得差分格式如下其中 。虽然第 0 层上的 u 值仍为已知,但不能由式(30)直接计算以上各层节点上的值 故差分格式(26)称为古典隐式格式。 (iii )杜福特弗兰克尔(DoFortFrankel)格式 DoFortFrankel 格式是三层显式格式,它是由式(24)与(25) , (26)结合得到 的。具体形式如下: 用这种格式求解时,除了第 0 层上的值 由初值条件(21)得到,必须先用二层格式 求出第 1 层上的值 ,然后再按格式(27)逐层计

14、算 。 2.3 双曲型方程的差分解法 对二阶波动方程(10) 如果令 ,则方程(10)可化成一阶线性双曲型方程组 记 ,则方程组( 28)可表成矩阵形式 矩阵 A 有两个不同的特征值 = a,故存在非奇异矩阵 P,使得 作变换 ,方程组(29)可化成 方程组(30)由两个独立的一阶双曲型方程联立而成。因此下面主要讨论一阶双曲型方 程的差分解法。 考虑一阶双曲型方程的初值问题 与抛物型方程的讨论类似,仍将 xt 平面剖分成矩形网格。取 x 方向步长为 h ,t 方向步 长为 ,网格线为 。为简便起 见,记 。 以不同的差商近似偏导数,可以得到方程(9)的不同的差分近似 结合离散化的初始条件,可以

15、得到几种简单的差分格式。 3 一维状态空间的偏微分方程的 MATLAB 解法 3.1 工具箱命令介绍 MATLAB 提供了一个指令 pdepe,用以解以下的 PDE 方程式 其中时间介于 之间,而位置 x 则介于a,b有限区域之间。m 值表示问题的对称性,其可为 0,1 或 2,分别表示平板 (slab),圆柱(cylindrical)或球体(spherical)的情形。因而,如果 m 0,则 a 必等于 b,也就是说其具有圆柱或球体的对称关系。同时,式中一项为流通量(flux),而 为来源(source)项。为偏微分方程的对角线系数矩阵。若某一对角线元素为 0,则表示该偏微分方程为椭圆型偏微

16、分方程,若为正值(不为 0),则为拋物型偏微分方程。请注意 c 的对角线元素一定不全为 0。偏微分方程初始值可表示为 而边界条件为 其中 x 为两端点位置,即 a 或 b 用以解含上述初始值及边界值条件的偏微分方程的 MATLAB 命令 pdepe 的用法如 下: sol = pdepe(m, pdepe,icfun,bcfun, xmesh,tspan,options)其中 m 为问题之对称参数; xmesh 为空间变量 x 的网格点(mesh)位置向量,即 ,其中 。 tspan 为时间变量 t 的向量,即 ,其中 为起始时间, 为 终0tMt点时间。 pdefun 为使用者提供的 pde

17、 函数文件。其函数格式如下: c, f , s = pdefun(x,t,u, dudx)亦即,使用者仅需提供偏微分方程中的系数向量。 c , f 和 s 均为行(column)向量,而向量 c 即为矩阵 c 的对角线元素。 icfun 提供解 u 的起始值,其格式为 u = icfun(x)值得注意的是 u 为行向量。 bcfun 使用者提供的边界条件函数,格式如下: pl, ql, pr, ql = bcfun(xl,ul, xr,ur,t)其中 ul 和 ur 分别表示左边界( xl = b)和右边界(xr = a) u 的近似解。输出变量中,pl 和 ql 分别表示左边界 p 和 q

18、的行向量,而 pr 和 qr 则为右边界 p 和 q 的行向量。 sol 为解答输出。sol 为多维的输出向量,sol(:,: i) 为 的输出,即 sol(:,:,i)。元素i iusol( j, k,i)表示在 t = tspan( j)和 x = xmesh(k)时 之答案。 ),(kjui iuoptions 为求解器的相关解法参数。详细说明参见 odeset 的使用方法。 注: 1. MATLAB PDE 求解器 pdepe 的算法,主要是将原来的椭圆型和拋物线型偏微分 方程转化为一组常微分方程。此转换的过程是基于使用者所指定的 mesh 点,以二阶空 间离散化(spatial di

19、scretization)技术为之(Keel and Berzins,1990),然后以 ode15s 的指令 求解。采用 ode15s 的 ode 解法,主要是因为在离散化的过程中,椭圆型偏微分方程被 转化为一组代数方程,而拋物线型的偏微分方程则被转化为一组联立的微分方程。因而, 原偏微分方程被离散化后,变成一组同时伴有微分方程与代数方程的微分代数方程组, 故以 ode15s 便可顺利求解。 2. x 的取点(mesh) 位置对解的精确度影响很大,若 pdepe 求解器给出“has difficulty finding consistent initial considition”的讯息时,使用者可进一步将 mesh 点取密 一点,即增加 mesh 点数。另外,若状态 u 在某些特定点上有较快速的变动时,亦需将 此处的点取密集些,以增加精确度。值得注意的是 pdepe 并不会自动做 xmesh 的自动取 点,使用者必须观察解的特性,自行作取点的操作。一般而言,所取的点数至少需大于 3 以上。 3. tspan 的选取主要是基于使用者对那些特定时间的状态有兴趣而选定。而间距(step size)的控制由程序自动完成。 4. 若要获得特定位置及时间下的解,可配合以 pdeval 命令。使用格式如下:

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 课程笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。