|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| 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 NamedObjattribute - 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 Executablefire in class AtomicActorIllegalActionException - If the get() or send() methods
of the ports throw this exception.
public boolean postfire()
throws IllegalActionException
postfire in interface Executablepostfire in class AtomicActorIllegalActionException - If thrown by the super class.
public boolean prefire()
throws IllegalActionException
prefire in interface Executableprefire in class AtomicActorIllegalActionException - If initialStates
parameter is invalid, or if the base class throws it.
public void preinitialize()
throws IllegalActionException
preinitialize in interface Initializablepreinitialize in class AtomicActorIllegalActionException - If the dimensions do not
match.
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||