@PublicationReference(author="Norman S. Nise",title="Control Systems Engineering, Second Edition",type=Book,year=1995,pages={648,702},notes="Chapter 12") @PublicationReference(author="Wikipedia",title="Linear dynamical system",type=WebPage,year=2008,url="http://en.wikipedia.org/wiki/Linear_dynamical_system",notes="This Wikipedia page is simply horrible...") public class LinearDynamicalSystem extends AbstractStatefulEvaluator<Vector,Vector,Vector> implements VectorizableVectorFunction, VectorInputEvaluator<Vector,Vector>, VectorOutputEvaluator<Vector,Vector>
| Constructor and Description |
|---|
LinearDynamicalSystem()
Default constructor.
|
LinearDynamicalSystem(int inputDimensionality,
int stateDimensionality)
Creates a new instance of LinearDynamicalSystem.
|
LinearDynamicalSystem(int inputDimensionality,
int stateDimensionality,
int outputDimensionality)
Creates a new instance of LinearDynamicalSystem.
|
LinearDynamicalSystem(Matrix A,
Matrix B)
Creates a new instance of LinearDynamicalSystem
|
LinearDynamicalSystem(Matrix A,
Matrix B,
Matrix C)
Creates a new instance of LinearDynamicalSystem
|
| Modifier and Type | Method and Description |
|---|---|
LinearDynamicalSystem |
clone()
This makes public the clone method on the
Object class and
removes the exception that it throws. |
void |
convertFromVector(Vector parameters)
Converts the object from a Vector of parameters.
|
Vector |
convertToVector()
Converts the object to a vector.
|
Vector |
createDefaultState()
Creates a new default state object.
|
Vector |
evaluate(Vector input)
Evaluates the function on the given input and returns the output.
|
Matrix |
getA()
Getter for A.
|
Matrix |
getB()
Getter for B.
|
Matrix |
getC()
Getter for C.
|
int |
getInputDimensionality()
Gets the expected dimensionality of the input vector to the evaluator,
if it is known.
|
int |
getOutputDimensionality()
Gets the expected dimensionality of the output vector of the evaluator,
if it is known.
|
int |
getStateDimensionality()
Gets the dimensionality of the state.
|
void |
setA(Matrix A)
Setter for A.
|
void |
setB(Matrix B)
Setter for B.
|
void |
setC(Matrix C)
Setter for C.
|
java.lang.String |
toString() |
evaluate, getState, resetState, setStatepublic LinearDynamicalSystem()
public LinearDynamicalSystem(int inputDimensionality,
int stateDimensionality)
inputDimensionality - Dimensionality of the input Vectors.stateDimensionality - Dimensionality of the state Vectors.public LinearDynamicalSystem(int inputDimensionality,
int stateDimensionality,
int outputDimensionality)
inputDimensionality - Dimensionality of the input Vectors.stateDimensionality - Dimensionality of the state Vectors.outputDimensionality - Dimensionality of the output Vectors.public LinearDynamicalSystem(Matrix A, Matrix B)
A - System (Jacobian) matrix. Must be square.B - Input-gain matrix. Columns must equal A's rows.public LinearDynamicalSystem clone()
AbstractCloneableSerializableObject class and
removes the exception that it throws. Its default behavior is to
automatically create a clone of the exact type of object that the
clone is called on and to copy all primitives but to keep all references,
which means it is a shallow copy.
Extensions of this class may want to override this method (but call
super.clone() to implement a "smart copy". That is, to target
the most common use case for creating a copy of the object. Because of
the default behavior being a shallow copy, extending classes only need
to handle fields that need to have a deeper copy (or those that need to
be reset). Some of the methods in ObjectUtil may be helpful in
implementing a custom clone method.
Note: The contract of this method is that you must use
super.clone() as the basis for your implementation.clone in interface Vectorizableclone in interface VectorizableVectorFunctionclone in interface CloneableSerializableclone in class AbstractStatefulEvaluator<Vector,Vector,Vector>public Vector createDefaultState()
StatefulEvaluatorcreateDefaultState in interface StatefulEvaluator<Vector,Vector,Vector>public Vector evaluate(Vector input)
Evaluatorpublic Vector convertToVector()
VectorizableconvertToVector in interface Vectorizablepublic void convertFromVector(Vector parameters)
VectorizableconvertFromVector in interface Vectorizableparameters - The parameters to incorporate.public int getInputDimensionality()
VectorInputEvaluatorgetInputDimensionality in interface VectorInputEvaluator<Vector,Vector>public int getOutputDimensionality()
VectorOutputEvaluatorgetOutputDimensionality in interface VectorOutputEvaluator<Vector,Vector>public int getStateDimensionality()
public java.lang.String toString()
toString in class java.lang.Objectpublic Matrix getA()
public void setA(Matrix A)
A - System (Jacobian) matrix. Must be square.public Matrix getB()
public void setB(Matrix B)
B - Input-gain matrix. Columns must equal A's rows.public Matrix getC()
public void setC(Matrix C)
C - Output-selector matrix. Columns must equal A's rows.