经典偏微分方程课后习题答案

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

第四章 抛物型微分方程有限差分法

1设已知初边值问题22, 01, 0<(,0)sin , 01(0,)(1,)0, 0 u u

x t t x u x x x u t u t t T π⎧∂∂=<<⎪∂∂⎪⎪

=≤≤⎨⎪==≤≤⎪⎪⎩

T ≤, 试用最简显格式求上述问题的数值解。取h=0.1,

r=0.1.

0 1/10 2/10 … 1 T 2τ τ

t

解: 1.矩形网格剖分区域. 取空间步长1

, 时间2510

h =

0.00τ=以及0.01τ=的矩形网格剖分区域, 用节点)表示坐标点

(,j k (,)(,)j k x t jh k τ=, 0,1,...1/; 0,1,...,/j h k T τ==, 如图所示.

显然, 我们需要求解这(1/1)(/1)h T τ+×+个点对应的函数值. 事实上由已知初边界条件蓝标附近的点可直接得到, 所以只要确定微分方程的解在其它点上的取值即可. 沿用记号[]k

(,)j j k u x t =。 u 2. 建立差分格式, 对于1

1,...1; 0,1,...,

1T

j k h

τ

=−=−, 用向前差商代

替关于时间的一阶偏导数, 用二阶中心差商代替关于空间的二阶偏导数, 则可定义最简显格式:

112

2k k k k k

1

j

j j j u u u u u h ++−+=

. 变形j τ

−−有:

1112

(12) (k k k k

j j j j u ru r u ru r h τ

+−+=+−+=

(4.1)

用向后差商代替关于时间的一阶偏导数, 用二阶中心差商代替关于空间的二阶偏导数, 则可定义最简显格式最简隐格式:

1

1112

2k k k k k j j

j j j u u u u u h τ

++++−−+=

1

1

+−1k

j +,变形有:

1111(12) k k k j j j ru r u ru u ++−−−++−= (4.2)

(4.1)*0.5+(4.2)*0.5得CN 格式为:

111112

222k k k k k k k k j j

j j j j j j u u u u u u u u h τ+++−+−−++−+=

11

1

++−1k

j +x x

变形有:

111111(22)(22) k k k k k j j j j j ru r u ru ru r u ru ++−−+−−++−=+−+ (4.3)

3 初边界点差分格式处理.对于初始条件u x (,0)sin , 01=π≤≤h 离散为

(4.4)

0sin 0,1,...1/j u jh j π==对于边界条件离散为

(0,)(1,)0, 0 u t u t t T ==≤≤00 0,1,.../k k N u u k T τ===

(4.5)

总结: 联立方程(4.1)(4.4)(4.5)得到已知问题的最简显格式差分方程组:

11100(12)1 1,...1; 0,1,...,1sin 0,1,...1/0 0,1,.../k k k k j j j j j

k k N u ru r u ru T j k h u jh j h u u k T τπτ

+−+⎧=+−+⎪

⎪=−=−⎪

⎪==⎪⎪===⎩ 联立方程(4.2)( 4.4)( 4.5)得到已知问题的最简隐格式差分方程组:

1111100(12) 1 1,...1; 0,1,...,1sin 0,1,...1/0 0,1,.../k k k k j j j j j

k k N ru r u ru u T j k h u jh j h u u k T τπτ

++−−+⎧−++−=⎪

⎪=−=−⎪

⎪==⎪⎪===⎩ 联立方程(4.3)( 4.4)( 4.5)得到已知问题的CN 格式差分方程组:

11111100(22)(22) 1 1,...1; 0,1,...,1sin 0,1,...1/0 0,1,.../k k k k k j j j j j j

k k N ru r u ru ru r u ru T j k h u jh j h u u k T τπτ

++−−+−⎧−++−=+−+⎪

⎪=−=−⎪⎨⎪==⎪⎪===⎩1k j + 4 求解并显示结果

利用软件计算(Matlab)如上最简显格式差分方程组.

h=1/10;tau=0.0025;T=0.5; r=tau/h^2;

M=1/h+1;N=T/tau+1; u=zeros(M,N);

for m=1:M

u(m,1)=sin((m-1)*h*pi); end

u(1,1:N)=0;u(M,1:N)=0;

for n=1:N-1

for m=2:M-1

u(m,n+1)=r*(u(m+1,n)+u(m-1,n))+(1-2*r)*u(m,n); end end u=u’ 这样我们就计算出不同时刻不同位置k t j x 对应的函数值(,)j k u x t 取tau=0.0025, 即r=0.25绘图, 取tau=0.01, r=1再绘图,如图()

相关文档
最新文档