is it possible to change step size of "ode45" ?

23 次查看(过去 30 天)
hi
I was wondering can I change step size of "ode45"? If I am not wrong, the default step size taken by Matlab is 1. I want to make 1/2. how can I change without changing many things in Matlab code. If I assign an "option", is that enough? any other options?
thanks
  1 个评论
Jan
Jan 2018-11-22
No, the default step size of ODE45 is not 1. There is not even a default step size. See Torsten's answer: The step size is controlled such, that the provided tolerances are kept.
With using a vector as tspan, you can define the steps in the output, but this is not the internally used step size.

请先登录,再进行评论。

采纳的回答

Torsten
Torsten 2018-11-22
编辑:Torsten 2018-11-22
The stepsize of ode45 is not constant, but chosen such that the error tolerances you prescribe are met. Thus mean step size can only be controlled indirectly by strengthening (-> smaller stepsize) or weakening (-> larger stepsize) the error tolerances RelTol and AbsTol.
Or do you mean changing the time instants when MATLAB supplies the solution ?
  3 个评论
Torsten
Torsten 2024-5-24
编辑:Torsten 2024-5-25
You should define the output times you want before calling ode45 in the array "tspan" and call the solver with this array of values. Then the solution will be supplied at these requested output times.
Steven Lord
Steven Lord 2024-5-26
From the description of the tspan input argument on the ode45 documentation page: "If tspan has more than two elements [t0,t1,t2,...,tf], then the solver returns the solution evaluated at the given points. However, the solver does not step precisely to each point specified in tspan. Instead, the solver uses its own internal steps to compute the solution, and then evaluates the solution at the requested points in tspan. The solutions produced at the specified points are of the same order of accuracy as the solutions computed at each internal step." [Emphasis added.]

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Ordinary Differential Equations 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by