51 virtual errc_t
evaluate(
const double* y,
double* dy,
double t) = 0;
55 errc_t
evaluate(
const double t,
const double* y,
double* dy){
return evaluate(y, dy, t);}
63template<
typename Func>
68 : func_(std::move(func))
76 errc_t
evaluate(
const double* y,
double* dy,
double t)
override {
77 return func_(y, dy, t);
88template<
typename Func>
95template<
typename Func>
泛型常微分方程
定义 OrdinaryDifferentialEquation.hpp:65
errc_t evaluate(const double *y, double *dy, double t) override
计算常微分方程在给定时间点和状态下的导数。
定义 OrdinaryDifferentialEquation.hpp:76
int getDimension() const override
获取微分方程的维度。
定义 OrdinaryDifferentialEquation.hpp:72
常微分方程基接口
定义 OrdinaryDifferentialEquation.hpp:33
virtual int getDimension() const =0
获取微分方程的维度。
A_ALWAYS_INLINE errc_t evaluate(const double t, const double *y, double *dy)
兼容性处理
定义 OrdinaryDifferentialEquation.hpp:55
virtual errc_t evaluate(const double *y, double *dy, double t)=0
计算常微分方程在给定时间点和状态下的导数。
ODEGeneric< Func > make_ode(Func func, int dim)
创建一个常微分方程
定义 OrdinaryDifferentialEquation.hpp:89