Program Listing for File parameter_dynamics.h¶
↰ Return to documentation for file (dynamics/parameter_dynamics.h)
#pragma once
#include "lupnt/dynamics/dynamics.h"
#include "lupnt/states/params.h"
namespace lupnt {
class ParameterDynamics : public Dynamics {
public:
ParameterDynamics() = default;
ParameterDynamics(Config& config) : Dynamics(config) {}
State Propagate(const State& x0, Real t0, Real tf, const State* u = nullptr) override {
(void)t0;
(void)tf;
(void)u;
return x0; // Parameters are constant
}
State Propagate(const State& x0, Real t0, Real tf, const State* u, MatXd* stm) override {
(void)t0;
(void)tf;
(void)u;
if (stm != nullptr) {
*stm = MatXd::Identity(x0.size(), x0.size());
}
return x0; // Parameters are constant
}
StateType GetStateType() const override { return "Params"; }
};
} // namespace lupnt