ptolemy.actor.lib.colt
Class ColtExponential
java.lang.Object
ptolemy.kernel.util.NamedObj
ptolemy.kernel.InstantiableNamedObj
ptolemy.kernel.Entity
ptolemy.kernel.ComponentEntity
ptolemy.actor.AtomicActor
ptolemy.actor.TypedAtomicActor
ptolemy.actor.lib.Source
ptolemy.actor.lib.RandomSource
ptolemy.actor.lib.colt.ColtRandomSource
ptolemy.actor.lib.colt.ColtExponential
- All Implemented Interfaces:
- java.io.Serializable, java.lang.Cloneable, Actor, Executable, FiringsRecordable, Initializable, TypedActor, Changeable, Debuggable, DebugListener, Derivable, Instantiable, ModelErrorHandler, MoMLExportable, Moveable, Nameable
public class ColtExponential
- extends ColtRandomSource
Produce a random sequence with a Exponential distribution. On each
iteration, a new random number is produced. The output port is of
type DoubleToken. The values that are generated are independent
and identically distributed with the lambda and the standard
deviation given by parameters. In addition, the seed can be
specified as a parameter to control the sequence that is generated.
This actor instantiates a
cern.jet.random.Exponential object with
lambda set to 1.0. The distribution is defined as
p(x) = lambda*exp(-x*lambda) for x >= 0, lambda > 0
The above description of Exponential is
copyrighted.
A definition of the Exponential distribution can be found at
http://www.cern.ch/RD11/rkb/AN16pp/node78.html#SECTION000780000000000000000
- Since:
- Ptolemy II 4.1
- Version:
- $Id: ColtExponential.java 57040 2010-01-27 20:52:32Z cxh $
- Author:
- David Bauer and Kostas Oikonomou (contributor: Edward A. Lee)
- See Also:
- Serialized Form
- Accepted Rating:
- Proposed Rating:
Field Summary |
private double |
_current
The random number for the current iteration. |
private cern.jet.random.Exponential |
_generator
The random number generator. |
PortParameter |
lambda
The mean value of the exponential. |
Fields inherited from class ptolemy.kernel.util.NamedObj |
_changeListeners, _changeLock, _changeRequests, _debugging, _debugListeners, _elementName, _isPersistent, _verbose, _workspace, ATTRIBUTES, CLASSNAME, COMPLETE, CONTENTS, DEEP, FULLNAME, LINKS |
Methods inherited from class ptolemy.actor.AtomicActor |
_actorFiring, _actorFiring, addActorFiringListener, addInitializable, connectionsChanged, createReceivers, declareDelayDependency, getCausalityInterface, getDirector, getExecutiveDirector, getManager, inputPortList, isFireFunctional, isStrict, iterate, newReceiver, outputPortList, preinitialize, pruneDependencies, recordFiring, removeActorFiringListener, removeDependency, removeInitializable, setContainer, stop, stopFire, terminate, wrapup |
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.util.NamedObj |
_addAttribute, _adjustOverride, _attachText, _cloneFixAttributeFields, _debug, _debug, _debug, _debug, _debug, _getIndentPrefix, _isMoMLSuppressed, _markContentsDerived, _propagateValue, _recordDecoratedAttributes, _removeAttribute, _splitName, _stripNumericSuffix, addChangeListener, addDebugListener, attributeList, attributeList, deepContains, depthInHierarchy, description, description, event, executeChangeRequests, exportMoML, exportMoML, exportMoML, exportMoML, exportMoMLPlain, getAttribute, getAttributes, getChangeListeners, getClassName, getDecoratorAttribute, getDecoratorAttributes, getDerivedLevel, getDerivedList, getDisplayName, getFullName, getModelErrorHandler, getName, getName, getSource, handleModelError, isDeferringChangeRequests, isOverridden, isPersistent, lazyContainedObjectsIterator, message, propagateValue, propagateValues, removeChangeListener, removeDebugListener, requestChange, setClassName, setDeferringChangeRequests, setDerivedLevel, setDisplayName, setModelErrorHandler, setPersistent, setSource, sortContainedObjects, toplevel, toString, validateSettables, workspace |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
lambda
public PortParameter lambda
- The mean value of the exponential.
This is a double with default value 1.0.
_current
private double _current
- The random number for the current iteration.
_generator
private cern.jet.random.Exponential _generator
- The random number generator.
ColtExponential
public ColtExponential(CompositeEntity container,
java.lang.String name)
throws NameDuplicationException,
IllegalActionException
- Construct an actor with the given container and name.
- Parameters:
container
- The container.name
- The name of this actor.
- Throws:
IllegalActionException
- If the actor cannot be contained
by the proposed container.
NameDuplicationException
- If the container already has an
actor with this name.
fire
public void fire()
throws IllegalActionException
- Send a random number with a Exponential distribution to the output.
This number is only changed in the prefire() method, so it will
remain constant throughout an iteration.
- Specified by:
fire
in interface Executable
- Overrides:
fire
in class RandomSource
- Throws:
IllegalActionException
- If there is no director.
_createdNewRandomNumberGenerator
protected void _createdNewRandomNumberGenerator()
- Method that is called after _randomNumberGenerator is changed.
- Specified by:
_createdNewRandomNumberGenerator
in class ColtRandomSource
_generateRandomNumber
protected void _generateRandomNumber()
throws IllegalActionException
- Generate a new random number.
- Specified by:
_generateRandomNumber
in class RandomSource
- Throws:
IllegalActionException
- If parameter values are incorrect.