有限差分法求解偏微分方程MATLAB
matlab求解多元偏微分方程

matlab求解多元偏微分方程【导言】多元偏微分方程是数学中一类重要的方程,可以描述许多自然现象和物理过程。
而MATLAB作为一种计算机软件,它在求解多元偏微分方程方面具有强大的功能和广泛的应用。
本文将深入探讨MATLAB如何求解多元偏微分方程,并在此基础上展现其在实际问题中的应用价值。
【1. 多元偏微分方程简介】多元偏微分方程是指包含了多个自变量和多个未知函数的偏微分方程。
通常用来描述自然界和物理过程中多元系统的演化规律。
热传导、扩散、波动等现象都可以通过多元偏微分方程来描述。
而求解多元偏微分方程则是研究和应用中的关键问题。
【2. MATLAB在多元偏微分方程求解中的优势】MATLAB作为一种功能强大的数学软件,其在求解多元偏微分方程方面具有许多优势。
MATLAB提供了丰富的数值计算工具箱,如Partial Differential Equation Toolbox,可以帮助用户快速构建和求解多元偏微分方程。
MATLAB的编程语言具有简单易用的特点,用户可以使用MATLAB的脚本语言进行快速算法开发和实现。
MATLAB还提供了高效的并行计算能力,可以加速多元偏微分方程的求解过程。
【3. MATLAB求解多元偏微分方程的基本方法】MATLAB求解多元偏微分方程的基本方法包括有限差分法、有限元法、边界元法等。
下面将详细介绍有限差分法这一常用的方法。
有限差分法是基于差商近似的方法,将连续的偏微分方程转化为离散的差分方程。
该方法将求解区域离散成网格,通过迭代计算网格上的差分方程来逼近偏微分方程的解。
在MATLAB中,可以通过定义网格和差分方程来实现多元偏微分方程的求解。
具体步骤包括初始化网格、设定边界条件、构造差分方程和迭代求解。
MATLAB提供了方便的函数和工具来简化这一过程。
【4. MATLAB在实际问题中的应用】MATLAB在实际问题中的应用非常广泛,并且在多元偏微分方程的求解中具有重要的作用。
matlab有限差分法求解非齐次偏微分方程

matlab有限差分法求解非齐次偏微分方程【导语】本文将介绍matlab有限差分法在求解非齐次偏微分方程中的应用。
非齐次偏微分方程是数学和物理学中的常见问题之一,它们描述了许多实际系统的行为。
通过有限差分法,可以将偏微分方程转化为差分方程,从而利用计算机来求解。
本文将从原理、步骤和实例三个方面来分析非齐次偏微分方程的有限差分法求解过程。
【正文】一、原理有限差分法是将连续函数在一系列有限的点上进行逼近的方法。
它的基本思想是用差分代替微分,将偏导数转化为差分算子。
通过对空间和时间离散化,将非齐次偏微分方程转化为差分方程组,再利用数值计算的方法求解这个差分方程组,从而得到非齐次偏微分方程的近似解。
具体而言,有限差分法将求解区域划分为网格,并在网格上近似表示偏微分方程中的函数。
利用中心差分公式或向前、向后差分公式来近似计算偏导数。
通过将偏微分方程中的微分算子替换为差分近似,可以将方程转化为一个代数方程组,进而求解得到非齐次偏微分方程的近似解。
二、步骤1. 确定求解的区域和方程:首先要确定求解的区域,然后确定非齐次偏微分方程的形式。
在matlab中,可以通过定义一个矩阵来表示求解区域,并将方程转化为差分算子形式。
2. 离散化:将求解区域划分为网格,确定每个网格点的位置,建立网格点之间的连接关系。
通常,使用均匀网格来离散化求解区域,并定义网格点的坐标。
3. 建立差分方程组:根据偏微分方程的形式和离散化的结果,建立差分方程组。
根据中心差分公式,用网格点上的函数值和近邻点的函数值来近似计算偏导数。
将差分算子应用于非齐次偏微分方程的各个项,得到差分方程组。
4. 求解差分方程组:利用线性代数求解差分方程组。
将方程组转化为矩阵形式,利用matlab中的线性方程组求解功能,得到差分方程组的近似解。
通过调整求解区域划分的精细程度和差分算子的选取,可以提高求解的精度。
5. 回代和结果分析:将求解的结果回代到原非齐次偏微分方程中,分析其物理意义和数值稳定性。
差分法求解偏微分方程MAAB

南京理工大学课程考核论文课程名称:高等数值分析论文题目:有限差分法求解偏微分方程姓名:罗晨学号:成绩:有限差分法求解偏微分方程一、主要内容1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程:具体求解的偏微分方程如下:2.推导五种差分格式、截断误差并分析其稳定性;3.编写MATLAB程序实现五种差分格式对偏微分方程的求解及误差分析;4.结论及完成本次实验报告的感想。
二、推导几种差分格式的过程:有限差分法(finite-differencemethods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。
有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。
推导差分方程的过程中需要用到的泰勒展开公式如下:()2100000000()()()()()()()......()(())1!2!!n n n f x f x f x f x f x x x x x x x o x x n +'''=+-+-++-+-(2-1)求解区域的网格划分步长参数如下:11k k k kt t x x h τ++-=⎧⎨-=⎩(2-2) 2.1古典显格式2.1.1古典显格式的推导由泰勒展开公式将(,)u x t 对时间展开得2,(,)(,)()()(())i i k i k k k uu x t u x t t t o t t t∂=+-+-∂(2-3) 当1k t t +=时有21,112,(,)(,)()()(())(,)()()i k i k i k k k k k i k i k uu x t u x t t t o t t tuu x t o tττ+++∂=+-+-∂∂=+⋅+∂(2-4)得到对时间的一阶偏导数1,(,)(,)()=()i k i k i k u x t u x t uo t ττ+-∂+∂(2-5) 由泰勒展开公式将(,)u x t 对位置展开得223,,21(,)(,)()()()()(())2!k i k i k i i k i i u uu x t u x t x x x x o x x x x∂∂=+-+-+-∂∂(2-6)当11i i x x x x +-==和时,代入式(2-6)得2231,1,1122231,1,1121(,)(,)()()()()(())2!1(,)(,)()()()()(())2!i k i k i k i i i k i i i i i k i k i k i i i k i i i iu u u x t u x t x x x x o x x x xu u u x t u x t x x x x o x x x x ++++----⎧∂∂=+-+-+-⎪⎪∂∂⎨∂∂⎪=+-+-+-⎪∂∂⎩(2-7) 因为1k k x x h +-=,代入上式得2231,,22231,,21(,)(,)()()()2!1(,)(,)()()()2!i k i k i k i k i k i k i k i ku u u x t u x t h h o h x xu u u x t u x t h h o h x x +-⎧∂∂=+⋅+⋅+⎪⎪∂∂⎨∂∂⎪=-⋅+⋅+⎪∂∂⎩(2-8) 得到对位置的二阶偏导数2211,22(,)2(,)(,)()()i k i k i k i k u x t u x t u x t uo h x h+--+∂=+∂(2-9) 将式(2-5)、(2-9)代入一般形式的抛物线型偏微分方程得(2-10)为了方便我们可以将式(2-10)写成11122k kk k k k i i i i i i u u u u u f h ατ++-⎡⎤--+-=⎢⎥⎣⎦(2-11) ()11122k k k k k k i i i i i i u u uu u f hτατ++----+=(2-12)最后得到古典显格式的差分格式为()111(12)k k k k k i i i i i u ra u r u u f ατ++-=-+++(2-13)2r hτ=其中,古典显格式的差分格式的截断误差是2()o h τ+。
matlab有限差分法

matlab有限差分法一、前言Matlab是一种广泛应用于科学计算和工程领域的计算机软件,它具有简单易学、功能强大、易于编程等优点。
有限差分法(Finite Difference Method)是一种常用的数值解法,它将微分方程转化为差分方程,通过对差分方程进行离散化求解,得到微分方程的数值解。
本文将介绍如何使用Matlab实现有限差分法。
二、有限差分法基础1. 有限差分法原理有限差分法是一种通过将微分方程转化为离散形式来求解微分方程的数值方法。
其基本思想是将求解区域进行网格划分,然后在每个网格点上进行逼近。
假设要求解一个二阶常微分方程:$$y''(x)=f(x,y(x),y'(x))$$则可以将其转化为离散形式:$$\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}=f(x_i,y_i,y'_i)$$其中$h$为网格步长,$y_i$表示在$x_i$处的函数值。
2. 一维情况下的有限差分法对于一维情况下的常微分方程:$$\frac{d^2 y}{dx^2}=f(x,y,y')$$可以使用中心差分法进行离散化:$$\frac{y_{i+1}-2y_i+y_{i-1}}{h^2}=f(x_i,y_i,y'_i)$$这个方程可以写成矩阵形式:$$A\vec{y}=\vec{b}$$其中$A$为系数矩阵,$\vec{y}$为函数值向量,$\vec{b}$为右端项向量。
三、Matlab实现有限差分法1. 一维情况下的有限差分法假设要求解的方程为:$$\frac{d^2 y}{dx^2}=-\sin(x)$$首先需要确定求解区域和网格步长。
在本例中,我们将求解区域设为$[0,2\pi]$,网格步长$h=0.01$。
则可以通过以下代码生成网格:```matlabx = 0:0.01:2*pi;```接下来需要构造系数矩阵和右端项向量。
根据上面的公式,系数矩阵应该是一个三对角矩阵,可以通过以下代码生成:```matlabn = length(x)-2;A = spdiags([-ones(n,1), 2*ones(n,1), -ones(n,1)], [-1 0 1], n, n); ```其中`spdiags`函数用于生成一个稀疏矩阵。
(完整版)偏微分方程的MATLAB解法

引言偏微分方程定解问题有着广泛的应用背景。
人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。
然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。
现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。
偏微分方程如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。
常用的方法有变分法和有限差分法。
变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。
虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。
随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。
从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。
从这个角度说,偏微分方程变成了数学的中心。
一、MATLAB方法简介及应用1.1 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
1.2 Matlab主要功能数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程1.3 优势特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
有限差分法matlab程序

有限差分法matlab程序
有限差分法是一种常见的数值分析方法,它可以用来求解微分方程的解,称为数值解。
有限差分法的实现可以使用MATLAB,MATLAB 的强大的编程能力可以帮助我们更方便的实现有限差分法。
首先,我们需要了解什么是有限差分法。
有限差分法是一种数值计算的方法,它用一组等间距的数组来拟合一个函数,然后利用这些数组求出函数的值。
有限差分法可以用来解决复杂的微分方程,这是由于它能够将一个复杂的微分方程分解成一系列简单的微分方程,每个方程都可以用有限差分法来解决。
其次,使用MATLAB来实现有限差分法需要了解MATLAB中有限差分法的必要组件。
MATLAB中有限差分法的组件主要有:矩阵操作、函数计算、微分方程求解等。
首先,我们使用矩阵操作来实现函数的拟合,然后使用函数计算得到函数的值。
最后,我们使用微分方程求解器来解决复杂的微分方程。
最后,实现有限差分法在MATLAB中需要编写MATLAB程序。
MATLAB 程序首先需要编写矩阵操作程序,使用矩阵操作程序拟合函数;然后编写函数计算程序,计算函数的值;最后,编写微分方程求解程序,利用微分方程求解器来解决复杂的微分方程。
有限差分法是一种重要的数值分析方法,在很多科学中都有着广泛的应用,MATLAB可以让我们更方便的实现有限差分法,在微分方程的求解中发挥其独特的作用。
本文简要介绍了如何使用MATLAB来实现有限差分法,希望能为大家提供一些帮助。
(完整版)偏微分方程的MATLAB解法

引言偏微分方程定解问题有着广泛的应用背景。
人们用偏微分方程来描述、解释或者预见各种自然现象,并用于科学和工程技术的各个领域fll。
然而,对于广大应用工作者来说,从偏微分方程模型出发,使用有限元法或有限差分法求解都要耗费很大的工作量,才能得到数值解。
现在,MATLAB PDEToolbox已实现对于空间二维问题高速、准确的求解过程。
偏微分方程如果一个微分方程中出现的未知函数只含一个自变量,这个方程叫做常微分方程,也简称微分方程;如果一个微分方程中出现多元函数的偏导数,或者说如果未知函数和几个变量有关,而且方程中出现未知函数对几个变量的导数,那么这种微分方程就是偏微分方程。
常用的方法有变分法和有限差分法。
变分法是把定解问题转化成变分问题,再求变分问题的近似解;有限差分法是把定解问题转化成代数方程,然后用计算机进行计算;还有一种更有意义的模拟法,它用另一个物理的问题实验研究来代替所研究某个物理问题的定解。
虽然物理现象本质不同,但是抽象地表示在数学上是同一个定解问题,如研究某个不规则形状的物体里的稳定温度分布问题,由于求解比较困难,可作相应的静电场或稳恒电流场实验研究,测定场中各处的电势,从而也解决了所研究的稳定温度场中的温度分布问题。
随着物理科学所研究的现象在广度和深度两方面的扩展,偏微分方程的应用范围更广泛。
从数学自身的角度看,偏微分方程的求解促使数学在函数论、变分法、级数展开、常微分方程、代数、微分几何等各方面进行发展。
从这个角度说,偏微分方程变成了数学的中心。
一、MATLAB方法简介及应用1.1 MATLAB简介MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
1.2 Matlab主要功能数值分析数值和符号计算工程与科学绘图控制系统的设计与仿真数字图像处理数字信号处理通讯系统设计与仿真财务与金融工程1.3 优势特点1) 高效的数值计算及符号计算功能,能使用户从繁杂的数学运算分析中解脱出来;2) 具有完备的图形处理功能,实现计算结果和编程的可视化;3) 友好的用户界面及接近数学表达式的自然化语言,使学者易于学习和掌握;4) 功能丰富的应用工具箱(如信号处理工具箱、通信工具箱等) ,为用户提供了大量方便实用的处理工具。
偏微分方程的matlab解法

第三步:选取边界
首先选择Boundary菜单中Boundary Mode 命令,进入边界模式.然后单击Boundary菜单 中Remove All Subdomain Borders选项。从而 去掉子域边界,如图22 2.单击Boundary菜单 中Specify Boundary Conditions选项,打开 Boundary Conditions对话框,输入边界件.本 例取默认条件,即将全部边界设为齐次Dirichlet 条件,边界显示为红色. 如果想将几何与边界信息存储,可选Boundary 菜单中的Export Decomposed Geometrv.Boundary Cond's命令,将它们分 别存储在g、b变量中,并通过MATLAB形成M文 件.
已知求解域是方形区域,空间坐标的个数由具体问题确定.
例如,对于细杆导热,虽然是一维问题, 可以将宽度y虚拟出来,对应于y的边界 条件和初始条件按照题意制定
Boundary Mode
PDE Mode
PDE Specification,确定偏 微分方程类型共有四种:
椭圆形Elliptic
抛物型Parabolic
双曲型Hyperbolic
Mesh Mode
网格划分,细化
Solve,Plot
如果有初始条件(与t有关),则在 Solve的Parameters里有其设定,如果 没有初始条件(与t无关),则不必设 定Plot只是确定画图的参数,包括是否 动画,是否3D,是否画出等温线,是否 有箭头。。。
Save As
保存成M-file,自动生成
PDEToolbox注意事项
只能解决二维模型,一维的扩成二维,三 维的缩成二维,时间维不计算在内 公式类型,只能解决部分偏微分方程,由 公式类型决定 边界条件两种,Dirichlet和Neumann 初始条件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
南京理工大学课程考核论文课程名称:高等数值分析论文题目:有限差分法求解偏微分方程姓名:罗晨学号:成绩:有限差分法求解偏微分方程一、主要内容1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程:22(,)()u uf x t t xαα∂∂-=∂∂其中为常数具体求解的偏微分方程如下:22001(,0)sin()(0,)(1,)00u u x t x u x x u t u t t π⎧∂∂-=≤≤⎪∂∂⎪⎪⎪=⎨⎪⎪==≥⎪⎪⎩2.推导五种差分格式、截断误差并分析其稳定性;3.编写MATLAB 程序实现五种差分格式对偏微分方程的求解及误差分析;4.结论及完成本次实验报告的感想。
二、推导几种差分格式的过程:有限差分法(finite-difference methods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。
有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。
推导差分方程的过程中需要用到的泰勒展开公式如下:()2100000000()()()()()()()......()(())1!2!!n n n f x f x f x f x f x x x x x x x o x x n +'''=+-+-++-+- (2-1)求解区域的网格划分步长参数如下:11k k k k t t x x hτ++-=⎧⎨-=⎩ (2-2) 古典显格式2.1.1 古典显格式的推导由泰勒展开公式将(,)u x t 对时间展开得2,(,)(,)()()(())i i k i k k k uu x t u x t t t o t t t∂=+-+-∂ (2-3)当1k t t +=时有21,112,(,)(,)()()(())(,)()()i k i k i k k k k k i k i k uu x t u x t t t o t t tuu x t o tττ+++∂=+-+-∂∂=+⋅+∂ (2-4)得到对时间的一阶偏导数1,(,)(,)()=()i k i k i k u x t u x t uo t ττ+-∂+∂ (2-5) 由泰勒展开公式将(,)u x t 对位置展开得223,,21(,)(,)()()()()(())2!k i k i k i i k i i u uu x t u x t x x x x o x x x x∂∂=+-+-+-∂∂(2-6)当11i i x x x x +-==和时,代入式(2-6)得2231,1,1122231,1,1121(,)(,)()()()()(())2!1(,)(,)()()()()(())2!i k i k i k i i i k i i i i i k i k i k i i i k i i i iu uu x t u x t x x x x o x x x x u u u x t u x t x x x x o x x x x ++++----⎧∂∂=+-+-+-⎪⎪∂∂⎨∂∂⎪=+-+-+-⎪∂∂⎩(2-7)因为1k k x x h +-=,代入上式得2231,,22231,,21(,)(,)()()()2!1(,)(,)()()()2!i k i k i k i k i k i k i k i ku uu x t u x t h h o h x xu u u x t u x t h h o h x x +-⎧∂∂=+⋅+⋅+⎪⎪∂∂⎨∂∂⎪=-⋅+⋅+⎪∂∂⎩(2-8)得到对位置的二阶偏导数2211,22(,)2(,)(,)()()i k i k i k i k u x t u x t u x t u o h x h+--+∂=+∂ (2-9)将式(2-5)、(2-9)代入一般形式的抛物线型偏微分方程得21112(,)(,)(,)2(,)(,)(,)()i k i k i k i k i k i k u x t u x t u x t u x t u x t f x t o h h αττ++---+⎡⎤-=++⎢⎥⎣⎦(2-10)为了方便我们可以将式(2-10)写成11122k kk k k ki i i i i i u u u u u f h ατ++-⎡⎤--+-=⎢⎥⎣⎦(2-11) ()11122k k kk k k i i i i i i u u uu u f h τατ++----+=(2-12)最后得到古典显格式的差分格式为()111(12)k k k k k i i i i i u ra u r u u f ατ++-=-+++(2-13)2r hτ=其中,古典显格式的差分格式的截断误差是2()o h τ+。
2.1.2 古典显格式稳定性分析古典显格式(2-13)写成矩阵形式为()112k k k h h hu ra I raC u f τ+=-++⎡⎤⎣⎦ (2-14)12212,(,,......,,)k k k k kh N N r u u u u u h τ--==其中。
(1)(1)01010100101010N N C -⨯-⎡⎤⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦ 上面的C 矩阵的特征值是:2cos()1,2,......,1C j h j N λπ==-()12H ra I raC =-+()()()212=122cos()121cos()14sin 1,2,......,12H j C ra ra ra ra j h ra j h j h ra j N λλπππ=-+-+=--=-=-(2-15)使()1H ρ≤,即2114sin 12j hra π-≤-≤ 102ra ≤≤结论:当102ra ≤≤时,所以古典显格式是稳定的。
古典隐格式2.2.1 古典隐格式的推导 将1k t t -=代入式 (2-3)得21,11(,)(,)()()(())j k j k j k k k k k uu x t u x t t t o t t t---∂=+-+-∂ (2-16) 21,(,)(,)()()j k j k j k uu x t u x t o tττ-∂=-⋅+∂ (2-17)得到对时间的一阶偏导数1,(,)(,)()=()j k j k j k u x t u x t u o t ττ--∂+∂ (2-18) 将式(2-9)、(2-18)原方程得到11122(,)(,)(,)2(,)(,)(,)()j k j k j k j k j k j k u x t u x t u x t u x t u x t f x t o h h αττ-+---+⎡⎤-=++⎢⎥⎣⎦(2-19)为了方便把(2-19)写成11122k k k k kj jj j j kj u u u u u f h ατ-+-⎡⎤--+-=⎢⎥⎢⎥⎣⎦(2-20) ()11122k k kk k kj jj j j j u u uu u f h τατ-+----+= (2-21)最后得到古典隐格式的差分格式为()111(12)k k k k k j j j jj ra u r u u u f ατ-+-+-+=+ (2-22)2r hτ=其中,古典隐格式的差分格式的截断误差是2()o h τ+。
2.2.2 古典隐格式稳定性分析将古典隐格式(2-22)写成矩阵形式如下()1212()k k kh h hra I raC u u f r h ττ++-=+=⎡⎤⎣⎦(2-23) 误差传播方程()112k k h h ra I raC v v ++-=⎡⎤⎣⎦(2-24) ()12,A ra I raC B I=+-=所以误差方程的系数矩阵为()1112H A ra I raC --==+-⎡⎤⎣⎦()11,2,......,1122cos H j j N ra ra j hλπ==-+-使()1H ρ≤,显然()21122cos()112(1cos())114sin 2H j ra ra j h ra j h j h ra λπππ=+-=+-=+1H j λ≤恒成立。
结论:对于0r ∀>,即任意网格比下,古典隐格式是绝对稳定的。
Richardson 格式2.3.1 Richardson 格式的推导 将11k k t t t t +-==和,代入式(2-3)得21,1121,11(,)(,)()()(())(,)(,)()()(())i k i k i k k k k k i k i k i k k k k ku u x t u x t t t o t t t u u x t u x t t t o t t t +++---∂⎧=+-+-⎪⎪∂⎨∂⎪=+-+-⎪∂⎩(2-25) 即21,21,(,)(,)()()(,)(,)()()i k i k i k i k i k i ku u x t u x t o t u u x t u x t o t ττττ+-∂⎧=+⋅+⎪⎪∂⎨∂⎪=-⋅+⎪∂⎩(2-26) 由此得到可得 211,(,)(,)()()2i k i k i k u x t u x t uo t ττ++-∂=+∂ (2-27)将式(2-9) 、(2-27)代入原方程得到下式2211112(,)(,)(,)2(,)(,)(,)()2i k i k i k i k i k i k u x t u x t u x t u x t u x t f x t o h h αττ+-+---+⎡⎤-=++⎢⎥⎣⎦(2-28)为了方便可以把式(2-28)写成1111222k k k k k k i i i i i i u u u u u f h ατ+-+-⎡⎤--+-=⎢⎥⎣⎦(2-29) 即()111122k k kk k k i i i i i i u u uu u f h τατ+-+----+= (2-30)最后得到Richardson 显格式的差分格式为()1111222k k k k k k i i i i i i u r u u u u f ατ+-+-=-+++(2-31)2r h τ=其中,古典显格式的差分格式的截断误差是22()o h τ+。
2.3.2 Richardson 稳定性分析将Richardson 显格式(2-31)写成如下矩阵形式()11222k k k k h h h h u r C I u u f ατ+-=-++ (2-32)误差传播方程矩阵形式()1122k k k h h hkkh hv r C I v v v v α+-⎧=-+⎪⎨=⎪⎩ (2-33) 再将上面的方程组写成矩阵形式112(2)0k k k hk ra C I I v ww I v ++-⎛⎫⎡⎤== ⎪⎢⎥⎣⎦⎝⎭ (2-34) 系数矩阵的特征值是4cos()4110j ra j h ra π-⎡⎤∧=⎢⎥⎣⎦228sin 102j hra πλλ+-= (2-35) 解得特征值为1,2λ=(2-36){}212,=4sin 12j h Max ra πλλ> (恒成立)(2-37)结论:上式对任意的网比都恒成立,即Richardson 格式是绝对不稳定的。