how to output quantities involving time derivatives in pdepe
2 次查看(过去 30 天)
显示 更早的评论
pdeval only seems to output the solution and the spatial derivative of the solution via [~,dudx]=pdeval(m,x,sol(i,:,1),x). It seems it's no use putting dudt in as in [~,dudt]=pdeval(m,x,sol(i,:,1),x). How to output quantities involving time derivatives of the solution and the like?
0 个评论
采纳的回答
Torsten
2024-2-13
编辑:Torsten
2024-2-13
You don't have access to the spatial discretization of pdepe, thus no access to the exact time derivatives. But if you choose the output vector t fine enough, you can use the usual finite difference quotient in time:
dersol_t(i,:) = (sol(i+1,:,1)-sol(i,:,1))/(t(i+1)-t(i))
Maybe "deval" also works - I'm not sure. You can test it.
2 个评论
Torsten
2024-2-13
You can attain higher order accuracy if you use more accurate difference formulae than the simple Euler forward I suggested. I think "deval" can't do better - at least if the ode integrator with which the results were achieved is not known to "deval" by the sol structure.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Ordinary Differential Equations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!