热传导方程地差分格式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一维抛物方程的初边值问题
分别用向前差分格式、向后差分格式、六点对称格式,求解下列问题:
22,01,u u a x t x
∂∂=<<∂∂
(,0)sin ,01u x x x π=<<
(0,)(1,)0,
0u t u t t ==>
在0.05,0.10.2t =和时刻的数值解,并与解析解2
(,)sin()t u x t e x ππ-=进行比较。
1差分格式形式
设空间步长1/h N =, 时间步长0τ>,T M τ=,网比2/r h τ=.
(1)向前差分格式
该问题是第二类初边值问题(混合问题),我们要求出所需次数的偏微商的函数
(,)u x t ,满足方程22,01,u u
a x t x
∂∂=<<∂∂和初始条件(,0)sin ,01u x x x π=<<,
及边值条件(0,)(1,)0,0u t u t t ==>。
已知sin x π在相应区域光滑,并且在0,x l =与边值相容,使问题有唯一充分光滑的
解。 取空间步长1/h N =,和时间步长/T M τ=,其中,N M 都是正整数。用两族平行直
线
(0,1,,)
j x x jh j N ===L 和
(0,1,,)
k t t k k M τ===L 将矩形域
{01,0}G x t =≤≤≥分割成矩形网络,网络格节点为(,)j k x t 。以h G 表示网格内点集合,
即位于矩形G 的网点集合;h G 表示闭矩形G 的网格集合;h h G G -=Γh 是网格界点的集合。
向前差分格式,即
i k
j k j k j k j
k j f h u u u a
u u ++-=--++2
1
112τ
(1)
)(i i x f f =,
0),(00====k
N k j j j u u x u ϕϕ
其中,.1,,2,1,1,,2,1-=-=M k N j ΛΛ以2
/h a r τ=表示网比。(1)式可改写成如下:
j k
j k j k j k j f ru u r ru u τ++-+=-++111)21(
此格式为显格式。
其矩阵表达式如下:
⎪
⎪
⎪⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛----++-++-11
1121112121212121j N j N j j j N j N j j u u u u u u u u r r r r r r r
r r
M M O
(2)向后差分格式
向后差分格式,即
,22
1
1
11k 11
j k j k j j k j
k j f h
u u u a
u u ++-=-+-++++τ
(2)
,0),(N 00====k
k j j j u u x u ϕϕ
其中.1,,2,1,1,,2,1-=-=M k N j ΛΛ(2)式可改写成
j k j k j k j k j f u ru u r ru τ+=-++-+-+++11111)21(
此种差分格式被称为隐格式。
其矩阵表达式如下:
⎪⎪⎪⎪⎪⎪⎭
⎫ ⎝⎛=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛+--+-+--+-++-++j N j
N j j j N j N j j u u u u u u u u r r r r r r r r r 121111121121212121M M O
(3)六点对称格式
六点差分格式:
j k
j k j k j k j k j k j k j
k j f h
u u u h u u u a u u ++-++-=--++-++++]22[22
112111111
τ
(3) .0),(00====k
N k j j j u u x u ϕϕ
将(3)式改写成
j k j k j k j k j k j k j f u r u r u r u r u r u r τ++-+=-++--++-+++11111112
)1(22)1(2 其矩阵表达式如下:
⎪⎪⎪⎪⎪⎪⎭
⎫
⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛----=⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛⎪⎪⎪⎪⎪⎪⎭⎫
⎝⎛+--+-+--+-++-++j N j
N j j j N j N j j u u u u r r r r r r r r r u u u u r r r r r r r r r 1211111211212/2/12/12/2/1212/12/12/2/1M O
M O 2利用MATLAB 求解问题的过程
对每种差分格式依次取40.N =,=1/1600τ,=1/3200τ,=1/6400τ,用
MATLAB
求解并图形比较数值解与精确解,用表格列出不同剖分时的2L 误差。 向前差分格式: :05.0=t
=1/1600τ:
3200/1=τ:
τ:
=
6400
/1
t
:1.0
=
τ:
=
/1
3600