使用 linspace,但在 Runge-Kutta 方法中包含端点



我得到了一个步长h,用于实现高阶常微分方程的Runge-Kutta方法。从开始时间t_0到最终时间t_f划分间隔时,我的问题就来了。我想使用N = ceil((t_f-t_i)/h),然后使用

t = linspace(t_0, t_f, N)

但是我想在大部分过程中将 Runge-Kutta 算法使用的点保持 h 的间隔,有没有办法在前 n-1 步中将步长保持在 h 的同时包含端点t_f?我试过使用

t = t_0:h:t_f

但这并不总是包括端点t_f。

假设你想使用最大的N,使你的范围是t_0,t_0 + h,t_0 + 2*h,...,t_0 + h*(N-2(,t_f,你会使用t = [t_0 : h : t_f-eps t_f],其中eps是一个MATLAB函数,它给出了两个浮点数之间的最小距离。

请注意,这意味着您的最后两点可能非常接近。一般来说,如果你用

相关内容

最新更新