利用MATLAB工具箱求解偏微分方程
MATLAB的pdepe
指令可以解决形如以下的偏微分方程:
[m frac{partial c}{partial t} + frac{partial }{partial x} left( f(x,t,u, frac{partial u}{partial x}) right) = s(x,t,u, frac{partial u}{partial x}) ]
其中,时间范围为 (0 leq t leq t_f), 空间范围为 (a leq x leq b)。参数m表示问题的对称性,可取0(平板)、1(圆柱)或2(球体)。当(m > 0)时,a必须等于b,表示圆柱或球体的对称性。
方程式中各项的含义如下:
- (f(x,t,u, frac{partial u}{partial x})) 表示流通量(flux)。
- (s(x,t,u, frac{partial u}{partial x})) 表示来源项(source)。
- (c(x,t,u, frac{partial u}{partial x})) 表示偏微分方程的对角线系数矩阵。对角线元素为0表示椭圆型偏微分方程,为正值表示抛物型偏微分方程。
离散化方法
类似于抛物型方程的处理方法,我们将xt平面剖分成矩形网格,x方向步长为h,t方向步长为τ。通过不同的差商近似偏导数,可以得到方程的不同差分格式,并结合离散化的初始条件,得到最终的差分格式。