Diffusing equations 古典隐格式取θ=1 1 +(1+2r)+1-r+1=ve 0 截断误差是 R=O(T +h 与显格式不同的是:每求一层(下一个时间点)的 解,都需要求解一个代数方程。 Na diffe3.tex-微分方程数值解一陈文斌-21/4/2003-17:00-p6/29
Diffusing equations ; Û ª θ = 1 − ru j+1 i+1 + (1 + 2 r ) u j+1 i − ru j+1 i − 1 = u j i u 0 i = φ i u j 0 = u j N = 0 ä Ø ´ R j i = O ( τ + h 2 ) w ª Ø Ó ´µz ¦ £ e m : ¤ ) § Ñ I ¦ ) ê § " NA˙diffc3.tex – © § ê ) – © R – 21/4/2003 – 17:00 – p.6/29
Diffusing equations Crank-Nicholson格式取 1+(1+7) +1 T-20 l+1+(1-7)2+ 0 截断误差是B=O(72+12)与显格式不同的是:每 求一层(下一个时间点)的解,都需要求解一个代 数方程。 Na diffe3.tex-微分方程数值解一陈文斌-21/4/2003-17:00-p.729
Diffusing equations Crank-Nicholson ª θ = 1 2 − r 2 u j+1 i+1 + (1 + r ) u j+1 i − r 2 u j+1 i − 1 = r 2 u j i+1 + (1 − r ) u j i + r 2 u j i − 1 u 0 i = φ i u j 0 = u j N = 0 ä Ø ´ R j i = O ( τ 2 + h 2 ) w ª Ø Ó ´µz ¦ £ e m : ¤ ) § Ñ I ¦ ) ê § " NA˙diffc3.tex – © § ê ) – © R – 21/4/2003 – 17:00 – p.7/29
Diffusing equations 边界条件的离散这里我们不做特殊的处理,比方 说: 第一类边界条件:0=0=0(=0,1, 第三类边界条件:假设在右端点 +ak=0 0.1 Na diffe3.tex-微分方程数值解一陈文斌-21/4/2003-17:00-p.8/29
Diffusing equations > . ^ l Ñ ù p · Ø A Ï ? n § ' `µ 1 a > . ^ µu j 0 = u j N = 0,( j = 0, 1, . . . ) 1 n a > . ^ µb 3 mà: u j N − u j N − 1 h + αu j N = 0, j = 0, 1, 2, . . . NA˙diffc3.tex – © § ê ) – © R – 21/4/2003 – 17:00 – p.8/29
Method of separation of variables 考虑初边值问题 (, t)=karr(a, t), 0<a<L,t>0 (0,t)=0,u(L,t)=0,t>0 (x,0)=f(x),0<x<L 我们试着去找解 (a, t)=X(c)T( 代入方程,有 T(t) X(a) X(x)(t)=kX"(x)(t)→ 程数值解 03-17:00-p.929
Method of separation of variables Ä Ð > ¯ K u t (x, t) = kuxx (x, t ), 0 < x < L, t > 0 u(0, t) = 0, u (L, t) = 0, t > 0 u (x, 0) = f ( x ), 0 < x < L · Á X é ) u (x, t) = X ( x ) T ( t ) \ § § k X ( x ) T 0 ( t) = kX00 ( x ) T ( t ) ⇒ 1 k T 0 ( t ) T ( t ) = X00 ( x ) X ( x ) NA˙diffc3.tex – © § ê ) – © R – 21/4/2003 – 17:00 – p.9/29
Method of separation of variables 注意到方程两边分别是t和x的函数,所以两边只能是 常数,设为一入 1T(t) X"(a 入 k t(t) X( 这样我们就得到 X(x)+入X(x)=00<x<L T(t)+kT(t)=0t>0 NA diffe3tex-微分方程数值解-陈文斌-21/4/2003-17:00-p.1029
Method of separation of variables 5 ¿ § ü > © O ´ t Ú x ¼ ê § ¤ ± ü > U ´ ~ ê § − λ 1 k T 0 ( t ) T ( t ) = X00 ( x ) X ( x ) = − λ ù · Ò X00 ( x) + λX ( x) = 0 0 < x < L T 0 ( t) + λkT ( t) = 0 t > 0 NA˙diffc3.tex – © § ê ) – © R – 21/4/2003 – 17:00 – p.10/29