双曲型方程 Lax-Wendroff 的差分格式程序(Matlab)
一:一阶双曲型微分方程的初边值问题
0,0 1,0 1.
( ,0) cos( ),0 1.
(0, ) (1, ) cos( ),0 1.
u u
x t
t x
u x x x
u t u t t t
p
p
¶ ¶
- = £ £ £ £
¶ ¶
= £ £
= - = £ £
精确解为
� �
txcos �
�
二:数值解法思想和步骤
2.1:网格剖分
为了用差分方法求解上述问题,将求解区域
{ }
( , ) | 0 1,0 1x t x tW = £ £ £ £
作剖分。
将空间区间
[0,1]
作
m
等分,将时间
[0,1]
区间作
n
等分,并记
1/ , 1/ , ,0 , ,0
j k
h m n x jh j m t k k n
t t
= = = £ £ = £ £
。分别称
h
和
t
为空间和时间步长。用
两簇平行直线
,0 , ,0
j k
x x j m t t k n= £ £ = £ £
将
W
分割成矩形网格。
2.2:差分格式的建立
0
u u
t x
¶ ¶
- =
¶ ¶
LaxWendroff 方法
用牛顿二次插值公式可以得到 Lax-Wendroff 的差分格式,在此不详细分析,
它的截断误差为
� �
h
2
2
�
�
�
,是二阶精度;当
2s �
时,
� �
1, �
��
G
,格式稳定。在
这里主要用它与上面一阶精度的 Lax-Friedrichs 方法进行简单对比。
2.3 差分格式的求解
因为
1s �
时格式稳定,不妨取
1/90h
1/100
�
�
�
,则 s=0.9
差分格式
1
1 1 1 1
1
( ) , (0 ,0 )
2 2 2
k k k k k
j j j j j
s s
u u u u u j m k n
+
- - + +
= - + + + £ £ £ £
写成如下矩阵形式:
评论20