我有兴趣解决以下 PDE(热方程): 为了解决它,我将空间均匀地离散为段并将 PDE 转换为 ODE: 我可以使用任何 ODE 例程(例如 MATLAB 中的 ode45 或 ode15s)求解。对于我的问题的特殊情况,PDE 的 Neumann 边界条件取决于 u_k 本身的值即 在哪里
和是常数并且。
假设我正在使用一些数值 ODE 求解器(例如 MATLAB 中的 ode45)解决上述问题,并且有两个例程:odefun(我提供给求解器)来评估我定义的导数和odestep,求解器称之为在每个成功的集成步骤之后,我应该在哪里检查边界条件是否需要更改,在odefun或odestep 中?我问这个是因为求解器内部可能会使用odefun例程来评估 jacobian、错误等,理想情况下,我们不应该在集成步骤的中间更改边界条件,对吗?