Корневое нахождение и нахождение нулевого пересечения ОДУ с помощью SOLVE-IVP - PullRequest
0 голосов
/ 28 апреля 2019

Я искал способ найти точку, в которой дифференциальное уравнение меняет знак, это может быть пересечение нуля или поиск корня.

Кто-то сказал мне использовать Brent's Method, но это былоне точный.Например, рисунок обрезает ноль в 0.12, но метод получает что-то вроде 0.19 или более, что недопустимо.

Теперь я нашел этот алгоритм scipy.integrate.solve_ivp ,в этом методе утверждается, что The solver looks for a sign change over each step, so if multiple zero crossings occur within one step, events may be missed.

Я не понимал, как это сделать.

Рассмотрим, что у нас есть дифференциальное уравнение

dE/dz = f(E,z)

Мы знаем ответиз dE/dz мы знаем начальную точку E0, но мы хотели бы знать, в каком z у нас есть ответ dE/dz.поэтому мы должны получить значение z, что приводит к ответу dE/dz

Любая помощь, пожалуйста?

Спасибо

...