如何使用PDE工具箱中的变系数求解抛物型方程(Matlab)

如何使用PDE工具箱中的变系数求解抛物型方程(Matlab),matlab,pde,Matlab,Pde,我会尽量以更好的方式解释我的疑问: 我试图用PDE工具箱(Matlab)求解反应扩散方程,得到解(u)的语法是: 抛物-解抛物型偏微分方程问题 该MATLAB函数生成标量PDE问题的FEM公式的解决方案: u1=抛物线(u0,t列表,b,p,e,t,c,a,f,d) c、 a,f,d是抛物方程的系数: d(∂u/∂t)−∇⋅(c∇u)+au=f, 但我想要这个: u=parabolic(u0,tlist,b,p,e,t,c,@coeffunction,f,d); u0是初始解,tlist是一

我会尽量以更好的方式解释我的疑问:

我试图用PDE工具箱(Matlab)求解反应扩散方程,得到解(u)的语法是:

抛物-解抛物型偏微分方程问题

该MATLAB函数生成标量PDE问题的FEM公式的解决方案: u1=抛物线(u0,t列表,b,p,e,t,c,a,f,d)

c、 a,f,d是抛物方程的系数:

d(∂u/∂t)−∇⋅(c∇u)+au=f,
但我想要这个:

u=parabolic(u0,tlist,b,p,e,t,c,@coeffunction,f,d);
u0是初始解,tlist是一个时间向量数组,其中我记录了解,b对应于边界条件,(p,e,t)是网格元素,@coeffunction是对应于系数“a”的函数句柄


我的问题是:有人知道是否可以将“a”指定为与tlist相关的可变系数?

虽然不是PDE工具箱,但允许输入和求解具有非线性和时间相关系数的PDE。方程和边界表达式可以定义为常量或字符串表达式(包括时间、因变量、导数、空间维度坐标,甚至外部用户定义的Matlab函数)。例如,系数可以定义为

fea.coef = { 'coef1' [] [] 42 ;
             'coef2' [] [] '2*u-ux^2+sin(2*pi*t)' ;
             'coef3' [] [] 'my_fun(t)' };
其中,coef1-coef3可在方程和边界条件中自由使用。这显示了说明此方法的一个传热示例

对于反应扩散方程,您可能只需要使用对流-扩散-反应PDE方程,因为该方程预定义为enter

u*t
作为相应R系数的反应源项。如果您喜欢使用m-script文件,您可以将GUI模型导出为FEA model.m文本文件