我正在使用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必须返回列向量。'
如何交出整个向量而不是单个值?