|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Transformer
ptolemy.actor.lib.LinearDifferenceEquationSystem
public class LinearDifferenceEquationSystem
Linear Difference Equation System.
The linear state-space model implements a system whose behavior is defined by:
x(k+1) = Ax(k) + Bu(k) y(k) = Cx(k) + Du(k) x(0) = x0where x is the state vector, u is the input vector, and y is the output vector. (Note that in Ptolemy II, vectors are double matrices with one column or one row.) The matrix coefficients must have the following characteristics:
A must be an n-by-n matrix, where n is the number of states. B must be an n-by-m matrix, where m is the number of inputs. C must be an r-by-n matrix, where r is the number of outputs. D must be an r-by-m matrix.For each firing, the actor accepts one input DoubleMatrixToken of dimension m x 1, and generates one output DoubleMatrixToken of dimension r x 1.
In addition to producing the output y through port output, the actor also produce the state values x through port state.
Yellow (celaine) |
Yellow (celaine) |
Nested Class Summary |
---|
Nested classes/interfaces inherited from class ptolemy.kernel.Entity |
---|
Entity.ContainedObjectsIterator |
Field Summary | |
---|---|
private boolean |
_initialStateChanged
|
private boolean |
_singleOutput
|
private boolean |
_singleState
|
private Token |
_x
|
private Token |
_xPrime
|
Parameter |
A
The A matrix in the state-space representation. |
Parameter |
B
The B matrix in the state-space representation. |
Parameter |
C
The C matrix in the state-space representation. |
Parameter |
D
The D matrix in the state-space representation. |
Parameter |
initialStates
The initial condition for the state variables. |
TypedIOPort |
state
Output port that produces DoubleMatrixToken of dimension r x 1 (see class comment). |
Fields inherited from class ptolemy.actor.lib.Transformer |
---|
input, output |
Fields inherited from class ptolemy.actor.AtomicActor |
---|
_actorFiringListeners, _initializables, _notifyingActorFiring, _stopRequested |
Fields inherited from class ptolemy.kernel.util.NamedObj |
---|
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Fields inherited from interface ptolemy.actor.Executable |
---|
COMPLETED, NOT_READY, STOP_ITERATING |
Constructor Summary | |
---|---|
LinearDifferenceEquationSystem(CompositeEntity container,
java.lang.String name)
Construct an actor with the given container and name. |
Method Summary | |
---|---|
void |
attributeChanged(Attribute attribute)
If the argument is A, B, C, D or initialStates parameters, check that they are indeed matrices and vectors, and request initialization from the director if there is one. |
void |
fire()
Consume the input token, compute the system response, and produce outputs. |
boolean |
postfire()
Update the internal state. |
boolean |
prefire()
If the parameter initialStates has changed, then update the internal state of this actor to be the value of the initialStates parameter. |
void |
preinitialize()
Check the dimension of all parameters. |
Methods inherited from class ptolemy.actor.TypedAtomicActor |
---|
_addPort, _fireAt, _fireAt, attributeTypeChanged, clone, newPort, typeConstraintList, typeConstraints |
Methods inherited from class ptolemy.kernel.ComponentEntity |
---|
_adjustDeferrals, _checkContainer, _getContainedObject, _propagateExistence, getContainer, instantiate, isAtomic, isOpaque, moveDown, moveToFirst, moveToIndex, moveToLast, moveUp, propagateExistence, setName |
Methods inherited from class ptolemy.kernel.Entity |
---|
_description, _exportMoMLContents, _removePort, _validateSettables, connectedPortList, connectedPorts, containedObjectsIterator, getAttribute, getPort, getPorts, linkedRelationList, linkedRelations, portList, removeAllPorts, setClassDefinition, uniqueName |
Methods inherited from class ptolemy.kernel.InstantiableNamedObj |
---|
_setParent, exportMoML, getChildren, getElementName, getParent, getPrototypeList, isClassDefinition, isWithinClassDefinition |
Methods inherited from class java.lang.Object |
---|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface ptolemy.actor.Actor |
---|
createReceivers, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, newReceiver, outputPortList |
Methods inherited from interface ptolemy.actor.Executable |
---|
isFireFunctional, isStrict, iterate, stop, stopFire, terminate |
Methods inherited from interface ptolemy.actor.Initializable |
---|
addInitializable, initialize, removeInitializable, wrapup |
Methods inherited from interface ptolemy.kernel.util.Nameable |
---|
description, getContainer, getDisplayName, getFullName, getName, getName, setName |
Methods inherited from interface ptolemy.kernel.util.Derivable |
---|
getDerivedLevel, getDerivedList, propagateValue |
Field Detail |
---|
public TypedIOPort state
public Parameter A
public Parameter B
public Parameter C
public Parameter D
public Parameter initialStates
private Token _x
private Token _xPrime
private boolean _initialStateChanged
private boolean _singleOutput
private boolean _singleState
Constructor Detail |
---|
public LinearDifferenceEquationSystem(CompositeEntity container, java.lang.String name) throws IllegalActionException, NameDuplicationException
container
- The container.name
- The name of this actor.
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.Method Detail |
---|
public void attributeChanged(Attribute attribute) throws IllegalActionException
attributeChanged
in class NamedObj
attribute
- The attribute that changed.
IllegalActionException
- If the numerator and the
denominator matrix is not a row vector.public void fire() throws IllegalActionException
fire
in interface Executable
fire
in class AtomicActor
IllegalActionException
- If the get() or send() methods
of the ports throw this exception.public boolean postfire() throws IllegalActionException
postfire
in interface Executable
postfire
in class AtomicActor
IllegalActionException
- If thrown by the super class.public boolean prefire() throws IllegalActionException
prefire
in interface Executable
prefire
in class AtomicActor
IllegalActionException
- If initialStates
parameter is invalid, or if the base class throws it.public void preinitialize() throws IllegalActionException
preinitialize
in interface Initializable
preinitialize
in class AtomicActor
IllegalActionException
- If the dimensions do not
match.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES All Classes | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |