![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Class template runge_kutta_cash_karp54Boost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp>
|
![]() | Home | Libraries | People | FAQ | More |
boost::numeric::odeint::runge_kutta_cash_karp54 — The Runge-Kutta Cash-Karp method.
// In header: <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp> template<typename State, typename Value = double, typename Deriv = State, typename Time = Value, typename Algebra = typename algebra_dispatcher< State >::algebra_type, typename Operations = typename operations_dispatcher< State >::operations_type, typename Resizer = initially_resizer> class runge_kutta_cash_karp54 : public boost::numeric::odeint::explicit_error_generic_rk< StageCount, Order, StepperOrder, ErrorOrder, State, Value, Deriv, Time, Algebra, Operations, Resizer > { public: // types typedef stepper_base_type::state_type state_type; typedef stepper_base_type::value_type value_type; typedef stepper_base_type::deriv_type deriv_type; typedef stepper_base_type::time_type time_type; typedef stepper_base_type::algebra_type algebra_type; typedef stepper_base_type::operations_type operations_type; typedef stepper_base_type::resizer_type resizer_typ; // construct/copy/destruct runge_kutta_cash_karp54(const algebra_type & = algebra_type()); // public member functions template<typename System, typename StateIn, typename DerivIn, typename StateOut, typename Err> void do_step_impl(System, const StateIn &, const DerivIn &, time_type, StateOut &, time_type, Err &); template<typename System, typename StateIn, typename DerivIn, typename StateOut> void do_step_impl(System, const StateIn &, const DerivIn &, time_type, StateOut &, time_type); template<typename StateIn> void adjust_size(const StateIn &); };
Метод Runge-Kutta Cash-Karp является одним из стандартных методов решения обычных дифференциальных уравнений, см.en.wikipedia.org/wiki/Cash-Karp_methods. Метод является явным и соответствует концепции Error Stepper. Контроль размера шага обеспечивается, но непрерывный выход не доступен для этого метода.
Этот класс происходит от explicit_error_stepper_base и наследует свой интерфейс через CRTP (текущий повторяющийся шаблон шаблона). Кроме того, это происходит отexplicit_error_generic_rk, который является общим алгоритмом Рунге-Кутта с оценкой ошибок. Для получения более подробной информации см. explicit_error_stepper_base иexplicit_error_generic_rk.
ФамилияГосударство
Тип государства.
имяЗначение=двойное
Тип ценности.
ИмяПроисхождение=Государство
Тип, представляющий временную производную от государства.
ИмяВремя=Значение
Время, представляющее независимую переменную — время.
имя типаАлгебра=имя типаалгебра_диспетчер<Состояние>::алгебра_тип
Тип алгебры.
typenameOperations=typenameoperations_dispatcher<State>::operations_type
The operations type.
ИмяResizer=Первоначально_resizer
Тип политики резизера.
runge_kutta_cash_karp54
public
construct/copy/destructrunge_kutta_cash_karp54constalgebra_type&алгебра=алгебра_type];Конструирует класс
runge_kutta_cash_karp54
. Этот конструктор может быть использован в качестве конструктора по умолчанию, если алгебра имеет конструктор по умолчанию.Параметры: |
|
runge_kutta_cash_karp54
public member functionsdxdt
в
в моментt
передается способу. Результат обновляется неуместно, следовательно, вход вв
и выход виз
. Кроме того, оценка ошибки хранится вxerr
.do_step_impl
используется явной_error_stepper_base.Параметры: |
|
шаблон<типовое имя,типовое имяStateIn,типовое имяDerivIn,типовое имяStateOut>voiddostep_impl
dxdt
изв
в моментt
передается способу. Результат обновляется неуместно, следовательно, вход вв
и выход вв
. Доступ к этой функциональности шага обеспечивается с помощью явного_stepper_base иdo_step_impl
не должен называться напрямую.Параметры: |
|
шаблон<имя типаStateIn>voidadjust_sizeconstStateIn&x;Отрегулируйте размер всех времен в шагу вручную.
Параметры: |
|
Статья Class template runge_kutta_cash_karp54 раздела Chapter 1. Boost.Numeric.Odeint Header <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Header <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.hpp> ::
реклама |