|
DUECA/DUSIME
|
This class creates a linear time-invariant (control) system. More...

Public Member Functions | |
| LinearSystem () | |
| Default constructor. More... | |
| LinearSystem (const Vector &num, const Vector &den, double dt) | |
| This constructs a SISO system, on the basis of continuous time transfer function. More... | |
| LinearSystem (const LinearSystem &) | |
| Copy constructor. More... | |
| LinearSystem (const Matrix &A, const Matrix &B, const Matrix &C, const Matrix &D, double dt) | |
| This constructs a system, on the basis of a continuous time state space system. More... | |
| LinearSystem (const Matrix &phi, const Matrix &psi, const Matrix &C, const Matrix &D) | |
| This constructs a system, on the basis of a discrete time state space system. More... | |
| virtual | ~LinearSystem () |
| Destructor. More... | |
| LinearSystem & | operator= (const LinearSystem &o) |
| Assignment of one system to another. More... | |
| virtual void | acceptState (const Vector &x_new) |
| Accept a new state. More... | |
| virtual const Vector & | step (const Vector &u) |
| Calculate a single time step, return the output vector. More... | |
| virtual const Vector & | step (double u) |
| Calculate a single time step, return the output vector. More... | |
| virtual void | reset () |
| Reset the state to 0;. | |
| void | createFromNumDen (const Vector &num, const Vector &den, double dt) |
| Create a system from numerator, denominator input. More... | |
| void | createFromABCD (const Matrix &A, const Matrix &B, const Matrix &C, const Matrix &D, double dt) |
| Create from matrices. More... | |
| void | createFromPhiPsiCD (const Matrix &phi, const Matrix &psi, const Matrix &C, const Matrix &D) |
| Create from matrices, discrete. | |
| const Vector & | getY () const |
| Obtain the output vector. More... | |
| const Vector & | getX () const |
| Obtain the state vector. More... | |
| Vector & | getX () |
| Obtain the state vector for modification. More... | |
| const Matrix & | getPhi () const |
| Additional output, transition. More... | |
| const Matrix & | getPsi () const |
| Input matrix discrete system. More... | |
| const Matrix & | getC () const |
| Output matrix. More... | |
| const Matrix & | getD () const |
| Feedthrough matrix. More... | |
Protected Attributes | |
| unsigned | n |
| Order of the system. | |
| unsigned | m |
| Number of outputs. | |
| Matrix | Phi |
| Transition matrix. More... | |
| Matrix | Psi |
| Input matrix. More... | |
| Matrix | C |
| Output matrix. More... | |
| Matrix | D |
| Feedthrough matrix. More... | |
| Vector | x |
| The state vector. More... | |
| Vector | y |
| The output vector. More... | |
This class creates a linear time-invariant (control) system.
The system is transformed to state-space form if necessary, and discretized with the parameter dt.
| dueca::LinearSystem::LinearSystem | ( | ) |
Default constructor.
This constructs a SISO system, on the basis of continuous time transfer function.
| num | Numerator of the transfer function. Elements are arranged as num[0]*s^0 + num[1]*s^1 etc. |
| den | Denominator. |
| dt | Size, in seconds, of the discrete time step. |
| dueca::LinearSystem::LinearSystem | ( | const LinearSystem & | ) |
Copy constructor.
| dueca::LinearSystem::LinearSystem | ( | const Matrix & | A, |
| const Matrix & | B, | ||
| const Matrix & | C, | ||
| const Matrix & | D, | ||
| double | dt | ||
| ) |
This constructs a system, on the basis of a continuous time state space system.
| A | A matrix |
| B | B matrix |
| C | C matrix |
| D | D matrix |
| dt | Size, in seconds, of the discrete time step. |
| dueca::LinearSystem::LinearSystem | ( | const Matrix & | phi, |
| const Matrix & | psi, | ||
| const Matrix & | C, | ||
| const Matrix & | D | ||
| ) |
This constructs a system, on the basis of a discrete time state space system.
| phi | phi matrix |
| psi | psi matrix |
| C | C matrix |
| D | D matrix |
|
virtual |
Destructor.
| LinearSystem& dueca::LinearSystem::operator= | ( | const LinearSystem & | o | ) |
Assignment of one system to another.
|
virtual |
Accept a new state.
| x_new | Vector with the new state. |
Reimplemented in dueca::LimitedLinearSystem, and dueca::Integrator.
Calculate a single time step, return the output vector.
| u | Input vector. |
Reimplemented in dueca::LimitedLinearSystem, and dueca::Integrator.
|
virtual |
Calculate a single time step, return the output vector.
| u | Input variable. Only valid for SI systems. |
Reimplemented in dueca::LimitedLinearSystem, and dueca::Integrator.
Create a system from numerator, denominator input.
| void dueca::LinearSystem::createFromABCD | ( | const Matrix & | A, |
| const Matrix & | B, | ||
| const Matrix & | C, | ||
| const Matrix & | D, | ||
| double | dt | ||
| ) |
Create from matrices.
|
inline |
Obtain the output vector.
|
inline |
Obtain the state vector.
|
inline |
Obtain the state vector for modification.
|
inline |
Additional output, transition.
|
inline |
Input matrix discrete system.
|
inline |
Output matrix.
|
inline |
Feedthrough matrix.
|
protected |
Transition matrix.
|
protected |
Input matrix.
|
protected |
Output matrix.
|
protected |
Feedthrough matrix.
|
protected |
The state vector.
|
protected |
The output vector.