我已经得到了一个步长h,用于实现高阶常微分方程的Runge-Kutta方法。我的问题出现在划分从开始时间t_0到最终时间t_f的时间间隔时。
t = linspace(t_0, t_f, N)但我想让龙格-库塔算法使用的点在大多数过程中都以h为间隔,有没有办法在前n-1步中保持步长为h的同时包含端点t_f?我试着用
t = t_0:h:t_f但这并不总是包括端点t_f。
发布于 2015-08-07 19:03:25
假设您想使用最大的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函数,它给出了两个浮点数之间的最小距离。
请注意,这意味着您的最后两个点可能非常接近。通常,如果您使用< h来编写t = [t_0 : h : t_f-a t_f],那么最后两个点之间的距离将在区间[a,h+a)中。
https://stackoverflow.com/questions/31867761
复制相似问题