有限差分法求解偏微分方程MATLAB 下载本文

.

南京理工大学

课程考核论文

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

任课教师评语: 签名: 年 月 日 有限差分法求解偏微分方程

.

.

一、主要内容

1.有限差分法求解偏微分方程,偏微分方程如一般形式的一维抛物线型方程:

?u?2u??2?f(x,t)?t?x(其中?为常数)

具体求解的偏微分方程如下:

??u?2u??t??x2?0????u(x,0)?sin(?x)???u(0,t)?u(1,t)?0??0?x?1

t?02.推导五种差分格式、截断误差并分析其稳定性;

3.编写MATLAB程序实现五种差分格式对偏微分方程的求解及误差分析; 4.结论及完成本次实验报告的感想。

二、推导几种差分格式的过程:

有限差分法(finite-difference methods)是一种数值方法通过有限个微分方程近似求导从而寻求微分方程的近似解。有限差分法的基本思想是把连续的定解区域用有限个离散点构成的网格来代替;把连续定解区域上的连续变量的函数用在网格上定义的离散变量函数来近似;把原方程和定解条件中的微商用差商来近似,积分用积分和来近似,于是原微分方程和定解条件就近似地代之以代数方程组,即有限差分方程组,解此方程组就可以得到原问题在离散点上的近似解。

推导差分方程的过程中需要用到的泰勒展开公式如下:

f?(x0)f??(x0)f(n)(x0)2f(x)?f(x0)?(x?x0)?(x?x0)?......?(x?x0)n?o((x?x0)n?1)1!2!n! (2-1)

求解区域的网格划分步长参数如下:

?tk?1?tk?? (2-2) ?x?x?h?k?1k2.1 古典显格式

.

.

2.1.1 古典显格式的推导

由泰勒展开公式将u(x,t)对时间展开得 u(x?u(ix,kt?)i,t)当t?tk?1时有

u(x?u(ix,k?t)i,tk?1)?u(,i)k?1?t(?tk)?o?(t(k1k?t?u?u(x,t?)(,i)?k??o?2()ik?t2?u(,?tik2 ) ) (2-3) )?t(kt?)o?(t(k t

t))k (2-4)

得到对时间的一阶偏导数

u(xi,tk?1)?u(xi,tk)?u()i,k=?o(?) (2-5) ?t?由泰勒展开公式将u(x,t)对位置展开得

?u1?2u u(x,tk)?u(xi,tk)?()i,k(x?xi)?(2)i,k(x?xi)2?o((x?xi)3) (2-6)

?x2!?x当x?xi?1和x?xi?1时,代入式(2-6)得

??u1?2uu(xi?1,tk)?u(xi,tk)?()i,k(xi?1?xi)?(2)i,k(xi?1?xi)2?o((xi?1?xi)3)???x2!?x ? (2-7) 2?u(x,t)?u(x,t)?(?u)(x?x)?1(?u)(x?x)2?o((x?x)3)i?1kiki,ki?1ii,ki?1ii?1i??x2!?x2?因为xk?1?xk?h,代入上式得

??u1?2uu(xi?1,tk)?u(xi,tk)?()i,k?h?(2)i,k?h2?o(h3)???x2!?x ? (2-8) 2?u(x,t)?u(x,t)?(?u)?h?1(?u)?h2?o(h3)i?1kiki,ki,k??x2!?x2?得到对位置的二阶偏导数

u(xi?1,tk)?2u(xi,tk)?u(xi?1,tk)?2u2?o(h) (2-9) (2)i,k?2?xh将式(2-5)、(2-9)代入一般形式的抛物线型偏微分方程得

u(xi,tk?1)?u(xi,tk)??u(x,t)?2u(xi,tk)?u(xi?1,tk)?2???i?1k?f(x,t)?o(??h) ik2?h??(2-10)

为了方便我们可以将式(2-10)写成

.