向前差分格式

合集下载

抛物型方程的计算方法

抛物型方程的计算方法

分类号:O241.82本科生毕业论文(设计)题目:一类抛物型方程的计算方法作者单位数学与信息科学学院作者姓名专业班级2011级数学与应用数学创新2班指导教师论文完成时间二〇一五年四月一类抛物型方程的数值计算方法(数学与信息科学学院数学与应用数学专业2011级创新2班)指导教师摘要: 抛物型方程数值求解常用方法有差分方法、有限元方法等。

差分方法是一种对方程直接进行离散化后得到的差分计算格式,有限元方法是基于抛物型方程的变分形式给出的数值计算格式.本文首先给出抛物型方程的差分计算方法,并分析了相应差分格式的收敛性、稳定性等基本理论问题.然后,给出抛物型方程的有限元计算方法及理论分析.关键词:差分方法,有限元方法,收敛性,稳定性Numerical computation methods for a parabolic equationYan qian(Class 2, Grade 2011, College of Mathematics and Information Science)Advisor: Nie huaAbstract: The common methods to solve parabolic equations include differential method, finite element method etc. The main idea of differential method is to construct differential schemes by discretizing differential equations directly. Finite element scheme is based on the variational method of parabolic equations. In this article, we give some differential schemes for a parabolic equation and analyze their convergence and stability. Moreover, the finite element method and the corresponding theoretical analysis for parabolic equation are established.Key words: differential method, finite element method, convergence, stability1 绪 论1.1 引 言自然界里中热的传播,溶质在液体中弥散,多孔介质中渗流等随时间发展的现象和过程,都可以用抛物型方程来描述.因此,抛物型方程是刻画自然界的一类很重要的方程.然而,很多的方程我们并不能求出它的精解确,或者表达式过于复杂,所以需要采用数值方法去计算它们的近似解.抛物型方程最基本的计算方法当属有限差分法[1],通过离散化便可得到计算格式,该方法构造简单,易于操作.但是在处理一些复杂的边值问题时计算会很复杂,因此我们需要探讨一些新的处理手段.有限元计算方法起源于椭圆型方程的计算,它将求解椭圆型方程的解转换为求解其变分形式的解[1],从而极大地丰富了偏微分方程的计算手段.正式由于其在椭圆型方程计算中的巨大优势,以及抛物型方程与椭圆型方程的密切联系,所以该方法很自然的被推广到了抛物型方程初边值问题的计算上[4].本文系统的总结了一类抛物型方程的计算方法,包括有限差分法和有限元方法.并且通过数值算例给出了两类方法的一个比较.为此,本文需要先给出一些基本的分析知识作为研究该问题的基础[6,7],下来就给出了抛物型方程的变分形式,这个是构造有限元计算格式的基础,在此基础上,给出了有限元计算格式并讨论了其收敛性和稳定性. 1.2 准备知识抛物型偏微分方程是一类典型的发展方程,其一般形式如下:)()(x f u L tu=-∂∂ (1.1.1) 其中),(t x u 是空间自变量).....(1n x x x =和时间t 的未知函数,L 是关于空间变量的线性椭圆型微分算子,即f u c x b x x a L n i i i j i n j i ij=⎪⎪⎭⎫ ⎝⎛+∂∂+∂∂±≡∑∂∑=21, 其系数的实函数为自变量和右端项)...(,,1n ij ij x x x f c b a =,且在方程(1.1.1)的定义域n R ∈Ω中满足椭圆性条件Ω∈∀∈=∀>≥∑∑==x x ix x aR nn ni j i nj i ij,}0{).....(,0)()()(1121,ξξξααξξξ(1.1.2)当L 是非线性椭圆型微分算子或者f 是u 的非线性函数时,则称相应的抛物型方程为非线性的.下面给出抛物型方程的定解条件: 初值条件,不妨设初始时刻0=t ,则Ω∈∀=x x u x u ),()0,(0 (1.1.3) 第一类边值条件:0,),,(),(>∀Ω∂∈∀=t x t x u t x u D (1.1.4) 第二类边值条件:0,),,(),(>∀Ω∂∈∀=∂∂t x t x g t x vu(1.1.5) 第三类边值条件:0,),,(),)((>∀Ω∂∈∀=+∂∂t x t x g t x u tuα (1.1.6) 其中00),(,,>≥ααα上,且至少在一部分边界的已知函数,是t x u g u D ,v 为的单位外法向量Ω∂.2,有限差分法本章将给出抛物型方程最基本的计算方法—有限差分法。

数值计算方法比较

数值计算方法比较

有限差分方法(FDM:Finite Difference Method)是计算机数值模拟最早采用的方法,至今仍被广泛运用。

该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。

有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。

有限差分法主要集中在依赖于时间的问题(双曲型和抛物型方程)。

有限差分法方面的经典文献有Richtmeyer & Morton的《Difference Methods for Initial-Value Problems》;R. LeVeque《Finite Difference Method for Differential Equations》;《Numerical Methods for C onservation Laws》。

注:差分格式:(1)从格式的精度来划分,有一阶格式、二阶格式和高阶格式。

(2)从差分的空间形式来考虑,可分为中心格式和逆风格式。

(3)考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。

目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。

差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。

构造差分的方法:构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。

其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。

通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。

有限差分法的不足:由于采用的是直交网格,因此较难适应区域形状的任意性,而且区分不出场函数在区域中的轻重缓急之差异,缺乏统一有效的处理自然边值条件和内边值条件的方法,难以构造高精度(指收敛阶)差分格式,除非允许差分方程联系更多的节点(这又进一步增加处理边值条件韵困难)。

用向前差分格式计算初边值问题

用向前差分格式计算初边值问题

用向前差分格式计算初边值问题一、题目用向前差分格式计算如下热传导方程的初边值问题222122,01,01(,0),01(0,),(1,),01xt t u ux t t x u x e x u t e u t e t +=<<<≤??=≤≤??==≤≤已知其精确解为2(,)x t u x t e +=二、考虑的问题作为模型,考虑一维热传导方程:22(),0u ua f x t T t x=+<≤??…………(1.1)其中a 是正常数,()f x 是给定的连续函数。

现在考虑第二类初边值问题的差分逼近:初始条件:(,0)(),0u x x x l ?=<<…………(1.2)边值条件:(0,)()u t t η=,(,)()u l t t γ=,0t T ≤≤………(1.3)假设()f x 和()x ?在相应区域光滑,并且在0,x l =满足相容条件,使上述问题有惟一充分光滑的解。

三、网格剖分取空间步长lh N=和时间步长TM τ=,其中,N M 都是正整数。

用两族平行直线(0,1,,)j x x jh j N ===L 和(0,1,,)k t t k k M τ===L 将矩形域{}0;0G x l t T =≤≤≤≤分割成矩形网格,网格节点为(,)j k x t 。

以h G 表示网格内点集合,即位于开矩形的网点集合;h G 表示所有位于闭矩形G 的网点集合;h h h G G -=Γ是网格界点集合。

其次,用kj u 表示定义在网点(,)j k x t 的函数,M k N j ≤≤≤≤0,0四、建立差分格式将方程在节点(,)j k x t 离散化,22()kkj j ju u a f x t x=+,1,2,,1j N =-L 1,2,,1k M =-L …………(1.4)对充分光滑的解u ,由T aylor 展式:22312(,)(,)(,)(,)()2j k j k j k j k u x t u x t u x t u x t O t tτττ+??=+++??…………(1.5) 23423451234(,)(,)(,)(,)(,)(,)()23!4!j k j k j k j k j k j k u x t u x t u x t u x t h h h u x t u x t hO h xx x x+=+++++…………(1.6)23423451234(,)(,)(,)(,)(,)(,)()23!4!j k j k j k j k j k j k u x t u x t u x t u x t h h h u x t u x t hO h xx x x-=-+-++…………(1.7)(1.5)移项得:2122(,)(,)(,)(,)()2j k j k j k j k u x t u x t u x t u x t O ttτττ+?-?=-+??…………(1.8)(1.6)(1.7)相加得:242113224(,)(,)2(,)(,)(,)()12j k j k j k j k j k u x t x t u x t u x t u x t h O h x h x+-?-+?=-+??…………(1.9)将(1.8)(1.9)代入(1.4)得:1112(,)(,)(,)2(,)(,)()()j k j k j k j k j k k j j u x t u x t x t u x t u x t af x R u hτ++---+=++…………(1.10)其中,2422324(,)(,)()()()212j k j k kju x t u x t h R u O O h t x ττ??=-++??舍去()kj R u ,得到逼近(1.1)的向前格式差分方程:11122k k k k kj jj j j j u u u u u af hτ++---+=+,1,2,,1j N =-L 1,2,,1k M =-L ……(1.11)其中,(,)kj j k u u x t =,()j j f f x = 记22u u Lu a t t=-??11122k k k k kj jj j j k h j u u u u u L u ah τ++---+=-则由(1.4) []()kj j Lu f x = 由(1.11) (,)()()k h j k j j L u x t f x R u =+ 五、截断误差[]()(,)kk j h j k j R u L u x t Lu =-(3).边界条件0()(),()j j j kkk N k u x u t u t ??ηγ?==??==?? 在本题中,2a =,()0f x =,()x x e ?=,2()t t e η=,12()tt e γ+=六、稳定性分析用傅里叶方法对差分格式进行稳定性分析以2r a h τ=表示网比,将(1.11)改写成便于计算的形式:111(12)k k k k j j j j u ru r u ru ++-=+-+ (本题中()0f x =)以exp()k kj u v i jh α=代入,得()()()1exp()exp (1)(12)exp()exp (1)k k v i jh r i j h r i jh r i j h v αααα+=++-+-消去()jh i αexp ,则知增长因子()()()()()h i h i r r x G p αατ-++-=exp exp 21,()h r αcos 121--= 2sin 412hr α-=由()τατM hr x G p +≤-=12sin41,2,得τατM hr M +≤-≤--12sin 4112即 2214sin 12114sin 2h r M h M r ατατ?-≤+--≤-??恒成立只需 24sin 2M 2hr ατ≤+4r 2≤解得 12r ≤所以向前差分格式的稳定性条件是21≤r七、结论抛物型方程的有限差分法的步骤大致可以归纳如下:1.对区域进行网格剖分2.在离散结点建立相应的差分格式3.处理初边值条件4.进行稳定性分析由本题可以总结出,抛物型方程的有限差分法所得的数值解能够较好地逼近方程的精确解,且区域剖分得越细,即步长越小,数值解与精确解的误差就越小,数值解越逼近精确解。

热传导方程的差分格式讲解

热传导方程的差分格式讲解

热传导方程的左分格式—上机卖习报告二零一gg年五月一维抛物方程的初边值问题分别用向前差分格式、向后差分格式、六点对称格式,求解下列问题:du d2u”(兀0) = sin兀X、0 <x <1w(0,O = z/(l,O = 0, r >0在f = 0.05,0.1和0.2时刻的数值解,并与解析解u^t) = e-7:l sm(^x)进行比较。

1差分格式形式设空间步长h = l/N,时间步长r>0, T=M T,网比r = r/h2.(1)向前差分格式向前差分格式,即Z = /C\) ‘“;=0 =心),必=吆=0其中,丿= 1,2,…,N —1,R = 1,2,…,M—l. ^r^at/h2表示网比。

(1)式可改写成如下:M*+1 = + (i-2r)Uj + rw*_! + tfj此格式为显格式。

其矩阵表达式如下:Q-2r r)r l-2r(j、r 1一2广rl吐7、厂1一2、用丿加(2)向后差分格式(1)向后差分格式,即=0=久形)上:=WN =a其中j = 12・・\N_l,k = H,M_L (2)式可改写成- rw :[: + (l+2r )叶' -中;;=0 + 叭此种差分格式被称为隐格式。

其矩阵表达式如下:rl + 2r -r( j \ I”-r l + 2r-r l + 2r -rW.V-1-r 1 + 2广丿MJ< UN >(3) 六点对称格式六点差分格式:喟-0 _ a加:-2喟+唸;唏- 2”; +吃,—T2L戸 戸 J眄=0产久XJM=H ;=O.将(3)式改写成-g 唸;+ (1 + 时-1 昭=g 略 + (1 - 诃 * * 咯 + /其矩阵表达式如下:(1 + r -r/2<l-r r/2 ) ( j\ -r/2 l + rr/2 1-rui-r/2 l + r -r/2r/2 1-r r/2X-r 1+2匚M丿r/2 l-2r ;E >2利用MATLAB 求解问题的过程对每种差分格式依次取N = 40., r=l/1600, r=l/3200, el/6400,用 MATLAB 求解并图形比较数值解与精确解,用表格列出不同剖分时的Z?误差。

偏微分方程解的几道算例(差分、有限元)-含matlab程序(1)

偏微分方程解的几道算例(差分、有限元)-含matlab程序(1)
A(i,i)=r2; if i>1
A(i-1,i)=-r; A(i,i-1)=-r; end end u=zeros(N+1,M+1); u(N+1,:)=u1; for k=1:N b=u(N+2-k,2:M)+0.02; u(N+1-k,2:M)=inv(A)*b';%求解迭代方程组 end uT=u(1,:);%0.25时刻的解 %精确解与数值解画图 x1=[0,x,1]; plot(x1,uT,'o') hold u_xt = exp (-pi*pi*T)*sin (pi*x1) + x1.*(1 - x1); plot (x1, u_xt, ' r') e=u_xt-uT; 六点格式 function [e]=six(dx,dt,T) %用六点对称格式求解,dx为x方向步长,dt为t方向步长 % e为误差 M=1/dx; N=T/dt; %得到第一层的值 u1=zeros(1,M+1); x=[1:M-1]*dx; u1([2:M])= sin(pi*x)+x.*(1 - x); %网比 r=dt/dx/dx;r2=2+2*r;r3=2-2*r; %构造三对角矩阵A for i=1:M-1 A(i,i)=r2;
0.0070 0.0027
-0.0097 -0.0037
-0.0013 -0.0005
0.0082 0.0000
-0.0114 0.0000
-0.0015 0.0000
0.0087 -0.0120
-0.0016
注:这里的"误差"=精确解-数值解. 2.精确解与数值解结果图像对比
“向前差分格式”:

抛物方程的向前向后差分格式例题

抛物方程的向前向后差分格式例题

抛物方程的向前向后差分格式例题抛物方程是描述物体受重力影响下的运动的数学模型,它在物理学和工程学中有着广泛的应用。

而求解抛物方程的数值方法中,向前差分和向后差分是最常用的两种格式之一。

向前差分格式是一种一阶时间导数的数值逼近方法,它将时间上的变化分为离散的小步长,并根据当前时刻的值和之前时刻的值来逼近下一个时刻的值。

其数值逼近公式可以表示为:u_i^{n+1} = u_i^n + alpha(u_{i+1}^n - 2u_i^n + u_{i-1}^n)其中,u_i^{n+1}表示网格点(i,n+1)处的解值,u_i^n表示网格点(i,n)处的解值,u_{i+1}^n和u_{i-1}^n分别表示网格点(i+1,n)和(i-1,n)处的解值,alpha是时间步长与空间步长的比值。

向后差分格式则是一种一阶时间导数的数值逼近方法,它与向前差分格式相比,将当前时刻的值和之后时刻的值来逼近下一个时刻的值。

其数值逼近公式可以表示为:u_i^{n+1} = u_i^n + alpha(u_{i+1}^{n+1} - 2u_i^{n+1} +u_{i-1}^{n+1})其中,u_{i+1}^{n+1}和u_{i-1}^{n+1}分别表示网格点(i+1,n+1)和(i-1,n+1)处的未知解值,而u_i^{n+1}表示网格点(i,n+1)处的解值。

为了更好地理解这两种差分格式的应用,下面举一个例题:考虑一个一维热传导问题,其抛物方程可以表示为:frac{partial u}{partial t} = kfrac{partial^2 u}{partialx^2}其中,u是温度分布关于时间和空间的函数,k是热导率。

假设我们要求解在0≤x≤1的区域上的温度分布,且边界条件为u(0,t)=u(1,t)=0。

初始条件为u(x,0)=f(x),其中f(x)是已知的初始温度分布。

我们可以使用向前差分或者向后差分格式来求解该问题。

向前差分和向后差分法求离散点的位移

向前差分和向后差分法求离散点的位移

向前差分和向后差分法求离散点的位移全文共四篇示例,供读者参考第一篇示例:向前差分和向后差分是求解离散点位移的常用方法,通过对数据点的距离进行差分运算,可以得到点之间的位移变化情况。

在实际应用中,这两种方法灵活运用,可以帮助我们更准确地分析数据点的位移变化,进而预测未来的趋势走向。

本文将重点介绍向前差分和向后差分的原理及应用,希望能帮助读者更深入了解这两种方法。

向前差分法是一种常用的数值计算方法,它通过计算相邻数据点之间的差值来得到数据点的变化情况。

具体来说,对于一组离散的数据点x0,x1,x2,...,xn,我们可以使用向前差分法来求解这组数据点的位移。

其计算公式如下:Δx(i) = x(i+1) - x(i)其中Δx(i)表示第i个数据点的位移,x(i)表示第i个数据点的数值。

向前差分法的优点是计算简单方便,只需要进行一次差分运算就可以得到数据点的位移。

向前差分法的缺点是可能会产生一定的误差,因为这种方法是通过比较相邻数据点之间的差值来计算位移,容易受到数据点的噪声干扰。

第二篇示例:向前差分和向后差分是数值方法中常用的一种近似求解方法,用于计算离散点之间的位移。

在物理学、工程学和计算机科学领域中,经常需要对离散数据进行处理和分析,而差分方法是其中一种有效的途径。

向前差分和向后差分法是两种基本的数值微分方法,都是用来估计函数的导数。

在实际问题中,有时候我们无法得到函数的解析表达式,只能通过一系列离散的数据点来近似描述函数的性质。

这时,差分方法就可以派上用场。

向前差分法的基本思想是利用函数在给定点的函数值以及该点与相邻点之间的函数值来估计导数。

具体来说,对于离散点(x_i, y_i),其一阶导数可以通过向前差分公式计算:\frac{dy}{dx} \approx \frac{y_{i+1} - y_i}{x_{i+1} - x_i}即通过当前点和下一个点的函数值之差来近似导数值。

向后差分法与之类似,也是利用当前点和前一个点的函数值来估计导数。

向前差分算例

向前差分算例

利用差分法求解下列问题:222,01,0,(0,)(1,)0,0(,0)sin()(1),01u u x t t x u t u t t u x x x x x π⎧∂∂=+≤≤≥⎪∂∂⎪⎪==≥⎨⎪=+-<<⎪⎪⎩x 方向0.1dx =,t 方向上0.01dt =。

在0.25t =观察数值解与精确解2sin()(1)t u e x x x ππ-=+-的误差。

一、算法描述1. 网格剖分取[][]0,1,0,0.25x t ∈∈, x 方向0.1dx =,t 方向上0.01dt =。

2. 差分格式1jj j i i i u u u t dt +-∂⎛⎫= ⎪∂⎝⎭, 21122jj j j i i i i u u u u x dx +-⎛⎫-+∂= ⎪∂⎝⎭, 2dt r dx =,111*(12)*2*j j j j i i i i u r u r u r u dt ++-=+-++。

3. 初边值处理可以先设置21100⨯的0矩阵,然后可以直接给出初值条件,边界条件为0可以不用设置。

二、程序:%***********清理内存************************************clear allclc%**********网格划分**************************************N=10;%总空间长T=25;%求解时刻或总的时间步dx=0.1;%空间步长dt=0.01;%时间步长%***********定义0矩阵************************************u=zeros(N+1,T+1);%************边界条件************************************u(1,1:T+1)=0;u(N+1,1:T+1)=0;%************初始条件************************************for i=1:N+1x=(i-1)*dx;u(i,1)=sin(pi*x)+x.*(1-x);%得到空间上第1层的值end%************差分迭代*************************************r=dt/dx^2;for j=1:Tfor i=2:Nu(i,j+1)=r*u(i+1,j)+(1-2*r)*u(i,j)+r*u(i-1,j)+2*dt;%由第1层的值得到2层及其以上的空间上的值endenddisp(u');%在屏幕上显示全部求解结果U=u(1:N+1,T+1);%提取t=0.25时刻的值%*********绘制0.25时刻的数值解与精确解图******************** x=zeros(1,N+1);for i=1:N+1x(i)=(i-1)*dx;endplot(x,U','o')holdu_xt=exp(-pi*pi*T*dt).*sin(pi.*x)+x.*(1-x);plot(x,u_xt,'r')e=u_xt-U' %求解误差%********************************************************** 三、结果注:红色曲线代表精确解,圆圈代表数值解。

偏微分方程数值解

偏微分方程数值解

偏微分⽅程数值解中南林业科技⼤学偏微分⽅程数值解法学⽣姓名:学号:学院:专业年级:设计题⽬:⼀维热传导⽅程⼏种差分格式2012年07⽉⼀维热传导⽅程22()u ua f x t x=+ 0t T ≤≤ (0)a > 定解条件:1.初值问题(Cauchy 问题) (,0)()u x x x ?=-∞<<+∞2.初边值问题(混合问题)(,0)()0(0,)(,)00u x x x l u t u l t t T=<<==≤≤物理意义:有限长细杆的温度(两端温度不⼀定为0,⼀般为 (0,)(),(,)()0u t t u l t t t T αβ==≤≤,这⾥取成0为⽅便计算)⽅程中的条件为第⼀边值条件,也可有第⼆、三类边值条件: 102102(0,)()()(0,)(),(,)()()(,)().u t t t u t t xu l t t t u l t t xαααβββ?+=??+=?这⾥的系数,i i αβ应满⾜⼀定的条件(见书)。

它们实际上包含了第⼀、第⼆、第三类边界条件。

假定f ,?在区域上充分光滑,则问题的解存在且唯⼀。

现考虑边值问题的差分格式。

对区域进⾏分割:{0;0}G x l t T =≤≤≤≤⽤平⾏直线族0,1,,0,1,,j k x x jh j N t t k k Mτ======分割G ,(,)j k x t 为节点,记为(,)j k ,h 称为空间步长,τ称为时间步长。

记{(,)(,)}{(,)(,)}h h G j k j k G G j k j k G =∈=∈⽤k j u 表⽰定义在⽹点(,)j k x t 的⽹函数,0j N ≤≤,0k M ≤≤。

⽤不同的差商代替⽅程中的偏微商,可得差分格式。

⼀.向前差分格式(古典显格式)1112002()(),01,,1,1,,1k k k k k j j j j j j j j k k N jj j u u u u u a f f f x h u x u u j N k M τ??++---+=+======-=-两τ,记2a r hτ=(称为⽹⽐)则上式可写成便于计算的形式:(1k +层在左边,k 层在右边)111(2)0,1,,1k k k k k j j j j j ju u r u u u f k M τ++-=+-++=-取000j jkkN u u u===,依次可算出各层上的值k j u 。

抛物型方程的计算方法

抛物型方程的计算方法

分类号:O241.82本科生毕业论文(设计)题目:一类抛物型方程的计算方法作者单位数学与信息科学学院作者姓名专业班级2011级数学与应用数学创新2班指导教师论文完成时间二〇一五年四月一类抛物型方程的数值计算方法(数学与信息科学学院数学与应用数学专业2011级创新2班)指导教师摘要: 抛物型方程数值求解常用方法有差分方法、有限元方法等。

差分方法是一种对方程直接进行离散化后得到的差分计算格式,有限元方法是基于抛物型方程的变分形式给出的数值计算格式。

本文首先给出抛物型方程的差分计算方法,并分析了相应差分格式的收敛性、稳定性等基本理论问题.然后,给出抛物型方程的有限元计算方法及理论分析。

关键词:差分方法,有限元方法,收敛性,稳定性Numerical computation methods for a parabolic equationYan qian(Class 2, Grade 2011,College of Mathematics and Information Science)Advisor: Nie huaAbstract:The common methods to solve parabolic equations include differential method,finite element method etc。

The main idea of differential method is to construct differential schemes by discretizing differential equations directly. Finite element scheme is based on the variational method of parabolic equations。

In this article, we give some differential schemes for a parabolic equation and analyze their convergence and stability. Moreover,the finite element method and the corresponding theoretical analysis for parabolic equation are established.Key words:differential method,finite element method, convergence,stability1 绪 论1。

(完整版)有限差分方法概述

(完整版)有限差分方法概述

有限差分法(Finite Difference Method,简称FDM)是数值方法中最经典的方法,也是计算机数值模拟最早采用的方法,至今仍被广泛运用。

该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。

有限差分法以Taylor级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。

该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。

对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。

从差分的空间形式来考虑,可分为中心格式和逆风格式。

考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。

目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。

差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。

构造差分的方法有多种形式,目前主要采用的是泰勒级数展开方法。

其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。

通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。

下面我们从有限差分方法的基本思想、技术要点、应用步骤三个方面来深入了解一下有限差分方法。

1.基本思想有限差分算法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。

然后再利用插值方法便可以从离散解得到定解问题在整个区域上的近似解。

在采用数值计算方法求解偏微分方程时,再将每一处导数由有限差分近似公式替代,从而把求解偏微分方程的问题转换成求解代数方程的问题,即所谓的有限差分法。

抛物型方程有限差分方法的应用 - 报告

抛物型方程有限差分方法的应用 - 报告

2015 年秋季学期研究生课程考核(读书报告、研究报告)考核科目:偏微分方程数值解法学生所在院(系):理学院数学系学生所在学科:数学学生姓名:H i t e r学号:1X S012000学生类别:考核结果阅卷人抛物型方程有限差分方法的应用摘要抛物型偏微分方程是一类比较重要的偏微分方程。

热传导方程是最简单的一种抛物型方程。

热传导方程研究的是热传导过程的一个简单数学模型。

根据热量守恒定律和傅里叶热传导实验定律可以导出热传导方程。

在本篇论文中,将先详述抛物型偏微分方程的有限差分法的相关知识,然后给出抛物型方程的两个具体的应用实例。

关键字:抛物型方程,差分格式,应用AbstractParabolic partial differential equation is a kind of important partial differential equation. The heat conduction equation is one of the simplest parabolic equations. The heat conduction equation is a simple mathematical model of the heat conduction process. Heat conduction equation is derived based on the law of conservation of heat and Friyege's law of conduction. In this thesis, we first give a detailed knowledge of the finite difference method for parabolic partial differential equations, and then give two specific examples of the application of the parabolic equation.Keywords: parabolic equation, difference scheme, application0 前言抛物型方程是偏微分方程中的三大方程(另两种为双曲型方程和椭圆型方程)之一,如何去研究抛物型方程的性质在《偏微分方程数值解法》的课程中占有很大的比例。

向前差分和向后差分法求离散点的位移

向前差分和向后差分法求离散点的位移

向前差分和向后差分法求离散点的位移1. 引言1.1 介绍向前差分和向后差分法向前差分和向后差分法是求解离散点位移的常用方法。

在实际问题中,我们通常需要根据一系列离散点的数据,来推导出它们之间的位移关系。

而向前差分法和向后差分法则是两种常见的数值方法,用来近似计算离散点的位移。

向前差分法是一种利用相邻数据点之间的差值,来估计数据点之间变化的方法。

具体来说,向前差分法通过计算当前数据点与其前一个数据点的差值,来估计当前数据点的变化趋势。

这种方法在某些情况下可以较好地逼近实际的变化趋势,特别是在数据之间变化较为平缓的情况下。

向前差分法和向后差分法都是常用的数值方法,可以帮助我们求解离散点的位移,但在具体应用时需要根据实际情况选择合适的方法来进行计算。

1.2 概述求解离散点位移的原理在求解离散点的位移时,向前差分和向后差分法是常用的数值方法。

这两种方法都是基于数值微分的原理,通过对给定的离散数据进行逼近求导的方式,来计算离散点的位移。

我们需要了解离散点的位移是如何定义的。

在物理学和工程学中,位移是指某一物体从一个位置到另一个位置的距离,通常用矢量表示。

对于离散的数据点,我们可以通过相邻点之间的距离差来估计位移。

向前差分和向后差分法是两种常见的数值微分方法。

在向前差分法中,我们通过用下一个数据点减去当前数据点的值来估计导数,从而计算出位移。

而在向后差分法中,则是用当前数据点减去前一个数据点的值来估计导数。

通过将数值微分的方法应用到离散数据点上,我们可以得到一个逼近的位移值。

这种方法在工程实践中被广泛应用,可以帮助我们更好地理解和分析物体的运动状态。

2. 正文2.1 向前差分法求离散点的位移向前差分法是一种常用的数值计算方法,适用于离散点的位移求解。

其原理是根据当前时刻的位移和速度信息,通过向前差分逼近计算下一时刻的位移。

在实际应用中,可以通过以下步骤实现向前差分法求解离散点的位移:1. 确定初始条件:首先需要确定初始时刻的位移和速度信息,作为向前差分法的起点。

一维热传导方程的前向 、紧差分格式

一维热传导方程的前向 、紧差分格式

中南林业科技大学本科课程论文学院:理学院专业年级:09信息与计算科学一班课程:偏微分方程数值解法论文题目:一维热传导方程的前向Euler和紧差分格式指导教师:陈红斌2012年7月学生姓名:唐黎学号: 20093936分工:程序编写,数值例子学生姓名:何雄飞学号:20093925分工:格式建立,资料收集学生姓名:汪霄学号:20093938分工:文档编辑,资料整理学生姓名:毛博伟学号:20093931分工:公式编辑,查找资料学生姓名: 倪新东学号:20093932分工:数据分析,查找资料学生姓名: 何凯明学号:20093924分工:数据分析,查找资料目录1引言 .。

.。

.....。

.。

........。

.。

..。

.....。

.。

.。

12物理背景。

.。

.。

.。

...。

.。

...。

....。

...。

.。

13网格剖分 .。

.。

..。

.。

....。

.。

..。

..。

.....。

24.1。

1向前Euler格式建立 ...。

.。

.。

...。

..。

....。

....。

24.1。

2差分格式的求解 ..。

..。

.。

...。

.。

..。

..。

..。

44.1。

3收敛性与稳定性.。

.。

.。

.。

.。

.。

.。

.。

.。

.....。

(4)4.1。

4 数值例子。

...。

..。

..。

....。

.。

.。

....。

(7)4。

2.1紧差分格式建立。

.。

.。

.....。

.。

.。

.。

.。

.。

(10)4.2.2差分格式求解。

.。

..。

.。

.。

....。

.。

...。

.。

.。

..124.2.3数值例子 ...。

..。

.。

.。

....。

..。

.......。

.。

..13总结..。

....。

.。

..。

.。

.。

.。

...。

.。

....。

....。

.........。

.17 参考文献 .........。

.。

.。

.。

...。

.。

.。

..。

..。

.18 附录 ....。

.。

..。

...。

..。

.。

......。

.。

.。

.。

.。

.。

191 引言本文考虑的一维非齐次热传导方程的定解问题:22(,),0,0,u ua f x t x l t T t x ∂∂-=<<<≤∂∂(,0)(),0,u x x x l φ=≤≤ (0,)(),(1,)(),0.u t t u t t t T αβ==<≤其中a 为正常数,(,),(),(),()f x t x t t ϕαβ为已知函数,(0)(0),(1)(0).ϕαϕβ==目前常用的求解热传导方程的差分格式有前向Euler 差分格式、向后Euler 差分格式、Crank-Nicolson 格式、Richardson 格式[1,2,3].本文将给出前向Euler 格式和紧差分格式,并给出其截断误差和数值例子.2 物理背景热传导是由于物体内部温度分布不均匀,热量要从物体内温度较高的点流向温度较低的点处。

一维扩散方程差分格式的数值计算

一维扩散方程差分格式的数值计算

一维扩散方程差分格式的数值计算∂u/∂t=D∂²u/∂x²其中,u(x,t)是在位置x和时间t的扩散现象的浓度,D是扩散系数。

为了对一维扩散方程进行数值计算,可以使用差分格式。

最常用的差分格式是向前差分和中心差分。

1.向前差分格式:使用向前差分格式将时间t和位置x分别离散化,差分步长分别为Δt和Δx。

将扩散方程中的偏导数用有限差分近似替代,可以得到近似方程:(u_i(t+Δt)-u_i(t))/Δt=D(u_i-1(t)-2u_i(t)+u_i+1(t))/Δx²其中,u_i(t)表示在位置x_i和时间t的解,u_i(t+Δt)和u_i(t)是上一时刻和当前时刻的浓度,u_i-1(t)和u_i+1(t)分别是x_i左右两侧位置的解。

这样,一维扩散方程就被转化为一个差分方程。

根据初始条件u(x,0)和边界条件u(0,t)和u(L,t),L表示空间区域的长度,可以得到差分方程的初始条件。

使用向前差分格式可以得到一个显式迭代公式:u_i(t+Δt)=u_i(t)+DΔt(u_i-1(t)-2u_i(t)+u_i+1(t))/Δx²这个公式可以用来逐步推进时间t的步骤,从而获得扩散过程中的浓度分布。

2.中心差分格式:使用中心差分格式将时间t和位置x分别离散化,差分步长分别为Δt和Δx。

将扩散方程中的偏导数用有限差分近似替代,可以得到近似方程:(u_i(t+Δt)-u_i(t))/Δt=D(u_i-1(t)-2u_i(t)+u_i+1(t))/Δx²与向前差分格式不同的是,在右侧位置x_i+1处使用u_i+1(t)近似。

这个差分方程可以进一步简化为一个稳定的隐式迭代公式:u_i(t+Δt)=u_i(t)+DΔt(u_i-1(t+Δt)-2u_i(t+Δt)+u_i+1(t+Δt))/Δx²这个公式可以通过求解线性方程组来计算下一个时间步长的解。

以上是一维扩散方程差分格式的数值计算的基本原理和方法。

向前差分示意图

向前差分示意图

向前差分示意图
与帕斯卡三角形比较
...
(151010511)
4
6
4
1133112111
我们可以发现f 在k x 处的m 阶差分k m
f ∆,是函数值k m k m k f f f ,,,1"−++的线性组合,而且组合系数也有规律,m 阶差分的系数是上图所示的Pascal 三角形的第m 行,然后符号一正一负地交替,将这一规律写成定理形式即是差分的一个性质:
j k m m
j j k m f j m f −+=∑
−=∆0)1( 用类似的方法我们不难分析向后差分的这种组合性质。

j k m
j j k m f j m f −=∑
−=∇0)1( 因此向前差分与向后差分有一种自然的关系
m k m k m f f −∆=∇
差分与均差的关系:010!1],,,[f h
k x x x f k
k
k ∆=
"
从Newton 插值公式推导出等距节点情形的插值公式: 设th x x +=0,
∑==n
k k k n x x x x f x L 0
10)(],,,[)(ω"
这时k
k k h k t t t x x x x x x x )1()1()())(()(110+−−=−−−=−""ω 所以00)(f j t x L j n
j n ∆
=
∑= 向后差分形式的差值公式的推导是类似的.。

有限差分法基本原理课件

有限差分法基本原理课件
有限差分法基本原理
离散网格点
有限差分法基本原理
差分和逼近误差
差分概念:
设有x的解析函数 y f(x) ,函数y 对x 的导
数为:
d yli m ylim f(x x )f(x )
dx x 0 x x 0
x
dy dy 、dx 分别是函数及自变量的微分,dx 是函数 对自变量的导数,又称微商。上式中的y 、x 分别称 为函数及其自变量的差分,y 为函数对自变量的差商。
有限差分法基本原理
模型方程
为了抓住问题的实质,同时又不使讨论的问题过于
复杂,常用一些简单的方程来模拟流体力学方程进行讨 论分析,以阐明关于一些离散方法的概念。这些方程就 叫做模型方程。常用的模型方程:
对流方程:
0
t x
对流-扩散方程:
t
x
2x2
热传导方程:
2
t
x2
有限差分法基本原理
Poisson方程:
*n i
为差分方程的近似数

解,之间的误差为 。同样,近似数值解也满足同样的方程:
T i* n 1 S* i n T 1 ( 1 2 S )T * in S* i n T 1
in 1 Sn i 1 ( 1 2 S )n i Sn i 1
上式称为误差传播方程。
有限差分法基本原理
x等价定理
2
x2
2
y2
f
2 2
Laplace方程: x2 y2 0
有限差分法基本原理
差分方程的建立过程
以对流方程说明差分方程的建立过程。
0
t x
(x,0) (x)
有限差分法基本原理
差分方程的建立过程
1.划分网格

热传导方程差分格式

热传导方程差分格式

热传导方程的差分格式第2页一维抛物方程的初边值问题分别用向前差分格式、向后差分格式、六点对称格式,求解下列问题:.:u ;:2ua 2,0 ::: x :: 1,.:t ;xu(x,0) =sin 二x, 0 :: x :: 1u(O,t) =u(1,t) =0, t 02在t =0.05,0.1和0.2时刻的数值解,并与解析解u(x,t)=ef t s in (二x)进行比较1差分格式形式2设空间步长h =1/ N ,时间步长• • 0, T =M •,网比r = • / h .(1) 向前差分格式该问题是第二类初边值问题(混合问题),我们要求出所需次数的偏微商的函数Eu c2uu(x,t),满足方程—a—^, 0 :::x :::1,和初始条件u(x,0)= sin x , 0 x ::: 1抚ex及边值条件u(0,t) =u(1,t) =0, t 0。

已知sin二x在相应区域光滑,并且在x =0,丨与边值相容,使问题有唯一充分光滑的解。

取空间步长h =1/ N,和时间步长-T /M,其中N,M都是正整数。

用两族平行直线x= j X =( j h0Hj 1 ,和tlNt k =X(k=0,1,|||,M) 将矩形域G二{0 — x — 1,t — 0}分割成矩形网络,网络格节点为(X j,t k)。

以G h表示网格内点集合,即位于矩形G的网点集合;G h表示闭矩形G的网格集合;丨h=G h-G h是网格界点的集合。

向前差分格式,即k 1 k k k ku, -u, u, 1 -2比■ u, 4- j二a 亠2亠t ( 1)£hk 1 kU j _Uj[ T2k 1 c k 1a U j 1 -2U jh 2k k kU j 1 _2U j U j 和]f j(3)0 U j=(X j ), U 0 = U N = 0.f i = f(x),k kU j j = (X j ), U o = U N = 0其中,j =1,2,…,N _1,k =1,2,…,M 一1.以r =a ./h 2表示网比。

最简差分格式

最简差分格式

最简差分格式朱勇军20083738考虑问题:考虑一维热传导方程:()x f xua t u +∂∂=∂∂22,T ≤<t 0,其中a 为正常数,()x f 是给定的连续函数 边值条件:()()x u x u 00,=l x <<0()()0,,0==t l u t uT ≤<t 0网格剖分:取空间步长N l h =和时间步长M T =τ,其中N ,M 都是正整数,用两族平行直线()N j jh x x j ,,1,0 ===和()M k k t t k ,,1,0 ===τ将矩形域{}T ≤≤≤≤=t l x G 0;0分割成矩形网格,网格节点为()k j t x ,差分格式:向前差分格式:向量形式:j kj k j k j kjk jf h u u u au u ++-=--++21112τ()()0,00=====kN kj j j j j u u x u x f f ϕϕ其中1,,2,1,1,2,1-=-=M k N j ,以2h a r τ=表示网比,则该格式可变为:()j kj kj kj k jf ru u r ru u τ++-+=-++11121矩阵形式:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+++⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡----+-+-++k N N N k k N k N k k k N k N k k ru f f f ru f u u u u r r r r r r r r r u u u u 1220112211112121121002100210021ττττ向后差分格式:向量形式:j k j k jk j kjk jf h u u u au u ++-=-+-++++21111112τ()()0,00=====kN kj j j j j u u x u x f f ϕϕ其中1,,2,1,1,2,1-=-=M k N j ,以2h a r τ=表示网比,则该格式可变为:()j kj k j k jk j f u ru u r ru τ+=-++-+-+++1111121矩阵形式:⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+++⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+--+-+--+----+-+-++k N N N k k N k N k k k N k N k k ru f f f ru f u u u u u u u u r r r r r r r r r122011*********1121002100210021ττττθ-格式:向量形式:将向前差分格式和向后差分格式作加权平均,即得:()j k j k j k j k j k j k j kjk jf h u u u h u u u a u u +⎥⎥⎦⎤⎢⎢⎣⎡+--++-=-+-+++-++2111112111212θθτ()()0,00=====kN kj j j j j u u x u x f f ϕϕ其中1,,2,1,1,2,1-=-=M k N j ,以2h a r τ=表示网比,则该格式为:()()()()()jk j k j k j k j k j k j f u u r ru ru u r ru τθθθθθθ++-+=-+-++--++-+++11111112111211矩阵形式:()()()()()()()()⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡+-++-++⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡-+---------++--+--+-+-++k N k N N N kk k N k N k k k N k N k k ru ru f f f ru ru f u u u u r rr r rr u u u u r r r r r rθθτττθθτθθθθθθθθθθθθ11220101122111121211112100000211211001001001121特别当21=θ时,即为下面的六点对称格式 六点对称格式:向量形式:将向前差分格式和向后差分格式作算术平均,即得:j kj k j k j k j k jk j kjk jf h u u u h u u u a u u +⎥⎥⎦⎤⎢⎢⎣⎡+-++-=--++-++++2112111111222τ()()0,00=====kN kj j j j j u u x u x f f ϕϕ其中1,,2,1,1,2,1-=-=M k N j ,以2h a r τ=表示网比,则该格式为:()()j kj k j k j k j k j k j f u r u r u r u r u r u r τ++-+=-++--++-+++1111111212212矩阵形式:()()⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+++++⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡--=⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡+----++--+--+-+-++kN k N N N kk k N k N k k k N k N k k u u r f f f u u r f u u u u r r r r r r u u u u r r r r r r 11220101121111121211212112100210021002111210021*********ττττ算例:()()()()⎪⎪⎪⎩⎪⎪⎪⎨⎧>==<<-=>=∂∂-∂∂0,0,1,1,010,10,0,022t t u t u x x x u a x ua t u 是常数 ()()x t x u -=1,散性观察差分解对真解的敛编程实现:函数:文件名:uxt.m function u=uxt(x,t) %求边值 if t==0 u=1-x; end if x==0 u=1; end if x==1 u=0; end%求真解 u=1-x;文件名:fxt.mfunction f=fxt(x)%f=0;向前差分格式程序:文件名:forward.mclear;%输入区间信息,正常数a及时间和空间等分数L=input('请输入空间上限L:');T=input('请输入时间上限T:');a=input('请输入正常数a:');N=input('请输入空间等分数N:');M=input('请输入时间等分数M:');%计算时间和空间步长,网比r及节点值h=L/N;s=T/M;r=a*s/(h*h);x=h:h:L;t=s:s:T;%合成系数矩阵Ad1=r*ones(1,(N-2));d2=(1-2*r)*ones(1,(N-1));A=diag(d1,-1)+diag(d1,1)+diag(d2);%合成初值条件uxfor p=1:N-1ux(p)=uxt(x(p),0);endux=ux';%合成矩阵ffor p=1:N-1f(p)=s*fxt(x(p));endf(1)=f(1)+r;f=f';%计算ufor q=1:Mux=A*ux+f;u(q,:)=ux';ux=ux;enddisp('数值解:')udisp('精确解:')for q=1:Mfor p=1:N-1ux(q,p)=uxt(x(p),0);endendux调试结果:>> forward请输入空间上限L:1请输入时间上限T:1请输入正常数a:0.5请输入空间等分数N:4请输入时间等分数M:4数值解:u =0.7500 0.5000 0.25000.7500 0.5000 0.25000.7500 0.5000 0.25000.7500 0.5000 0.2500精确解:ux =0.7500 0.5000 0.25000.7500 0.5000 0.25000.7500 0.5000 0.25000.7500 0.5000 0.2500>>向后差分格式程序:文件名:back.m%向后差分格式clear;%输入区间信息,正常数a及时间和空间等分数L=input('请输入空间上限L:');T=input('请输入时间上限T:');a=input('请输入正常数a:');N=input('请输入空间等分数N:');M=input('请输入时间等分数M:');%计算时间和空间步长,网比r及节点值h=L/N;s=T/M;r=a*s/(h*h);x=h:h:L;t=s:s:T;%合成系数矩阵Ad1=-r*ones(1,(N-2));d2=(1+2*r)*ones(1,(N-1));A=diag(d1,-1)+diag(d1,1)+diag(d2);%合成初值条件uxfor p=1:N-1ux(p)=uxt(x(p),0);endux=ux';%合成矩阵ffor p=1:N-1f(p)=s*fxt(x(p));endf(1)=f(1)+r;f=f';%计算ufor q=1:Mux=inv(A)*(ux+f);u(q,:)=ux';ux=ux;enddisp('数值解:')udisp('精确解:')for q=1:Mfor p=1:N-1ux(q,p)=uxt(x(p),0);endendux调试结果:>> back请输入空间上限L:1请输入时间上限T:1请输入正常数a:0.5请输入空间等分数N:5请输入时间等分数M:5数值解:u =0.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.2000 精确解:ux =0.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.2000 >>-格式程序:文件名:seta.m%seta格式clear;%输入区间信息,正常数a及时间和空间等分数L=input('请输入空间上限L:');T=input('请输入时间上限T:');a=input('请输入正常数a:');b=input('请输入权值b:');N=input('请输入空间等分数N:');M=input('请输入时间等分数M:');%计算时间和空间步长,网比r及节点值h=L/N;s=T/M;r=a*s/(h*h);x=h:h:L;t=s:s:T;%合成系数矩阵Ad1=-(1-b)*r*ones(1,(N-2));d2=(1+2*(1-b)*r)*ones(1,(N-1));A=diag(d1,-1)+diag(d1,1)+diag(d2);%合成系数矩阵Bb1=b*r*ones(1,(N-2));b2=(1-2*b*r)*ones(1,(N-1));B=diag(b1,-1)+diag(b1,1)+diag(b2);%合成初值条件uxfor p=1:N-1ux(p)=uxt(x(p),0);endux=ux';%合成矩阵ffor p=1:N-1f(p)=s*fxt(x(p));endf(1)=f(1)+r;f=f';%计算ufor q=1:Mux=inv(A)*(B*ux+f);u(q,:)=ux';ux=ux;enddisp('数值解:')udisp('精确解:')for q=1:Mfor p=1:N-1ux(q,p)=uxt(x(p),0);endendUx调试结果:>> seta请输入空间上限L:1请输入时间上限T:1请输入正常数a:0.5请输入权值b:0.5请输入空间等分数N:5请输入时间等分数M:4数值解:u =0.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.2000 精确解:ux =0.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.20000.8000 0.6000 0.4000 0.2000 >>。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

偏微分方程数值解法作业
题目:抛物型方程最简差分格式
学院:理学院
专业年级:2008级信息与计算科学二班*名:**
学号:********
指导老师:***
2011年6月
一 考虑问题及条件
考虑一维热传导方程:
22(),0u u
a f x t T t x
∂∂=+<≤∂∂…………(1.1) 其中a 是正常数,()f x 是给定的连续函数。

现在考虑第二类初边值问题的差分逼近:
初始条件:(,0)(),0u x x x l ϕ=<<…………(1.2) 边值条件:(0,)()u t t η=,(,)()u l t t γ=,0t T ≤≤………(1.3)
假设()f x 和()x ϕ在相应区域光滑,并且在0,x l =满足相容条件,使上述问题有惟一充分光滑的解。

用向前差分格式计算如下热传导方程的初边值问题
⎪⎪⎩
⎪⎪⎨⎧>==<<-=>=∂∂-∂∂,0,0),1(,1),0(,
10,1)0,(u )0(,022t t u t u x x x a x u
a t
u ,
是常数
已知其精确解为
u(x,t)=1-x.
二 网格剖分与差分格式
(1).区格剖分
取空间步长l h N =和时间步长T M τ=,其中,N M 都是正整数。

用两族平行直线
(0,1,
,)
j x x jh j N ===和
(0,1,
,)k t t k k M τ===将矩形域
{}0;0G x l t T =≤≤≤≤分割成矩形网格,网格节点为(,)j k x t 。

以h G 表示网格内点
集合,即位于开矩形的网点集合;h G 表示所有位于闭矩形G 的网点集合;
h h h G G -=Γ是网格界点集合。

其次,用k j u 表示定义在网点(,)j k x t 的函数,M k N j ≤≤≤≤0,0
(2).微分方程的离散,建立相应差分格式
将方程在节点(,)j k x t 离散化,
22()k
k
j j j
u u a f x t x ⎡⎤∂∂⎡⎤
=+⎢⎥⎢⎥∂∂⎣⎦⎣⎦,1,2,,1j N =- 1,2,,1k M =-…………(1.4)
对充分光滑的解u ,由Taylor 展式:
22312
(,)(,)(,)(,)()2j k j k j k j k u x t u x t u x t u x t O t t τττ+∂∂=+++∂∂…………(1.5) 234
23451234
(,)(,)(,)(,)(,)(,)()23!4!j k j k j k j k j k j k u x t u x t u x t u x t h h h u x t u x t h
O h x
x x x
+∂∂∂∂=+++++∂∂∂∂…………(1.6)
234
23451234
(,)(,)(,)(,)(,)(,)()23!4!j k j k j k j k j k j k u x t u x t u x t u x t h h h u x t u x t h
O h x
x x x
-∂∂∂∂=-+-++∂∂∂∂…………(1.7)
(1.5)移项得:
212
2
(,)(,)(,)(,)()2j k j k j k j k u x t u x t u x t u x t O t
t
τττ+∂-∂=-+∂∂…………(1.8) (1.6)(1.7)相加得:
24
21132
2
4(,)(,)2(,)(,)
(,)()12j k j k j k j k j k u x t x t u x t u x t u x t h O h x h x
+-∂-+∂=
-+∂∂…………(1.9) 将(1.8)(1.9)代入(1.4)得:
1112
(,)(,)
(,)2(,)(,)
()()j k j k j k j k j k k j j u x t u x t x t u x t u x t a
f x R u h
τ
++---+=++…………
(1.10)
其中,
24
2232
4
(,)(,)
()()()2
12
j k j k k j
u x t u x t h R u O O h t x ττ∂∂=
-
++∂∂
舍去()k j R u ,得到逼近(1.1)的向前格式差分方程:
111
2
2k k k k k
j j
j j j j u u u u u a
f h
τ
++---+=+,1,2,
,1j N =- 1,2,,1k M =-……(1.11)
其中,(,)k j j k u u x t =,()j j f f x =
其中j=1,2,…,N-1, k=0,1,2,…,M-1.以2/h a r τ=表示网比,则可将(1.11)
式化为:
.)21(111j k j k j k j k j f ru u r ru u τ++-+=-++
矩阵形式:
=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡+-++111211k N k k u u u ⎥
⎥⎥⎥⎦⎤
⎢⎢⎢⎢⎣
⎡---r r r r r r r 212121 +⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-k N k k u u u 121 ⎥⎥⎥⎥⎥

⎤⎢⎢⎢⎢⎢⎣⎡++-k N N k
ru f f ru f 1201τττ .
三、截断误差
将(1.8)(1.9)代入(1.4)得:
1112
(,)(,)
(,)2(,)(,)
()()j k j k j k j k j k k j j u x t u x t x t u x t u x t a
f x R u h
τ++---+=++…………
(1.10)
其中,24
2232
4
(,)(,)
()()()2
12
j k j k k
j
u x t u x t h R u O O h t x ττ∂∂=
-
++∂∂
而得到的向前逼近差分方程是舍去()k j R u 的结果,固()k
j R u 即为向前差分方程
的局部截断误差。

四、稳定性
如果在应用差分格式(1.1)时,计算右端函数)(x f 有误差)(x g ,计算初值)
(x ϕ时有误差)(x ψ,令),(),(),(t x u t x v t x -=ε,则计算可得)(22x g x
a t =∂∂-∂∂ε
ε,)()0,(x x ψε=,由定理可知,当网比21≤r 时,有∑-=∞∞∞+≤1
||||||||||||k t l k g τψε.
上式说明当∞||||ψ和∑-=∞1
||||k t l g τ很小时,误差∞||||k ε也很小,即当网比21≤r 时,
差分格式是稳定的。

五、数值例子
实现结果:
六、参考文献
[1] 李荣华偏微分方程数值解法高等教育出版社2005。

[2]孙志忠《偏微分方程数值解法》科学出版社,2005。

[3] 汤怀民、胡建伟,《微分方程数值解法》,南开大学出版社,1990。

[4] 李庆扬《数值分析》清华大学出版社,2008 。

[5] 余德浩,汤华中编著:《微分方程数值解法》(第三版)科学出版社2004.6。

七、附件
1.流程图
程序实现流程图
2、详细设计
1.建立函数文件及执行文件
文件1:fun_ux0.m 用于处理初值条件;
文件2:fun_u0t.m 用于处理边值条件;
文件3:fun_u1t.m 用于处理边值条件;
文件4:fun_u.m 计算真值;
文件5:fun_f.m 计算f(x)
文件 6:fun.m
2.程序实现代码
2.1 输入
输入时间上限T,时间方向的节点数M;输入空间上限l,空间方向的节点数N;输入大于0的常数a.T,l大于0;M,N为正整数.
2.2 设置初值
h=l/N;v=T/M;
节点: x=0+h:h:1;t=v:v:T;
网比:r=a*v/(h*h);
u0=ones(1,N-1);% u0为初值,f是一个1*(N-1)的矩阵
for k=1:N-1
u0(k)=fun_ux0(x(k))*u0(k);
f(k)=v*fun_f(x(k));
end
f(1)=f(1)+r*fun_u0t(0);%边值条件
f(N-1)=f(N-1)+r*fun_u1t(0);
A=diag(r*ones(1,N-2),-1)+diag((1-2*r)*ones(1,N-1))+diag(r*ones(1,N-2),
1);
2.3 计算节点的值
u1=A*u0'+f';
u0=u1
u(k,:)=u1;
f(1)=f(1)-r*fun_u0t(0);
f(N-1)=f(N-1)-r*fun_u1t(0);
for k=2:M
f(1)=f(1)+r*fun_u0t(t(k-1));
f(N-1)=f(N-1)+r*fun_u1t(k-1);
u1=A*u0+f';
u0=u1;
u(k,:)=u1;
f(1)=f(1)-r*fun_u0t(t(k-1));
f(N-1)=f(N-1)-r*fun_u1t(k-1);
end。

相关文档
最新文档