specifyCoefficients
本节描述如何编写的系数f
在方程中
或类似的方程。现在的问题是如何编写的系数f
通过包含在PDE模型specifyCoefficients
。
N在方程的数目,看见吗使用PDE工具箱方程可以解决。给f
是下面的:
如果f
是恒定的,给一个列向量N组件。例如,如果N= 3,f
可能是:
f = [3、4、10];
如果f
不是常数,给出一个函数处理。函数必须的形式
fcoeffunction(位置、状态)
solvepde
通过了位置
和状态
结构fcoeffunction
。函数必须返回一个矩阵的大小N——- - - - - -Nr,在那里Nr点位置的数量吗solvepde
传球。Nr等于的长度location.x
或任何其他位置
字段。这个函数应该评估f
在这些点。
传递系数specifyCoefficients
一个函数处理,如
specifyCoefficients(模型,“f”@fcoeffunction,…)
位置
是一种结构与这些字段:
location.x
location.y
location.z
location.subdomain
的字段x
,y
,z
代表了x- - - - - -,y- - - - - -,z——的点的坐标函数计算系数值。的子域名
字段表示的子域数字,目前仅适用于二维模型。位置字段是行向量。
状态
是一种结构与这些字段:
state.u
state.ux
state.uy
state.uz
state.time
的state.u
字段表示解决方案的当前值u。的state.ux
,state.uy
,state.uz
字段是解决方案的偏导数(∂的估计u/∂x,∂u/∂y,∂u/∂z)的对应点位置的结构。解决方案和梯度估计N——- - - - - -Nr矩阵。的state.time
字段是一个标量代表时间时间模型。
例如,如果N= 3,f
可能是:
函数f = fcoeffunction(位置、状态)N = 3;%的方程nr =长度(location.x);%的列数f = 0 (N, nr);f %分配现在% f的特定的函数形式:f(1) =位置。x -位置。y+state.u(1,:); f(2,:) = 1 + tanh(state.ux(1,:)) + tanh(state.uy(3,:)); f(3,:) = (5 + state.u(3,:)).*sqrt(location.x.^2 + location.y.^2);
这代表了系数函数