ODE Event Finding Accuracy
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Grant Hecht
am 19 Feb. 2021
Kommentiert: Grant Hecht
am 19 Feb. 2021
I'm working on a project that requires that I determine when an ODE event occurs with a very high degree of accuracy. Looking at MATLAB's documentation, I've been unable to find any information on how to set the error tollerance for the root finding method or exactly how accurate the root finding method used for determining event locations is.
Is it somehow possible to set abs/rel tollerance on the root finding method that MATLAB uses to determine where ODE events occur? I've recently been using the Julia programming language with it's DifferentialEquations.jl package which allows me to explicitly define the absolute and relative error tolorance for the Regula-Falsi root finding method used to determine where events occur. Ideally, I would like to do this exact thing with MATLABs ODE event handling.
1 Kommentar
Bjorn Gustavsson
am 19 Feb. 2021
Have you checked that it isn't good enough? For ballode I get the event-time to be accurate with a relative error of 2.75e-14...
Akzeptierte Antwort
Grant Hecht
am 19 Feb. 2021
Bearbeitet: Grant Hecht
am 19 Feb. 2021
2 Kommentare
Bjorn Gustavsson
am 19 Feb. 2021
If you write your own odezero function with identical behaviour you can at least hard-code the tolerance you need, and if this function is found before the odezero of Mathworks then yours will be used. This is obviously system-programming-wise a very dubious thing to do since you'll have to manually control which function to use/have been used. The legalities I don't know about, but as long as you dont sell or redustribute and don't copy the interior of the original function bu only the input-output?
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Ordinary Differential Equations finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!