文档库 最新最全的文档下载
当前位置:文档库 › 有限差分法求解偏微分方程

有限差分法求解偏微分方程

有限差分法求解偏微分方程
有限差分法求解偏微分方程

有限差分法求解偏微分方程

摘要:本文主要使用有限差分法求解计算力学中的系统数学模型,推导了有限差分法的理论基础,并在此基础上给出了部分有限差分法求解偏微分方程的算例验证了推导的正确性及操作可行性。

关键词:计算力学,偏微分方程,有限差分法

Abstract:This dissertation mainly focuses on solving the mathematic model of computation mechanics with finite-difference method. The theoretical basis of finite-difference is derived in the second part of the dissertation, and then I use MATLAB to program the algorithms to solve some partial differential equations to confirm the correctness of the derivation and the feasibility of the method.

Key words:Computation Mechanics, Partial Differential Equations, Finite-Difference Method

1 引言

机械系统设计常常需要从力学观点进行结构设计以及结构分析,而这些分析的前提就是建立工程问题的数学模型。通过对机械系统应用自然的基本定律和原理得到带有相关边界条件和初始条件的微分积分方程,这些微分积分方程构成了系统的数学模型。

求解这些数学模型的方法大致分为解析法和数值法两种,而解析法的局限性众所周知,当系统的边界条件和受载情况复杂一点,往往求不出问题的解析解或近似解。另一方面,计算机技术的发展使得计算更精确、更迅速。因此,对于绝大多数工程问题,研究其数值解法更具有实用价值。对于微分方程而言,主要分为差分法和积分法两种,本论文主要讨论差分法。

2 有限差分法理论基础

2.1 有限差分法的基本思想

当系统的数学模型建立后,我们面对的主要问题就是微分积分方程的求解。基本思想是用离散的只含有限个未知量的差分方程组去近似地代替连续变量的微分方程和定解条件,并把差分方程组的解作为微分方程定解问题的近似解。将原方程及边界条件中的微分用差分来近似,对于方程中的积分用求和或及机械求积公式来近似代替,从而把原微分积分方程和边界条件转化成差分方程组。有限差分法求解偏微分方程的步骤主要有以下几步:

?区域离散,即把所给偏微分方程的求解区域细分成由有限个格点组成的网

格,这些离散点称作网格的节点;

?近似替代,即采用有限差分公式替代每一个格点的导数;

?逼近求解,换而言之,这一过程可以看作是用一个插值多项式及其微分来

代替偏微分方程的解的过程。

从原则上说,这种方法仍然可以达到任意满意的计算精度。因为方程的连续数值解可以通过减小独立变量离散取值的间格,或者通过离散点上的函数值

进行插值计算来近似得到。理论上,当网格步长趋近于零时,差分方程组的解应该收敛于精确解,但由于机器字节的限制,网格步长不可能也没有必要取得无限小,那么差分法的收敛性或者说算法的稳定性就显得至关重要。因此,在运用有限差分法时,除了要保证精度外,还必须要保证其收敛性。

2.2 系统微分方程的一般形式

由于大多数工程问题都是二维问题,所以得到的微分方程一般都是偏微分方程,对于一维问题得到的是常微分方程,解法与偏微分方程类似,故为了不是一般性,这里只讨论偏微分方程。由于工程中高阶偏微分较少出现,所以本文仅仅给出二阶偏微分方程的一般形式,对于高阶的偏微分,可进行类似地推广。二阶偏微分方程的一般形式如下:

A?xx+B?xy+C?yy=f(x,y,?,?x,?y)

(1)其中,?为弹性体上的某一特征物理量(连续函数)。当A、B、C都是常数时,(1)式称为准线性,有三种准线性方程形式:

?如果Δ=B2?4AC<0,则称为椭圆型方程;

?如果Δ=B2?4AC=0,则称为抛物型方程;

?如果Δ=B2?4AC>0,则称为双曲型方程。

椭圆型方程主要用来处理稳态或静态问题,如热传导等问题;抛物线方程主要用来处理瞬态问题,如渗透、扩散等问题;双曲型方程主要用来处理振动问题,如玄震动、薄膜震动等问题。

除了上述微分方程外,必须给出定解条件,通常有如下三类:

?第一类边界条件(Dirichlet条件):?|Γ=φ(x,y);

|Γ=φ1(x,y);

?第二类边界条件(Neumann条件):??

?n

+λ(x,y)?]|Γ=ψ(x,y);

?第三类边界条件(Robin条件):[??

?n

其中,Γ为求解域Ω的边界,n?? 为Γ的单位外法矢,λ(x,y)|Γ?0。第二类和第三类边界条件统称为导数边界条件。

2.3 有限差分方程的数学基础

2.3.1 一元函数导数的差分公式

一个函数在x点上的导数,可以近似地用它所临近的两点上的函数值的差分来表示。函数f(x)在x=x0处的泰勒展式如下:

f(x)=∑1

n!

f(n)(x0)

n=0

(x?x0)n

=f(x0)+f′(x)(x?x0)+1

2!f′′(x)(x?x0)2+1

3!

f(3)(x)(x?x0)3+?

对一个单变量函数f(x),以步长?x=?将[a,b]区间等距划分,我们得到一系列节点:x0=a,x1=x0+?x=a+?,x2=x1+?x=a+2?,?,x i= x i?1+?x=a+i?,?,x n=b(n=b?a

?

),然后求出f(x)在这些节点上的近似值。与节点x i相邻的节点有x i??和x i+?,因此在点x i处可以构造如下形式的展开式:

f(x i??)=f(x i)?f′(x i)?+1

2!

f′′(x i)?2+R2(x)

f(x i+?)=f(x i)+f′(x i)?+1

2!

f′′(x i)?2+R2(x)

由式(3)和式(4)可得到:

?一阶向前差分:

f′(x i)=f(x i+?)?f(x i)

?

?一阶向后差分:

f′(x i)=f(x i)?f(x i??)

?

?一阶中心差分:

f′(x i)=f(x i+?)?f(x i??)

2?

不妨,记f i=f(x i),则式(5)、(6)、(7)分别简写为:

?一阶向前差分:

f i′=f i+1?f i

?

(2

(3)

(4)

(5)

(6)

(7)

(8)

?一阶向后差分:

f i′=f i?f i?1

?

?一阶中心差分:

f i′=f i+1?f i?1

2?

根据式(8)、式(9)和式(10),可得二阶差分:

?二阶向前差分:

f i′′=f i+1′?f i′

?

=

f i+2?2f i+1+f i

?2

?二阶向后差分:

f i′′=f i′?f i?1′

?

=

f i?2f i?1+f i?2

?2

?二阶中心差分:

f i′′=f i+1′?f i?1′

2?

=

f i+2?2f i+f i?2

4?2

差分公式(13)是以相隔2h的两结点处的函数值来表示中间结点处的一阶导数值,可称为中点导数公式。式(11)和式(12)是以相邻三结点处的函数值来表示一个端点处的一阶导数值,可称为端点导数公式。应当指出:中点导数公式与端点导数公式相比,精度较高。因为前者反映了结点两边的函数变化,而后者却只反映了结点一边的函数变化。因此,我们总是尽可能应用前者,而只有在无法应用前者时才不得不应用后者。

但是,由于式(11)中的各阶导数均使用的是向前差分,导致用到的节点不相邻,同时为了均衡误差,将节点i处用到的一阶差分换成向后差分,则式(11)修正为:

f i′′=f i+1′?f i′

?

=

f i+1?f i

??

f i?f i?1

?

?

=

f i+1?2f i+f i?1

?2

同理,根据上述推导过程,可得到任意阶的差分公式:

?n阶向前差分:

f i(n)=f i+1(n?1)?f i(n?1)

?

?n阶向后差分:

f i(n)=f i(n?1)?f i?1(n?1)

?

(9)

(10)

(11)

(12)

(13)

(15)

(16)

(14)

n 阶中心差分:

f i (n)=f i+1(n?1)?f i?1

(n?1)2?

说明,上述公式中各节点处前一阶导数的代入可能存在不一致,可能是向

前差分、向后差分或者中心差分,从而使最终的公式在系数上存在差别。当然,也可以对各相邻节点进行需要阶数的泰勒展开,从而建立方程组直接求各阶导数。

2.3.2 微分方程转化为线性方程

由于三种类型的微分方程解法类似,故这里仅以椭圆型微分方程为例,将微分方程转化为代数方程,对于双曲型和抛物型方程依次类推即可。不妨记:?2u =u xx +u yy (?2称为拉普拉斯算子),f (x,y )和g(x,y)是求解域上的连续函数。假设求解区域为:R ={(x,y ):0≤x ≤a,0≤y ≤b,b

a =m/n},将求解区域划分成(n ?1)×(m ?1)个网格,其中:a =n?,

b =m?,如图1所示。记f i,j =f(x i ,y j )

,则根据式(14)可得到:

?2

u =u xx +u yy =u i+1,j ?2u i,j +u i?1,j ?2+u i,j+1?2u i,j +u i,j?1

?2

=u i+1,j +u i?1,j +u i,j+1+u i,j?1?4u i,j

?

2+O(?2)

x 1

x i?1 x i x i+1

x n

图1 五点差分公式

式(18)也称为五点差分公式,同理根据式(12)和式(13)可分别得到

(17) (18)

y m

y j+1 y j y j?1

y 1

向前差分公式(19)和向后差分公式(20),如图(2所示)。

? 向

前差分

?2

u =u xx +u yy =u i+2,j ?2u i+1,j +u i,j ?2+u i,j+2?2u i,j+1+u i,j

?2

=u i+2,j +u i,j+2+2u i,j ?2u i+1,j ?2u i,j+1

?

2+O(?2) ? 向

后差分 ?2

u =u xx +u yy =u i,j ?2u i?1,j +u i?2,j ?2+u i,j ?2u i,j?1+u i,j?2

?2

=u i?2,j +u i,j?2+2u i,j ?2u i?1,j ?2u i,j?1

?

2+O (?2)

图2 向前差分(左)和向后差分(右)

图3 中心差分、向前差分和向后差分的拉普拉斯算子表示

利用中心差分公式(18),由于式(18)在点(x,y )=(x i ,y i )处具有二阶精度(O (?2)),所以式(18)可近似改写成下式:

?2

u i,j ≈u i+1,j +u i?1,j +u i,j+1+u i,j?1?4u i,j

?2

根据椭圆方程的具体形式可以将其分为以下三种形式:

? 拉普拉斯(Laplace )方程:?2u =0 ? 泊松(Poison )方程:?2u =g(x,y)

(19)

(20)

y m y 1

y j y j+1 y j+2 y m y j y j?2 y j?1 y 1 x 1

x n x 1 x i x n

x i+1 x i+2

x i?1 x i x i?2 u i?1,j

?4u i,j u i+1,j

u i,j+1

u i,j?1

?2u i,j+1

u i,j+2 ?2u i+1,j u i+2,j

2u i,j 2u i,j u i,j?2

u i?2,j

?2u i,j?1

?2u i?1,j

(21)

? 赫耳墨次(Helmholtz )方程:?2u +f (x,y )u =g(x,y)

根据式(21),可建立三种不同形式椭圆方程的代数方程如下: ? 拉普拉斯方程:?2u =0

0=?2

u i,j ≈u i+1,j +u i?1,j +u i,j+1+u i,j?1?4u i,j

?2

化简后得到拉普拉斯方程的计算公式:

u i+1,j +u i?1,j +u i,j+1+u i,j?1?4u i,j =0

? 泊

?2u =g (x,y )

u i+1,j +u i?1,j +u i,j+1+u i,j?1?4u i,j ??2?g i,j =0 ? 赫耳墨次方程:?2u +f (x,y )u =g(x,y)

u i+1,j +u i?1,j +u i,j+1+u i,j?1+(?2?f i,j ?4)u i,j ??2?g i,j =0 2.3.3 建立有限差分方程组

根据式(22)~(24)建立方程组,但是需要知道对应的边界条件才能使方程组存在定解,根据 2.2中可知,边界条件一般分为狄利克雷边界条件和导数边界条件两种,下面分别给出这两种边界条件的有限差分方程组的建立过程: ? 狄利克雷边界条件:?|Γ=φ(x,y)

对于狄氏条件而言,给出了边界上各节点出的函数计算公式,直接代入节点值(x i ,y i )计算即可,如下所示为矩形区域的边界点计算:

u(x 1,y j )=u 1,j =φ(x 1,y j )(1≤j ≤m)(左边界) u(x n ,y j )=u n,j =φ(x n ,y j )(1≤j ≤m)(右边界) u(x j ,y 1)=u j,1=φ(x j ,y 1)(1≤j ≤n)(下边界) u(x j ,y n )=u j,n =φ(x j ,y n )(1≤j ≤n)(上边界)

? 导数边界条件:

eu(x,y)eN

=0

以右边界点为例,对于右边界点x =x n ,根据Neumann 条件可得下式:

eu(x,y)eN =eu(x n ,y j )

ex

=u x (x n ,y j )=0 对于拉普拉斯方程,根据计算公式(22),对于边界上的点(x n ,y j )可得:

(22) (23)

24) (25)

(26)

u n+1,j +u n?1,j +u n,j+1+u n,j?1?4u n,j =0

显然,上式中的u n+1,j 在求解域外,是未知量。根据中心差分公式(10)可得到

u x (x n ,y j )≈

u n+1,j ?u n?1,j

2?

根据式(28)可得到逼近表示:u n+1,j ≈u n?1,j ,并且具有2阶逼近精度,代入式(27)可得下式:

2u n?1,j +u n,j+1+u n,j?1?4u n,j =0

同理,对于其它边界可获得如下边界方程:

2u i,2+u i?1,1+u i+1,1?4u i,1=0(下边界) 2u i,m?1+u i?1,m +u i+1,m ?4u i,m =0(上边界) 2u 2,j +u 1,j+1+u 1,j?1?4u 1,j =0(左边界)

图4 Neumann 条件算子

对于泊松方程和赫耳墨次方程同样根据上述方法,获得边界条件的线性方程,然后将这些方程添加到式(22)~(24)所建立的方程组中,从而建立起(n ?1)个(m ?1)元的线性方程组,解该方程组即可获得各节点的函数值。

对于上述过程建立的线性方程组的求解,可采用多种方法,比如Jacob

(27)

(28)

(29)

(30)

迭代法、Gauss -Seidel 迭代法、超松弛迭代法(SOR 法)、高斯消元法等方法求解。

2.4 有限差分法的收敛性和稳定性

由于迭代法必须保证收敛性,所以在解有限差分方程组时还应保证其收敛性,也就是通常所说的算法稳定性。有限差分法的算法稳定性可以通过特征值方法、傅里叶变换(冯诺依曼条件)以及能量估计等方法来判断,下面给出常用的冯诺依曼条件:

? 向前差分:r ≤1,绝对收敛; ? 向后差分:r >0,绝对收敛; ? 中心差分:对任何的r 对不收敛;

假设求解域内x 方向网格划分的步长为?,y 方向网格划分的步长为k ,将偏微分方程化为标准形式,具体来说标准形式如下: ? 双

e2u ey 2=c 2

e2u ex 2

(c >0) 对于式(31)所示的双曲方程,冯诺依曼条件为:r =ck ??.

? 抛

方程

eu ey =a e2u

ex

2 对于式(32)所示的抛物方程,冯诺依曼条件为:r =ck ??2. ? 椭

c 2

e2u ex 2+e2u ey 2

=0 对于式(33)所示的椭圆方程,冯诺依曼条件为:r =ck ??.

为了使算法在任何情况下都能保持稳定性,去掉对网格划分的冯诺依曼条件,通常采用隐式方案,对五点差分公式中的节点所在的行做差分,然后把这些差分的加权作为中心点的差分值,则拉普拉斯算子可修正为: u xx =θu i+1,j+1?2u i,j+1+u i?1,j+1?2+(1?2θ

)u i+1,j ?2u i,j +u i?1,j

?2+θu i+1,j?1?2u i,j?1+u i?1,j?1?2

(0≤θ≤1)

利用式(34)进行计算时,稳定性没有任何限制。θ取不同的值得到不同的差分

(31)

(33)

(32)

(34)

公式,通常取θ=1/4.

为了提高计算精度,很明显的一个措施就是网格细分,但是由于随着网

格步长的减小,未知量的数目将会呈指数增长,网格划分太细会导致计算量过于庞大而无法计算。通常,我们可以通过提高逼近的精度,采用更高精度的差分公式,例如对公式(21)进行修改,可得到九点差分公式:

?2u i,j ≈

16?2(u i+1,j+1

+u i?1,j+1+u i+1,j?1+u i?1,j?1+4u i+1,j +4u i?1,j +4u i,j?1+4u i,j+1?20u i,j )+O(?4)

图5 九点差分公式

3 有限差分法求解实例

根据上述推导有限差分法理论,对于不同类型的偏微分方程建立有限差

分方程组,采用mat lab 编程给出一些计算实例如下: 1. 椭圆型方程 拉普拉斯方程:

?2u =0;求解域:R ={(x,y ):0≤x ≤1.5,0≤y ≤1.5} 下面分别给出拉普拉斯方程在不同的边界条件下的解。 a) 狄利克雷边界条件:

下边界:u (x,0)=x 4

上边界:u (x,1.5)=x 4?13.5x 2+5.0625 左边界:u (0,y )=y 4

右边界:u (1.5,y )=y 4?13.5y 2+5.0625

(35)

y j+1 y m

y j y 1

y j?1

x 1

x i?1 x i

x i+1

u i?1,j+1 u i?1,j?1 4u i+1,j

?20u i,j 4u i?1,j

u i+1,j+1

4u i,j+1 u i?1,j+1 4u i?1,j

图6 狄利克雷边界条件下拉普拉斯方程的解

b) Neumann 边界条件:

eu(x,y)

eN

=0 下边界:u (x,0)=0 上边界:u (x,1.5)=400 左边界:u (0,y )=0 右边界:u (1.5,y )=0

图7 Neumann 边界条件下拉普拉斯方程的解

0.51

1.5

0.5

1

1.5

-30-20

-10

10

x

y

u (x ,y )

网格步长:h=0.05

0.51

1.5

0.5

11.5

0100200300400500

600700800

x

y

u (x ,y )

网格步长:h=0.05

? 泊松方程:

?2u =x 2?y 2;求解域:R ={(x,y ):0≤x ≤2,0≤y ≤2}. 狄利克雷边界条件:

下边界:u (x,0)=x 4

上边界:u (x,1.5)=x 4?13.5x 2+5.0625 左边界:u (0,y )=y 4

右边界:u (1.5,y )=y 4?13.5y 2+5.0625

图8 狄利克雷边界条件下泊松方程的解

? 赫耳墨兹方程:

?2u +(x +y)?u =x 2?y 2;求解域:R ={(x,y ):0≤x ≤1.5,0≤y ≤1.5}. 狄利克雷边界条件:

下边界:u (x,0)=x 4

上边界:u (x,1.5)=x 4?13.5x 2+5.0625 左边界:u (0,y )=y 4

右边界:u (1.5,y )=y 4?13.5y 2+5.0625

通过图9与图6的对比发现,微分方程 的解与微分方程的具体形式关系不大,主要由求解域和边界条件所决定。

0.5

1

1.5

2

0.5

1

1.5

2

-40-30-20-100

1020

x

y

u (x ,y )

网格步长:h=0.05

图9 狄利克雷边界条件下赫尔墨兹方程的解

2. 双曲方程:

u tt (x,t )=4u xx (x,t );求解区域:R ={(x,y ):0≤x ≤1,0≤t ≤1}. 边界条件:

u (0,t )=0 u (1,t )=0

u (x,0)=f (x )=sin (πx )+sin (2πx )

u tt (x,0)=g (x )=0

图10 双曲方程的解

0.51

1.5

0.5

1

1.5

-30-20

-10

10

x

y

u (x ,y )

网格步长:h=0.05

0.2

0.40.6

0.8

1

0.5

1

-2-1

1

2

x

t

u (x ,t )

网格步长:h=0.02,k=0.01

3. 抛物方程:

u t (x,t )=u xx (x,t );求解区域:R ={(x,y ):0≤x ≤1,0≤t ≤0.1}. 初值条件:

u (x,0)=f (x )=sin (πx )+sin (3πx )

边界条件:

u (0,t )=g 1(t )=0 u (1,t )=g 2(t )=0

图11 抛物方程的解

参考文献

1. John H. Mathews, Kurtis D. Fink. Numerical Methods Using MATLAB, Fourth Edition. BEIJING: Publishing House of Electronic Industry, 2005.7

2. 孙志忠. 偏微分方程数值解法(第二版).北京:科学出版社,2012

3. 王书亭.计算固体力学课件.

0.2

0.40.6

0.8

1

0.5

1

00.5

1

1.5

2

x

t

u (x ,t )

网格步长:h=0.1,k=0.01

差分法求解偏微分方程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 k t t x x h τ ++-=?? -=?(2-2) 2.1古典显格式 2.1.1古典显格式的推导 由泰勒展开公式将(,)u x t 对时间展开得 2,(,)(,)( )()(())i i k i k k k u u 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 u u x t u x t t t o t t t u u x t o t ττ+++?=+-+-??=+?+?(2-4) 得到对时间的一阶偏导数 1,(,)(,)()=()i k i k i k u x t u x t u o t ττ+-?+?(2-5) 由泰勒展开公式将(,)u x t 对位置展开得 223,,21(,)(,)()()()()(())2!k i k i k i i k i i u u u x t u x t x x x x o x x x x ??=+-+-+-??(2-6) 当11i i x x x x +-==和时,代入式(2-6)得

有限差分法求解偏微分方程MATLAB教学教材

有限差分法求解偏微分方程M A T L A B

南京理工大学 课程考核论文 课程名称:高等数值分析 论文题目:有限差分法求解偏微分方程姓名:罗晨 学号: 115104000545 成绩: 有限差分法求解偏微分方程

一、主要内容 1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程: 22(,)()u u f x t t x αα??-=??其中为常数 具体求解的偏微分方程如下: 22001 (,0)sin()(0,)(1,)00 u u x t x u x x u t u t t π???-=≤≤?????? =??? ==≥??? 2.推导五种差分格式、截断误差并分析其稳定性; 3.编写MATLAB 程序实现五种差分格式对偏微分方程的求解及误差分析; 4.结论及完成本次实验报告的感想。 二、推导几种差分格式的过程: 有限差分法(finite-difference methods )是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。 推导差分方程的过程中需要用到的泰勒展开公式如下: ()2 100000000()()()()()()()......()(()) 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) 求解区域的网格划分步长参数如下:

第十章-偏微分方程数值解法

第十章 偏微分方程数值解法 偏微分方程问题,其求解十分困难。除少数特殊情况外,绝 大多数情况均难以求出精确解。因此,近似解法就显得更为重要。本章仅介绍求解各类典型偏微分方程定解问题的差分方法。 §1 差分方法的基本概念 1.1 几类偏微分方程的定解问题 椭圆型方程:其最典型、最简单的形式是泊松(Poisson )方程 ),(22 2 2y x f y u x u u =??+??=? 特别地,当 0),(≡y x f 时,即为拉普拉斯(Laplace )方程,又称 为调和方程 22 22 =??+??=?y u x u u Poisson 方程的第一边值问题为 ?? ?? ?Ω ?=Γ=Ω∈=??+??Γ∈),(),(),(),(),(22 22y x y x u y x y x f y u x u y x ? 其中 Ω为以Γ为边界的有界区域,Γ为分段光滑曲线, ΓΩY 称为定解区域,),(y x f ,),(y x ?分别为Ω,Γ上的已知连 续函数。 第二类和第三类边界条件可统一表示为

),(),(y x u u y x ?α=??? ? ??+??Γ∈n 其中n 为边界Γ的外法线方向。当0=α时为第二类边界条件, 0≠α时为第三类边界条件。 抛物型方程:其最简单的形式为一维热传导方程 2 20(0)u u a a t x ??-=>?? 方程可以有两种不同类型的定解问题: 初值问题 ?? ???+∞ <<∞-=+∞<<-∞>=??-??x x x u x t x u a t u )()0,(,00 22 ? 初边值问题 2 212 00,0(,0)()0(0,)(),(,)()0u u a t T x l t x u x x x l u t g t u l t g t t T ????-=<<<

常微分方程和偏微分方程的数值解法教学大纲

上海交通大学致远学院 《常微分方程和偏微分方程的数值解法》教学大纲 一、课程基本信息 课程名称(中文):常微分方程和偏微分方程的数值解法 课程名称(英文):Numerical Methods for Ordinary and Partial Differential Equations 课程代码:MA300 学分 / 学时:4学分 / 68学时 适用专业:致远学院与数学系相关专业 先修课程:偏微分方程,数值分析 后续课程:相关课程 开课单位:理学院数学系计算与运筹教研室 Office hours: 每周二19:00—21:00,地点:数学楼1204 二、课程性质和任务 本课程是致远学院和数学系应用数学和计算数学方向的一门重要专业基础课程,其主要任务是通过数学建模、算法设计、理论分析和上机实算“四位一体”的教学方法,使学生掌握常微分方程与偏微分方程数值解的基本方法、基本原理和基本理论,进一步提升同学们利用计算机解决实际问题的能力。在常微分方程部分,将着重介绍常微分方程初值问题的单步法,含各类Euler方法和Runge-Kutta方法,以及线性多步法。将简介常微分方程组和高阶常微分方程的数值方法。在偏微分方程部分,将系统介绍求解椭圆、双曲、抛物型方程的差分方法的构造方法和理论分析技巧,对于椭圆型方程的边值问题将介绍相应变分原理与有限元方法。将在课堂上实时演示讲授的核心算法的计算效果,以强调其直观效果与应用性。本课程重视实践环节建设,学生要做一定数量的大作业。 三、教学内容和基本要求 第一部分:常微分方程数值解法 1 引论 1.1回顾:一阶常微分方程初值问题及解的存在唯一性定理

《有限差分法在微分方程中的应用》课程论文

课程论文

有限差分法在微分方程中的应用 本学期学习了《微分方程数值解》,本书中有限差分法给我留下的印象比较深刻,下边说说自己在方面的一点理解,请老师指正。 1.有限差分法的基本思想: 当系统的数学模型建立后,我们面对的主要问题就是微分积分方程的求解。基本思想是用离散的只含有限个未知量的差分方程组去近似地代替连续变量的微分方程和定解条件,并把差分方程组的解作为微分方程定解问题的近似解。将原方程及边界条件中的微分用差分来近似,对于方程中的积分用求和或及机械求积公式来近似代替,从而把原微分积分方程和边界条件转化成差分方程组。 2.有限差分法求解偏微分方程的步骤: 区域离散,即把所给偏微分方程的求解区域细分成由有限个格点组成的网格,这些离散点称作网格的节点; 近似替代,即采用有限差分公式替代每一个格点的导数。 逼近求解,换而言之,这一过程可以看作是用一个插值多项式及其微分来代替偏微分方程的解的过程。 从原则上说,这种方法仍然可以达到任意满意的计算精度。因为方程的连续数值解可以通过减小独立变量离散取值的间格,或者通过离散点上的函数值进行插值计算来近似得到。理论上,当网格步长趋近于零时,差分方程组的解应该收敛于精确解,但由于机器字节的限制,网格步长不可能也没有必要取得无限小,那么差分法的收敛性或者说算法的稳定性就显得至关重要。因此,在运用有限差分法时,除了要保证精度外,还必须要保证其收敛性。 3.构造差分法的几种形式: 主要草用的是泰勒级数展开的方法。其基本差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等。其中前两种形式为一阶计算精度,后一种为二阶计算精度。

有限差分法求解偏微分方程复习进程

有限差分法求解偏微 分方程

有限差分法求解偏微分方程 摘要:本文主要使用有限差分法求解计算力学中的系统数学模型,推导了有限差分法的 理论基础,并在此基础上给出了部分有限差分法求解偏微分方程的算例验证了推导的正确性及操作可行性。 关键词:计算力学,偏微分方程,有限差分法 Abstract:This dissertation mainly focuses on solving the mathematic model of computation mechanics with finite-difference method. The theoretical basis of finite-difference is derived in the second part of the dissertation, and then I use MATLAB to program the algorithms to solve some partial differential equations to confirm the correctness of the derivation and the feasibility of the method. Key words:Computation Mechanics, Partial Differential Equations, Finite-Difference Method

1 引言 机械系统设计常常需要从力学观点进行结构设计以及结构分析,而这些分析的前提就是建立工程问题的数学模型。通过对机械系统应用自然的基本定律和原理得到带有相关边界条件和初始条件的微分积分方程,这些微分积分方程构成了系统的数学模型。 求解这些数学模型的方法大致分为解析法和数值法两种,而解析法的局限性众所周知,当系统的边界条件和受载情况复杂一点,往往求不出问题的解析解或近似解。另一方面,计算机技术的发展使得计算更精确、更迅速。因此,对于绝大多数工程问题,研究其数值解法更具有实用价值。对于微分方程而言,主要分为差分法和积分法两种,本论文主要讨论差分法。 2 有限差分法理论基础 2.1 有限差分法的基本思想 当系统的数学模型建立后,我们面对的主要问题就是微分积分方程的求解。基本思想是用离散的只含有限个未知量的差分方程组去近似地代替连续变量的微分方程和定解条件,并把差分方程组的解作为微分方程定解问题的近似解。将原方程及边界条件中的微分用差分来近似,对于方程中的积分用求和或及机械求积公式来近似代替,从而把原微分积分方程和边界条件转化成差分方程组。有限差分法求解偏微分方程的步骤主要有以下几步: 区域离散,即把所给偏微分方程的求解区域细分成由有限个格点组成的网格,这些离散点称作网格的节点;

常微分方程边值问题的数值解法

第8章 常微分方程边值问题的数值解法 引 言 第7章介绍了求解常微分方程初值问题的常用的数值方法;本章将介绍常微分方程的边值问题的数值方法。 只含边界条件(boundary-value condition)作为定解条件的常微分方程求解问题称为常微分方程的边值问题(boundary-value problem). 为简明起见,我们以二阶边值问题为 则边值问题(8.1.1)有唯一解。 推论 若线性边值问题 ()()()()()(),, (),()y x p x y x q x y x f x a x b y a y b αβ'''=++≤≤?? ==? (8.1.2) 满足 (1) (),()p x q x 和()f x 在[,]a b 上连续; (2) 在[,]a b 上, ()0q x >, 则边值问题(8.1.1)有唯一解。 求边值问题的近似解,有三类基本方法: (1) 差分法(difference method),也就是用差商代替微分方程及边界条件中的导数,最终化为代数方程求解; (2) 有限元法(finite element method);

(3) 把边值问题转化为初值问题,然后用求初值问题的方法求解。 差分法 8.2.1 一类特殊类型二阶线性常微分方程的边值问题的差分法 设二阶线性常微分方程的边值问题为 (8.2.1)(8.2.2) ()()()(),,(),(), y x q x y x f x a x b y a y b αβ''-=<

有限差分法解微分方程两点边值问题

使用有限差分方法解边值问题: 由两点边值问题的一般形式: 根据差分方程: 当网格划分均匀,即有,化简差分方程: 代入再次化简: 用方程组展开写成矩阵形式: MATLAB编程:

运行后算出的结果:0 0.00376645934479969 0.00752341210586145 0.0112613555020809 0.0149707943560995 0.0186422448923756 0.0222662385306948 0.0258333256736017 0.0293340794862392 0.0327590996670822 0.0360990162080584 0.0393444931425513 0.0424862322797872 0.0455149769241112 0.0484215155776656 0.0511966856249889 0.0538313769980622 0.0563165358203363 0.0586431680282822 0.0608023429690169

0.0627851969725639 0.0645829368973219 0.0661868436473210 0.0675882756598612 0.0687786723621374 0.0697495575954688 0.0704925430057619 0.0709993313988528 0.0712617200593841 0.0712716040318917 0.0710209793627865 0.0705019463019362 0.0697067124625652 0.0686275959382091 0.0672570283754778 0.0655875580013963 0.0636118526041142 0.0613227024657904 0.0587130232464804 0.0557758588178718 0.0525043840457360 0.0488919075199819 0.0449318742312199 0.0406178681927653 0.0359436150070336 0.0309029843752992 0.0254899925498146 0.0196988047273101 0.0135237373829146 0.00695926054356603 0 与精确解比较:

偏微分方程求解-有限差分法解析

--以有限差分法为例偏微分方程数值求解 1. 偏微分方程求解问题的描述 教材P653[12.1.1]椭圆型 教材P653[12.1.2] 教材P664[12.2.1]双曲型 教材P665[12.2.4]拉普拉斯泊松 对流 波动 教材P684[12.3.1]抛物型 教材P685[12.3.6]扩散 对流扩散 教材P686[12.3.8]二维扩散 教材P678[12.2.23]二维对流

??????????????????????≥≤≤==≥≤≤==≤≤=>≥≤≤≤≤???? ????+??=??0,0, ),(),,(),(),0,(0,0,),(),,(),(),,0(,0,),()0,,(0,0 , 0 , 0 21212222t L x t x v t L x u t x v t x u t L y t y t y L u t y t y u L y x y x y x u b t L y L x y u x u b t u μμ?Ω 求解域初值条件边值条件) ,,(t y x u 未知函数

????? ? ????????????????????≥<<-==≥<<==≥≤≤-==≥≤≤==≤≤==≤≤≤≤≤≤???? ????+??=??0 , 50 , sin 255sin ),(),5,(0 , 50 , 0),(),0,(0 , 50 , 5sin sin 25),(),,5(0 , 50 , 0),(),,0(5,0,0),()0,,( 10000 , 50 , 50 001.022********t x x x t x v t x u t x t x v t x u t y y y t y t y u t y t y t y u y x y x y x u t y x y u x u t u μμ?Ω 求解域初值条件边值条件以具体问题为例演示具体的求解过程) ,,(t y x u 未知函数

第九章 偏微分方程差分方法

170 第9章 偏微分方程的差分方法 含有偏导数的微分方程称为偏微分方程。由于变量的增多和区域的复杂性,求偏微分方程的精确解一般是不可能的,经常采用数值方法求方程的近似解。偏微分方程的数值方法种类较多,最常用的方法是差分方法。差分方法具有格式简单,程序易于实现,计算量小等优点,特别适合于规则区域上偏微分方程的近似求解。本章将以一些典型的偏微分方程为例,介绍差分方法的基本原理和具体实现方法。 9.1椭圆型方程边值问题的差分方法 9.1.1 差分方程的建立 最典型的椭圆型方程是Poisson (泊松)方程 G y x y x f y u x u u ∈=??+??-≡?-),(),,()(2222 (9.1) G 是x ,y 平面上的有界区域,其边界Γ为分段光滑的闭曲线。当f (x ,y )≡0时,方程 (9.1)称为Laplace(拉普拉斯)方程。椭圆型方程的定解条件主要有如下三种边界条件 第一边值条件 ),(y x u α=Γ (9.2) 第二边值条件 ),(y x n u β=??Γ (9.3) 第三边值条件 ),()( y x ku n u γ=+??Γ (9.4) 这里,n 表示Γ上单位外法向,α(x,y ),β(x,y ),γ(x,y )和k (x,y )都是已知的函数,k (x,y )≥0。满足方程(9.1)和上述三种边值条件之一的光滑函数u (x ,y )称为椭圆型方程边值问题的解。 用差分方法求解偏微分方程,就是要求出精确解u (x ,y )在区域G 的一些离散节点(x i ,y i )上的近似值u i ,j ≈(x i ,y i )。差分方法的基本思想是,对求解区域G 做网格剖分,将偏微分方程在网格节点上离散化,导出精确解在网格节点上近似值所满足的差分方程,最终通过求解差分方程,通常为一个线性方程组,得到精确解在离散节点上的近似值。 设G ={0

有限差分法

有限差分法 有限差分法有限差分法 finite difference method 微分方程和积分微分方程数值解的方法。基本思想是把连续的定解区域用有限个离散 点构成的网格来代替,这些离散点称作网格的节点;把连续定解区域上的连续变量的函 数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似, 积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差 分方程组,解此方程组就可以得到原问题在离散点上的近似解。然后再利用插值方法便 可以从离散解得到定解问题在整个区域上的近似解。 有限差分法的主要内容包括:如何根据问题的特点将定解区域作网格剖分;如何把原 微分方程离散化为差分方程组以及如何解此代数方程组。此外为了保证计算过程的可行和 计算结果的正确,还需从理论上分析差分方程组的性态,包括解的唯一性、存在性和差分 格式的相容性、收敛性和稳定性。对于一个微分方程建立的各种差分格式,为了有实用意义,一个基本要求是它们能够任意逼近微分方程,这就是相容性要求。另外,一个差分格 式是否有用,最终要看差分方程的精确解能否任意逼近微分方程的解,这就是收敛性的概念。此外,还有一个重要的概念必须考虑,即差分格式的稳定性。因为差分格式的计算过 程是逐层推进的,在计算第n+1层的近似值时要用到第n层的近似值,直到与初始值有关。前面各层若有舍入误差,必然影响到后面各层的值,如果误差的影响越来越大,以致 差分格式的精确解的面貌完全被掩盖,这种格式是不稳定的,相反如果误差的传播是可以 控制的,就认为格式是稳定的。只有在这种情形,差分格式在实际计算中的近似解才可能 任意逼近差分方程的精确解。关于差分格式的构造一般有以下3种方法。最常用的方法是 数值微分法,比如用差商代替微商等。另一方法叫积分插值法,因为在实际问题中得出的 微分方程常常反映物理上的某种守恒原理,一般可以通过积分形式来表示。此外还可以用 待定系数法构造一些精度较高的差分格式。 有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法 将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以Taylor 级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从 而建立以网格节点上的值为未知数的代数方程组。该方法是一种直接将微分问题变为代数 问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。 对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。从差分 的空间形式来考虑,可分为中心格式和逆风格式。 考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。目 前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分 方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。

五点差分法(matlab)解椭圆型偏微分方程

用差分法解椭圆型偏微分方程 -(Uxx+Uyy)=(pi*pi-1)e^xsin(pi*y) 0kmax) break; end if(max(max(t))

五点差分法解椭圆型偏微分方程

用差分法解椭圆型偏微分方程 -(Uxx+Uyy)=(pi*pi-1)e^xsin(pi*y) 0kmax) break; end if(max(max(t))

常微分方程数值解法

i.常微分方程初值问题数值解法 常微分方程初值问题的真解可以看成是从给定初始点出发的一条连续曲线。差分法是常微分方程初值问题的主要数值解法,其目的是得到若干个离散点来逼近这条解曲线。有两个基本途径。一个是用离散点上的差商近似替代微商。另一个是先对微分方程积分得到积分方程,再利用离散点作数值积分。 i.1 常微分方程差分法 考虑常微分方程初值问题:求函数()u t 满足 (,), 0du f t u t T dt =<≤ (i.1a ) 0(0)u u = (i.1b) 其中(,)f t u 是定义在区域G : 0t T ≤≤, u <∞上的连续函数,0u 和T 是给定的常数。我们假设(,)f t u 对u 满足Lipschitz 条件,即存在常数L 使得 121212(,)(,), [0,]; ,(,)f t u f t u L u u t T u u -≤-?∈∈-∞∞ (i.2) 这一条件保证了(i.1)的解是适定的,即存在,唯一,而且连续依赖于初值0u 。 通常情况下,(i.1)的精确解不可能用简单的解析表达式给出,只能求近似解。本章讨论常微分方程最常用的近似数值解法-差分方法。先来讨论最简单的Euler 法。为此,首先将求解区域[0,]T 离散化为若干个离散点: 0110N N t t t t T -=<< <<= (i.3) 其中n t hn =,0h >称为步长。 在微积分课程中我们熟知,微商(即导数)是差商的极限。反过来,差商就是微商的近似。在0t t =处,在(i.1a )中用向前差商 10()()u t u t h -代替微商du dt ,便得 10000()()(,())u t u t hf t u t ε=++ 如果忽略误差项0ε,再换个记号,用i u 代替()i u t 便得到 1000(,)u u hf t u -= 一般地,我们有 1Euler (,), 0,1, ,1n n n n u u hf t u n N +=+=-方法: (i.4) 从(i.1b) 给出的初始值0u 出发,由上式可以依次算出1,,N t t 上的差分解1,,N u u 。

常微分方程差分解法、入门、多解法

毕业论文 题目抛物型方程的差分解法学院数学科学学院 专业信息与计算科学 班级计算0802 学生王丹丹 学号20080901045 指导教师王宣欣 二〇一二年五月二十五日

摘要 偏微分方程的数值解法在数值分析中占有重要的地位,很多科学技术问题的数值计算包括了偏微分方程的数值解问题【1】。近三十多年来,数值解法的理论和方法都有了很大的发展,而且在各个科学技术的领域中应用也愈来愈广泛。本文的研究主要集中在依赖于时间的问题,借助于简单的常系数扩散方程,介绍抛物型方程的差分解法。本文以基本概念和基本方法为主,同时结合算例实现算法。 第一部分介绍偏微分方程及差分解法的基本概念,引入本文的研究对象——常系 数扩散方程: 2 2 ,,0 u u a x R t t x ?? =∈>?? 第二部分介绍上述方程的几种差分格式及每种格式的相容性、收敛性与稳定性。 第三部分通过算例检验每种差分格式的可行性。 关键词:偏微分方程;抛物型;差分格式;收敛性;稳定性;算例

ABSTRACT The numerical solution of partial differential equation holds an important role in numerical analysis .Many problems of compution in the field of science and techology include the numerical solution of partial differential equation. For more than 30 years, the theory and method of the numerical computation made a great development and its applications in various fields of science and technology are more and more widely. This paper focuses on the problems based on time. I will use object-constant diffusion equation to introduces the finite difference method of parabolic equation. This paper mainly focus on the basic concept ,basic method and simple numerical example. The first part of this paper introduces partial differential equations and basic concepts of finite difference method.I will introduce the object-constant diffusion equation for the first time. 2 2 ,,0 u u a x R t t x ?? =∈>?? The second part of this paper introduces several difference schemes of the above equation and their compatibility ,convergence and stability. The third part tests the accuracy of each scheme. Key words:partial differential equation;parabolic;difference scheme;convergence;stability;application

有限差分法解偏微分方程

有限差分法解偏微分方程综述 绪论 有限元方法最早应用于结构力学,后来随着计算机的发展慢慢用于流体力学的数值模拟。在有限元方法中,把计算域离散剖分为有限个互不重叠且相互连接的单元,在每个单元内选择基函数,用单元基函数的线形组合来逼近单元中的真解,整个计算域上总体的基函数可以看为由每个单元基函数组成的,则整个计算域内的解可以看作是由所有单元上的近似解构成。 有限差分方法(FDM)是计算机数值模拟最早采用的方法,至今仍被广泛运用。该方法将求解域划分为差分网格,用有限个网格节点代替连续的求解域。有限差分法以Taylor 级数展开等方法,把控制方程中的导数用网格节点上的函数值的差商代替进行离散,从而建立以网格节点上的值为未知数的代数方程组。该方法是一种直接将微分问题变为代数问题的近似数值解法,数学概念直观,表达简单,是发展较早且比较成熟的数值方法。 对于有限差分格式,从格式的精度来划分,有一阶格式、二阶格式和高阶格式。 从差分的空间形式来考虑,可分为中心格式和逆风格式。 考虑时间因子的影响,差分格式还可以分为显格式、隐格式、显隐交替格式等。 目前常见的差分格式,主要是上述几种形式的组合,不同的组合构成不同的差分格式。差分方法主要适用于有结构网格,网格的步长一般根据实际地形的情况和柯朗稳定条件来决定。构造差分的方法有多种形式, 目前主要采用的是泰勒级数展开方法。其基本的差分表达式主要有三种形式:一阶向前差分、一阶向后差分、一阶中心差分和二阶中心差分等,其中前两种格式为一阶计算精度,后两种格式为二阶计算精度。通过对时间和空间这几种不同差分格式的组合,可以组合成不同的差分计算格式。 有限元方法的基础是变分原理和加权余量法,其基本求解思想是把计算域划分为有限个互不重叠的单元,在每个单元内,选择一些合适的节点作为求解函数的插值点,将微分方程中的变量改写成由各变量或其导数的节点值与所选用的插值函数组成的线性表达式,借助于变分原理或加权余量法,将微分方程离散求解。采用不同的权函数和插值函数形式,便构成不同的有限元方法。 有限差分法求解偏微分方程 在采用数值计算方法求解偏微分方程时,若将每一处导数由有限差分近似公式替代,从而把求解偏微分方程的问题转换成求解代数方程的问题,即所谓的有限差分法。有限差分法求解偏微分方程的步骤如下: 1、区域离散化,即把所给偏微分方程的求解区域细分成由有限个格点组成的网格; 2、近似替代,即采用有限差分公式替代每一个格点的导数; 3、逼近求解。换而言之,这一过程可以看作是用一个插值多项式及其微分来代替偏微分方程的解的过程 有限差分法的应用 抛物型方程的差分方法 1. 简单差分法

常微分方程的差分方法

第五章 常微分方程的差分方法 一、教学目标及基本要求 通过对本节课的学习,使学生掌握常微分方程、常微分方程方程组的数值解法。 二、教学内容及学时分配 本节课主要介绍常微分方程的数值解法。具体内容如下: 讲授内容:欧拉公式、改进的欧拉公式。 三、教学重点难点 1.教学重点:改进的欧拉公式、龙格库塔方法、收敛性与稳定性。 2. 教学难点:收敛性与稳定性。 四、教学中应注意的问题 多媒体课堂教学为主。适当提问,加深学生对概念的理解。 五、正文 基于数值积分的求解公式:欧拉公式、改进的欧拉公式 引 言 1.主要考虑如下的一阶常微分方程初值问题的求解: 00()(,)()y x f x y y x y '=??=? 微分方程的解就是求一个函数y=y(x),该函数满足微分方程并且符合初值条件。 2. 例如微分方程: xy'-2y=4x ;初始条件: y(1)=-3。 于是可得一阶常微分方程的初始问题 24(1)3y y x y ?'=+???=-?。 显然函数y(x)=x 2-4x 满足以上条件,因而是该初始问题的微分方程的解。

3. 但是,只有一些特殊类型的微分方程问题能够得到用解析表达式表示的函数解,而大量的微分方程问题很难得到其解析解,有的甚至无法用解析表达式来表示。因此,只能依赖于数值方法去获得微分方程的数值解。 4. 微分方程的数值解: 设微分方程问题的解y(x)的存在区间是[a,b],初始点x 0=a ,将[a,b]进行划分得一系列节点x 0 , x 1 ,...,x n ,其中a= x 0< x 1<…< x n =b 。y(x)的解析表达式不容易得到或根本无法得到,我们用数值方法求得y(x)在每个节点x k 的近似值y(x k ),即 y≈y(x k ),这样y 0 , y 1 ,...,y n 称为微分方程的数值解。 如果计算y n 时,只利用y n-1,称这种方法为单步法;如果在计算y n 时不仅利用y n-1,而且还要利用y n-2, y n-3,…, y n-r ,则称这种方法为r 步方法,也称多步法。 §5.1 欧拉方法 §5.1.1 欧拉格式 方程()(,)n n n y x f x y '=中,1()()()n n n y x y x y x h +-'≈ 1()()(,())n n n n y x y x hf x y x +≈+?1(,)n n n n y y hf x y +=+ 称为解一阶常微分方程初值问题的欧拉公式,也称显示欧拉公式。 欧拉公式的几何意义非常明显,因为微分方程的解在xoy 平面上表示一族积分曲线。用欧拉公式求数值解的几何意义如图: 容易验证,该折线各个顶点的纵坐标(1,2...)n y n =就是欧拉公式算得的近似值解,所以,欧拉方法又称为折线法。 算例:P98

有限差分法求解偏微分方程

有限差分法求解偏微分方程 摘要:本文主要使用有限差分法求解计算力学中的系统数学模型,推导了有限差分法的理论基础,并在此基础上给出了部分有限差分法求解偏微分方程的算例验证了推导的正确性及操作可行性。 关键词:计算力学,偏微分方程,有限差分法 Abstract:This dissertation mainly focuses on solving the mathematic model of computation mechanics with finite-difference method. The theoretical basis of finite-difference is derived in the second part of the dissertation, and then I use MATLAB to program the algorithms to solve some partial differential equations to confirm the correctness of the derivation and the feasibility of the method. Key words:Computation Mechanics, Partial Differential Equations, Finite-Difference Method

1 引言 机械系统设计常常需要从力学观点进行结构设计以及结构分析,而这些分析的前提就是建立工程问题的数学模型。通过对机械系统应用自然的基本定律和原理得到带有相关边界条件和初始条件的微分积分方程,这些微分积分方程构成了系统的数学模型。 求解这些数学模型的方法大致分为解析法和数值法两种,而解析法的局限性众所周知,当系统的边界条件和受载情况复杂一点,往往求不出问题的解析解或近似解。另一方面,计算机技术的发展使得计算更精确、更迅速。因此,对于绝大多数工程问题,研究其数值解法更具有实用价值。对于微分方程而言,主要分为差分法和积分法两种,本论文主要讨论差分法。 2 有限差分法理论基础 2.1 有限差分法的基本思想 当系统的数学模型建立后,我们面对的主要问题就是微分积分方程的求解。基本思想是用离散的只含有限个未知量的差分方程组去近似地代替连续变量的微分方程和定解条件,并把差分方程组的解作为微分方程定解问题的近似解。将原方程及边界条件中的微分用差分来近似,对于方程中的积分用求和或及机械求积公式来近似代替,从而把原微分积分方程和边界条件转化成差分方程组。有限差分法求解偏微分方程的步骤主要有以下几步: ?区域离散,即把所给偏微分方程的求解区域细分成由有限个格点组成的网格, 这些离散点称作网格的节点; ?近似替代,即采用有限差分公式替代每一个格点的导数; ?逼近求解,换而言之,这一过程可以看作是用一个插值多项式及其微分来代 替偏微分方程的解的过程。 从原则上说,这种方法仍然可以达到任意满意的计算精度。因为方程的连续数值解可以通过减小独立变量离散取值的间格,或者通过离散点上的函数值进行插值计算来近似得到。理论上,当网格步长趋近于零时,差分方程组的解应该收敛于精确解,但由于机器字节的限制,网格步长不可能也没有必要取得无限小,

相关文档
相关文档 最新文档