一 使用变步长
https://ww2.mathworks.cn/matlabcentral/answers/92961-how-do-i-use-a-fixed-step-size-with-ode23-and-ode45-in-matlab
1.1 问题
I would like to use the ODE23 and ODE45 ordinary differential equation solver functions with a fixed step size.
How do I do this in MATLAB?
1.2 解释以及思路
1 缓慢的原因是因为不满足tol,导致步长十分小
2 解决方法之一是提供雅可比矩阵(这个很多时候都做不到)
3 解决方法之二 是使用fix step,但是可能会导致精度不够,或者可能会出错
ODE23 and ODE45 are MATLAB’s ordinary differential equation solver functions. ODE23 is based on the integration method, Runge Kutta23, and ODE45 is based on the integration method, Runge Kutta45. The way that ODE23 and ODE45 utilize these methods is by selecting a point, taking the derivative of the function at that point, checking to see if the value is greater than or less than the tolerance, and altering the step size accordingly. These in