public interface DynamicalSystem
extends java.io.Serializable, java.lang.Cloneable
A state-space model of a continuous-time dynamical system. The system can be linear or non-linear, and autonomous or time-varying.
While a DynamicalSystem can be time-varying, it must be immutable. That is, its properties can change over simulation time, but not over run time.
TODO: units here or in subinterface? TODO: reference ChenModifier and Type | Method and Description |
---|---|
DynamicalSystem |
clone() |
float[] |
f(float t,
float[] u)
The dynamic equation.
|
float[] |
g(float t,
float[] u)
The output equation.
|
int |
getInputDimension() |
int |
getOutputDimension() |
Units |
getOutputUnits(int outputDimension) |
float[] |
getState() |
void |
setState(float[] state) |
float[] f(float t, float[] u)
t
- Timeu
- Input vectorfloat[] g(float t, float[] u)
t
- Timeu
- Input vectorfloat[] getState()
void setState(float[] state)
state
- New state vectorint getInputDimension()
int getOutputDimension()
Units getOutputUnits(int outputDimension)
outputDimension
- Numbered from 0DynamicalSystem clone() throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedException
- if something causes clone not to work