A differential system in the Continuous domain.
<p>The differential system model implements a system whose behavior
is defined by:
<pre>
dx/dt = f(x, u, t)
y = g(x, u, t)
x(0) = x0
</pre>
where x is the state vector, u is the input vector, and y is the output
vector, t is the time. To use this actor, proceed through the following
steps:
<ul>
<li> For each input in <i>u</i>, create an input port.
Each input may have any name, since you will refer to it by
name rather than by the symbol <i>u</i>. This actor will
automatically create a parameter with the same name as the
input port. That parameter will have its value set during
execution to match the value of the input.
Note that at this time, multiport inputs are not supported.
<li> Fill in the <i>stateVariableNames</i> parameter, which is
an array of strings, with the names of the state variables in <i>x</i>.
These names can be anything you like, since you will refer them to
by name rather than by the symbol <i>x</i>.
<li> For each state variable name in <i>stateVariableNames</i>,
create a parameter with a value equal to the initial value of that
particular state variable.
<li> Specify an update function (part of <i>f</i> above) for each
state variable by creating a parameter named <i>name</i>_dot, where
<i>name</i> is the name of the state variable. The value of this
parameter should be an expression giving the rate of change of
this state variable as a function of any of the state variables,
any input, any other actor parameter, and (possibly), the variable
<i>t</i>, representing current time.
<li> For each output in <i>y</i>, create an output port.
The output may have any name. This actor will automatically
create a parameter with the same name as the output port.
<li> For each parameter matching an output port, set its
value to be an expression giving the output
value as a function of the state variables, the inputs, any other
actor parameter, and (possibly), the variable
<i>t</i>, representing current time.
</ul>
<P>
This actor is a higher-order component. Upon preinitialization,
the actor will create a subsystem using integrators and expressions.
These are not persistent (they are not exported in the MoML file),
and will instead by created each time the actor is preinitialized.
<p>
This actor is based on the ptolemy.domain.ct.lib.DifferentialSystem
actor by Jie Liu.
Jie Liu and Edward A. Lee
$Id: DifferentialSystem.java 70402 2014-10-23 00:52:20Z cxh $
Ptolemy II 7.0
Red (liuj)
Red (cxh)
The names of the state variables, in an array of strings.
The default is an ArrayToken of an empty String.
The value of current time. This parameter is not visible in
the expression screen except in expert mode. Its value initially
is just 0.0, a double, but upon each firing, it is given a
value equal to the current time as reported by the director.