9 template<
class T,
int internal_states,
int inputs=1,
int outputs=1>
34 const Eigen::Matrix<T, internal_states, internal_states>&
A,
35 const Eigen::Matrix<T, internal_states, inputs>&
B,
36 const Eigen::Matrix<T, outputs, internal_states>&
C,
37 const Eigen::Matrix<T, outputs, inputs>&
D = Eigen::Matrix<T, outputs, inputs>::Zero()
38 ) : _state_space(
A,
B,
C,
D){}
45 std::tuple<Eigen::Vector<T, internal_states>, Eigen::Vector<T, outputs>>
eval(
const Eigen::Vector<T, internal_states>& x,
const Eigen::Vector<T, inputs>& u)
const {
46 this->_state_space(x, u);
49 template<std::same_as<T> U>
51 std::tuple<Eigen::Vector<U, internal_states>, Eigen::Vector<U, outputs>>
eval(
const Eigen::Vector<U, internal_states>& x,
const U& u_scalar)
const {
52 this->_state_space(x, u_scalar);
74 template<
class T,
int NumOrder,
int DenOrder>
82 template<
class T,
int NumOrder,
int DenOrder>
90 template<
class T,
int NumOrder,
int DenOrder>
100 template<
class T,
int states>
Definition ContinuousStateSpace.hpp:10
static constexpr int number_of_outputs
Definition ContinuousStateSpace.hpp:23
typename state_space_type::A_matrix_type A_matrix_type
Definition ContinuousStateSpace.hpp:16
ContinuousStateSpace & operator=(const ContinuousStateSpace &)=default
std::tuple< Eigen::Vector< T, internal_states >, Eigen::Vector< T, outputs > > eval(const Eigen::Vector< T, internal_states > &x, const Eigen::Vector< T, inputs > &u) const
Definition ContinuousStateSpace.hpp:45
const B_matrix_type & B() const
Definition ContinuousStateSpace.hpp:61
typename state_space_type::D_matrix_type D_matrix_type
Definition ContinuousStateSpace.hpp:19
StateSpace< T, internal_states, inputs, outputs > & state_space()
Definition ContinuousStateSpace.hpp:42
std::tuple< Eigen::Vector< U, internal_states >, Eigen::Vector< U, outputs > > eval(const Eigen::Vector< U, internal_states > &x, const U &u_scalar) const
Definition ContinuousStateSpace.hpp:51
typename state_space_type::B_matrix_type B_matrix_type
Definition ContinuousStateSpace.hpp:17
ContinuousStateSpace(const Eigen::Matrix< T, internal_states, internal_states > &A, const Eigen::Matrix< T, internal_states, inputs > &B, const Eigen::Matrix< T, outputs, internal_states > &C, const Eigen::Matrix< T, outputs, inputs > &D=Eigen::Matrix< T, outputs, inputs >::Zero())
Definition ContinuousStateSpace.hpp:33
typename state_space_type::C_matrix_type C_matrix_type
Definition ContinuousStateSpace.hpp:18
A_matrix_type & A()
Definition ContinuousStateSpace.hpp:55
const StateSpace< T, internal_states, inputs, outputs > & state_space() const
Definition ContinuousStateSpace.hpp:43
static constexpr int number_of_inputs
Definition ContinuousStateSpace.hpp:22
static constexpr int number_of_states
Definition ContinuousStateSpace.hpp:21
const C_matrix_type & C() const
Definition ContinuousStateSpace.hpp:62
const A_matrix_type & A() const
Definition ContinuousStateSpace.hpp:60
const D_matrix_type & D() const
Definition ContinuousStateSpace.hpp:63
T value_type
Definition ContinuousStateSpace.hpp:12
ContinuousStateSpace(const ContinuousStateSpace &)=default
ContinuousStateSpace(const StateSpace< T, internal_states, inputs, outputs > &state_space)
Definition ContinuousStateSpace.hpp:40
D_matrix_type & D()
Definition ContinuousStateSpace.hpp:58
B_matrix_type & B()
Definition ContinuousStateSpace.hpp:56
C_matrix_type & C()
Definition ContinuousStateSpace.hpp:57
friend std::ostream & operator<<(std::ostream &stream, const ContinuousStateSpace &css)
Definition ContinuousStateSpace.hpp:65
ContinuousStateSpace()=default
Continuous transfer functions in the s lapace plain.
Definition ContinuousTransferFunction.hpp:28
transfer_function_type & transfer_function()
Definition ContinuousTransferFunction.hpp:69
Eigen::Matrix< T, NStates, NInputs > B_matrix_type
Definition StateSpace.hpp:36
const A_matrix_type & A() const
Definition StateSpace.hpp:121
Eigen::Matrix< T, NOutputs, NStates > C_matrix_type
Definition StateSpace.hpp:37
const B_matrix_type & B() const
Definition StateSpace.hpp:122
const D_matrix_type & D() const
Definition StateSpace.hpp:124
Eigen::Matrix< T, NOutputs, NInputs > D_matrix_type
Definition StateSpace.hpp:38
const C_matrix_type & C() const
Definition StateSpace.hpp:123
Eigen::Matrix< T, NStates, NStates > A_matrix_type
Definition StateSpace.hpp:35
Definition TransferFunction.hpp:11
The main namespace for the Control++ library.
Definition Bode.cpp:3
ContinuousStateSpace< T, DenOrder, 1, 1 > to_continuous_state_space(const TransferFunction< T, NumOrder, DenOrder > &rp)
constructs a continuous state space function from a rational polynom
Definition ContinuousStateSpace.hpp:75
ContinuousTransferFunction< T, states+1, states+1 > to_transfer_function(const ContinuousStateSpace< T, states, 1, 1 > &dss)
Transforms a discrete state space system to a discrete transfer function.
Definition ContinuousStateSpace.hpp:101
ContinuousStateSpace< T, DenOrder, 1, 1 > to_state_space(const ContinuousTransferFunction< T, NumOrder, DenOrder > &ctf)
constructs a continuous state space function from a continuous transfer function
Definition ContinuousStateSpace.hpp:91