正在加载图片...
l(x,0)=v0(x) (36) 而边界条件为 p(x,t,)+q(x,1)f(x,1,u,ou/ax)=0 其中x为两端点位置,即a或b 用以解含上述初始值及边界值条件的偏微分方程的 MATLAB命令 pdepe的用法如 sol= pdepe(m, pdepe, icfun, bcfun, xmesh, tspan, options) 其中 m为问题之对称参数 xmesh为空间变量x的网格点(mesh)位置向量,即 xmesh=[x0,x1…,xx],其中 x0=a(起点),xN=b(终点) Ispan为时间变量t的向量,即spon=[,12…,lM],其中b为起始时间,t为 终点时间。 pdlm为使用者提供的pde函数文件。其函数格式如下 Ic,f, s]=pdefun(x, t, u, dudx) 亦即,使用者仅需提供偏微分方程中的系数向量。c,∫和s均为行( column)向量,而 向量c即为矩阵c的对角线元素。 ic/im提供解l的起始值,其格式为u= icfun(x)值得注意的是u为行向量。 bc/m使用者提供的边界条件函数,格式如下 pl, ql, pr, q]=bcfun(xl,ul, xr, ur;, 1) 其中和r分别表示左边界(xl=b)和右边界(xr=a)u的近似解。输出变量中,pl 和ql分别表示左边界p和q的行向量,而p和q则为右边界P和q的行向量。 sol为解答输出。sol为多维的输出向量,sol(;:i)为u1的输出,即u1=sol(;,) 元素1(,k)=sol(,k,1)表示在t=1spom()和x= xmesh(k)时u1之答案。 options为求解器的相关解法参数。详细说明参见 odeset的使用方法。 1. MATLAB PDE求解器 pdepe的算法,主要是将原来的椭圆型和拋物线型偏微分 方程转化为一组常微分方程。此转换的过程是基于使用者所指定的mesh点,以二阶空 间离散化( spatial discretization)技术为之 Keel and berzins,1990),然后以ode5的指令 求解。采用odel5s的ode解法,主要是因为在离散化的过程中,椭圆型偏微分方程被 转化为一组代数方程,而拋物线型的偏微分方程则被转化为一组联立的微分方程。因而 原偏微分方程被离散化后,变成一组同时伴有微分方程与代数方程的微分代数方程组 故以ode5s便可顺利求解。 2.x的取点(mesh)位置对解的精确度影响很大,若 pdepe求解器给出“…has difficulty finding consistent initial considition”的讯息时,使用者可进一步将mesh点取密 点,即增加mesh点数。另外,若状态u在某些特定点上有较快速的变动时,亦需将 此处的点取密集些,以增加精确度。值得注意的是 pdepe并不会自动做 xmesh的自动取 点,使用者必须观察解的特性,自行作取点的操作。一般而言,所取的点数至少需大于 3以上。 3. tspan的选取主要是基于使用者对那些特定时间的状态有兴趣而选定。而间距-248- ( , ) ( ) 0 0 u x t = v x (36) 而边界条件为 p(x,t,u) + q(x,t) f (x,t,u,∂u ∂x) = 0 (37) 其中 x 为两端点位置,即a 或b 用以解含上述初始值及边界值条件的偏微分方程的 MATLAB 命令 pdepe 的用法如 下: sol = pdepe(m, pdepe,icfun,bcfun, xmesh,tspan,options) 其中 m 为问题之对称参数; xmesh为空间变量 x 的网格点(mesh)位置向量,即 [ , , , ] 0 1 N xmesh = x x L x ,其中 x0 = a (起点), xN = b (终点)。 tspan 为时间变量t 的向量,即 [ , , , ] 0 1 M tspan = t t L t ,其中 0t 为起始时间, Mt 为 终点时间。 pdefun 为使用者提供的 pde 函数文件。其函数格式如下: [ ] c, f ,s = pdefun(x,t,u, dudx) 亦即,使用者仅需提供偏微分方程中的系数向量。c , f 和 s 均为行(column)向量,而 向量c 即为矩阵c 的对角线元素。 icfun 提供解u 的起始值,其格式为u = icfun(x) 值得注意的是u 为行向量。 bcfun 使用者提供的边界条件函数,格式如下: [ ] pl, ql, pr, ql = bcfun(xl,ul, xr,ur,t) 其中ul 和ur 分别表示左边界(xl = b)和右边界(xr = a) u 的近似解。输出变量中,pl 和 ql 分别表示左边界 p 和 q 的行向量,而 pr 和 qr 则为右边界 p 和 q 的行向量。 sol 为解答输出。 sol 为多维的输出向量, sol(:,: i) 为ui 的输出,即u sol(:,:,i) i = 。 元素u ( j, k) sol( j, k,i) i = 表示在t = tspan( j) 和 x = xmesh(k) 时ui 之答案。 options 为求解器的相关解法参数。详细说明参见 odeset 的使用方法。 注: 1. MATLAB PDE 求解器 pdepe 的算法,主要是将原来的椭圆型和拋物线型偏微分 方程转化为一组常微分方程。此转换的过程是基于使用者所指定的 mesh 点,以二阶空 间离散化(spatial discretization)技术为之(Keel and Berzins,1990),然后以 ode15s 的指令 求解。采用 ode15s 的 ode 解法,主要是因为在离散化的过程中,椭圆型偏微分方程被 转化为一组代数方程,而拋物线型的偏微分方程则被转化为一组联立的微分方程。因而, 原偏微分方程被离散化后,变成一组同时伴有微分方程与代数方程的微分代数方程组, 故以 ode15s 便可顺利求解。 2. x 的取点(mesh)位置对解的精确度影响很大,若 pdepe 求解器给出“…has difficulty finding consistent initial considition”的讯息时,使用者可进一步将 mesh 点取密 一点,即增加 mesh 点数。另外,若状态u 在某些特定点上有较快速的变动时,亦需将 此处的点取密集些,以增加精确度。值得注意的是 pdepe 并不会自动做 xmesh 的自动取 点,使用者必须观察解的特性,自行作取点的操作。一般而言,所取的点数至少需大于 3 以上。 3. tspan 的选取主要是基于使用者对那些特定时间的状态有兴趣而选定。而间距
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有