Какой механизм расчета ODE использует вычисления в шаговой функции для интерполяции? - PullRequest
2 голосов
/ 04 октября 2011

Я усредняю ​​данные по нескольким решениям ODE с различными начальными условиями, поэтому важно, чтобы все решения имели значения в одно и то же время;например, с шагом 0,01.

я использовал процедуры ODE из числовых рецептов 3 (nr3).они делают адаптивный размер-шаг и используют вычисленные значения для того же порядка интерполяции.я не могу использовать их, потому что они конфликтуют с наддувом.Есть ли другие подобные процедуры?

Я посмотрел на GSL, это очень хорошо, но у него нет встроенной интерполяции.Один из способов, которым я могу это сделать - это решить ODE с адаптивным размером, а затем запустить интерполяцию Акимы.Но кажется, что решение nr3 будет быстрее и точнее.

Ответы [ 2 ]

1 голос
/ 01 ноября 2011

Вы можете использовать odeint . Он имеет Dopri5, Rosenbrock4 и Burlish-Stoer для плотного вывода.

1 голос
/ 05 октября 2011

Я использовал DOPRI5 из http://www.unige.ch/~hairer/software.html с плотным выводом = интерполяция. Я нашел это надежным. Я использовал оригинальную версию (на Фортране); на той же веб-странице есть версия C, которую я сам не использовал, но, похоже, я помню, что люди были довольны ею.

...