Nengo.ca

ca.nengo.dynamics
Interface DynamicalSystem

All Superinterfaces:
java.lang.Cloneable, java.io.Serializable
All Known Subinterfaces:
LinearSystem
All Known Implementing Classes:
AbstractDynamicalSystem, GruberSpikeGenerator.GruberDynamics, HillMuscle.Dynamics, HodgkinHuxleySpikeGenerator.HodgkinHuxleySystem, LTISystem, SimpleLTISystem

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 Chen


Method Summary
 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)
           
 

Method Detail

f

float[] f(float t,
          float[] u)
The dynamic equation.

Parameters:
t - Time
u - Input vector
Returns:
1st derivative of state vector

g

float[] g(float t,
          float[] u)
The output equation.

Parameters:
t - Time
u - Input vector
Returns:
Output vector

getState

float[] getState()
Returns:
State vector

setState

void setState(float[] state)
Parameters:
state - New state vector

getInputDimension

int getInputDimension()
Returns:
Dimension of input vector

getOutputDimension

int getOutputDimension()
Returns:
Dimension of output vector

getOutputUnits

Units getOutputUnits(int outputDimension)
Parameters:
outputDimension - Numbered from 0
Returns:
Units of output in the given dimension

clone

DynamicalSystem clone()
                      throws java.lang.CloneNotSupportedException
Returns:
An identical copy of this system which references an independent copy of the state variables
Throws:
java.lang.CloneNotSupportedException - if something causes clone not to work

Nengo.ca