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.
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. |
LinearSystem::LinearSystem | ( | const LinearSystem & | ) |
Copy constructor.
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. |
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& 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 LimitedLinearSystem, and Integrator.
Calculate a single time step, return the output vector.
u | Input vector. |
Reimplemented in LimitedLinearSystem, and Integrator.
|
virtual |
Calculate a single time step, return the output vector.
u | Input variable. Only valid for SI systems. |
Reimplemented in LimitedLinearSystem, and Integrator.
Create a system from numerator, denominator input.
void 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.