39 using ODEIntegrator::integrate;
48 int getNumSteps()
const;
52 Workspace& getWorkspace(){
return workspace_; }
55 errc_t
integrate(ODE& ode,
double* y,
double& t,
double tf)
override;
58 errc_t
integrateStep(ODE& ode,
double* y,
double& t,
double tf)
override;
61 void resetWorkspace(
int dimension,
int stage);
69 void reset(
int dimension,
int stage);
virtual errc_t integrateStep(ODE &ode, double *y, double &t, double tf)=0
积分ODE一步
固定步长积分器工作空间
定义 ODEFixedStepIntegrator.hpp:65
int numSteps_
总步数(统计数据)
定义 ODEFixedStepIntegrator.hpp:72
int dimension_
状态向量维度
定义 ODEFixedStepIntegrator.hpp:73
int stage_
多步法阶数
定义 ODEFixedStepIntegrator.hpp:74
double * ymid_
每步中点状态向量
定义 ODEFixedStepIntegrator.hpp:79
double nextAbsStepSize_
下一步绝对步长,用于步长自适应调整
定义 ODEFixedStepIntegrator.hpp:80
double ** KArr_
多步法中间结果数组
定义 ODEFixedStepIntegrator.hpp:77
double * absErrPerLen_
每步绝对误差数组
定义 ODEFixedStepIntegrator.hpp:78
double smallestStepSize_
最小步长(统计数据)
定义 ODEFixedStepIntegrator.hpp:76
double largestStepSize_
最大步长(统计数据)
定义 ODEFixedStepIntegrator.hpp:75
固定步长积分器
定义 ODEFixedStepIntegrator.hpp:34
double getStepSize() const
获取步长
定义 ODEFixedStepIntegrator.hpp:42
const Workspace & getWorkspace() const
获取工作空间
定义 ODEFixedStepIntegrator.hpp:51
void setStepSize(double stepSize)
设置步长
定义 ODEFixedStepIntegrator.hpp:45
ODE 积分器
定义 ODEIntegrator.hpp:81
errc_t integrate(ODE &ode, double *y, double &t, double tf, std::vector< double > &xlist, std::vector< std::vector< double > > &ylist)
积分ODE
定义 ODEIntegrator.cpp:46
ODE工作空间
定义 ODEWorkspace.hpp:30