编写方程代码
在编写方程代码之前,您需要按照 pdepe 求解器所需的形式对其进行重写。pdepe 所需的标准形式是
c(x,t,u,∂u∂x)∂u∂t=x-m∂∂x(xmf(x,t,u,∂u∂x))+s(x,t,u,∂u∂x).
PDE 方程已采用如下形式:
1x∂u∂t=∂∂x(1tu).
由此可知相关各项为:
m=0
c(x,t,u,∂u∂x)=1x
f(x,t,u,∂u∂x)=1tu
s(x,t,u,∂u∂x)=0
现在,您可以创建一个函数以编写方程代码。该函数应具有签名 [c,f,s] = oscpde(x,t,u,dudx):
x 是独立的空间变量。
t 是独立的时间变量。
u 是关于 x 和 t 微分的因变量。
dudx 是偏空间导数 ∂u/∂x。
输出 c、f 和 s 对应于 pdepe 所需的标准 PDE 形式中的系数。根据输入变量 x、t、u 和 dudx 对这些系数编写代码。
因此,此示例中的方程可以由以下函数表示:
function [c,f,s] = oscpde(x,t,u,dudx)
c = 1/x;
f = u/t;
s = 0;
end
(注意:所有函数都作为局部函数包含在示例的末尾。)
编写初始条件代码
接下来,编写一个返回初始条件的函数。初始条件应用于第一个时间值 tspan(1)。该函数应具有签名 u0 = oscic(x)。
u(x,0.1)=1 的对应函数是
f