如何在'pdepe'中使用NxM矩阵作为初始条件

时间:2019-05-28 16:12:54

标签: matlab matrix boundary cppdepend

我正在使用pdepe求解器同时解决4个PDE。现在我想将解决方案用作下一步的初始边界条件,例如u0(1,:)= sol(end,:,1) 只要我仅对初始条件使用一个值,例如u0(1)= sol(end,end,1),但是一旦我尝试了整个向量,就会失败。

实际上,这似乎非常相似,但在我的情况下不起作用: How can I use NxM matrix to be my initial condition in `pdepe`

sol = pdepe(m,...,@(x)icfun(x,sol)...
...

%icfun
u0=icfun(x,sol)

u0(1,:)=sol(end,:,1)
u0(2,:)=sol(end,:,2)
u0(3,:)=sol(end,:,3)
u0(4,:)=sol(end,:,4)

end

没有用的是上面链接中关于我的解释方式的提示。

A=sol;
a=sol(end,:,1);

sol = pdepe(m,...,@(x)interp1(a,A',x,'pchip')'....

我希望能够将矢量用作一个pde的初始边界条件,这将为4个PDE提供NxM矩阵。而是会出现错误,指出初始边界条件必须是列向量。

'使用pdepe时出错(第231行) ICFUN的输出无效。 ICFUN必须返回列向量。'

如何交出整个向量而不是单个值?

0 个答案:

没有答案