DUNE: Uniform Navigational Environment  2016.05.0
DUNE::Control::LinearSystem Class Reference


class  Error

Public Member Functions

 LinearSystem (void)
 LinearSystem (const Math::Matrix &a, const Math::Matrix &b, const Math::Matrix &c, const Math::Matrix &d, double Ts=0)
LinearSystemc2d (double Ts)
LinearSystemappend (const LinearSystem &a_sys, short n)
Math::Matrix simLinearSystem (const Math::Matrix &a_u, double threshold)
const Math::MatrixgetA (void) const
const Math::MatrixgetB (void) const
const Math::MatrixgetC (void) const
const Math::MatrixgetD (void) const
const Math::MatrixgetX0 (void) const
const Math::MatrixgetY0 (void) const
short getIn (void) const
short getOut (void) const
short getSt (void) const
double getTs (void) const
void setX0 (Math::Matrix &a_x0)


DUNE_DLL_SYM std::ostream & operator<< (std::ostream &os, const LinearSystem &sys)

Constructor & Destructor Documentation

DUNE::Control::LinearSystem::LinearSystem ( void  )

Default Constructor for a null system.

DUNE::Control::LinearSystem::LinearSystem ( const Math::Matrix a,
const Math::Matrix b,
const Math::Matrix c,
const Math::Matrix d,
double  Ts = 0 

Member Function Documentation

LinearSystem & DUNE::Control::LinearSystem::append ( const LinearSystem a_sys,
short  n 

Append a linear systems n times (increasing it's dimention)

References DUNE::Math::Matrix::blkDiag(), getA(), getB(), getC(), getD(), getIn(), getOut(), getSt(), getTs(), getX0(), getY0(), and DUNE::Math::Matrix::vertCat().

LinearSystem & DUNE::Control::LinearSystem::c2d ( double  Ts)

Converts a continuous system to it's discrete representation.

References DUNE::Math::Matrix::expmts().

const Math::Matrix& DUNE::Control::LinearSystem::getA ( void  ) const

Retrive A matrix.

Referenced by append().

const Math::Matrix& DUNE::Control::LinearSystem::getB ( void  ) const

Retrive B matrix.

Referenced by append().

const Math::Matrix& DUNE::Control::LinearSystem::getC ( void  ) const

Retrive C matrix.

Referenced by append().

const Math::Matrix& DUNE::Control::LinearSystem::getD ( void  ) const

Retrive D matrix.

Referenced by append().

short DUNE::Control::LinearSystem::getIn ( void  ) const

Retrive number of inputs.

Referenced by append().

short DUNE::Control::LinearSystem::getOut ( void  ) const

Retrive number of outputs.

Referenced by append().

short DUNE::Control::LinearSystem::getSt ( void  ) const

Retrive number of states.

Referenced by append().

double DUNE::Control::LinearSystem::getTs ( void  ) const

Retrive discretization time step.

Referenced by append().

const Math::Matrix& DUNE::Control::LinearSystem::getX0 ( void  ) const

Retrive currrent state vector (X0)

Referenced by append().

const Math::Matrix& DUNE::Control::LinearSystem::getY0 ( void  ) const

Retrive current output vector (Y0)

Referenced by append().

void DUNE::Control::LinearSystem::setX0 ( Math::Matrix a_x0)

Set currrent state vector (X0)

Matrix DUNE::Control::LinearSystem::simLinearSystem ( const Math::Matrix a_u,
double  threshold 

Simulates a linear systems at the current time step considering the current state m_X0 before simulating and updates both m_X0 and m_Y0 respectively with the new state and output.

a_uthe control input
thresholdinput output difference threshold for conditional state update. Will not update state if difference is larger than threshold
m_Y0 the output

References DUNE::Math::Matrix::columns(), and DUNE::Math::Matrix::rows().

Friends And Related Function Documentation

DUNE_DLL_SYM std::ostream& operator<< ( std::ostream &  os,
const LinearSystem sys 

LinearSystem print.

Collaboration diagram for DUNE::Control::LinearSystem:
Collaboration graph