The CTDE domain is now a supported domain, that is, it has overcome several of its previous limitations:
The Vector type was renamed to RVector.
Function(s) | Changes |
---|---|
multiply | The multiply function which was used to multiply a matrix with a vector was dropped along with the providing header file VectorOperations.h. The dgemv function provided by the LAPACK library can serve as a substitute. A usage example can be found in the MatrixGain primitive which is located in the Arithmetic library. |
setDynamic setStateEventGenerator |
Now, the scheduler automatically determines whether primitives are dynamic (that is, whether they contain continuous states) or stateevent-generators. Therefore these functions were deleted without replacement. |
Type description | MLDesigner 2 type name | MLDesigner 3 type name | Changes |
---|---|---|---|
Array state of doubles, used for continuous states | integratorarray | integrator |
|
Represent a continuous state variable | integrator | stateevent |
Following operators to access values from scalar continuous ports were dropped.
The getVector method which obtains the input vector has changed, it no longer has a return value. Instead a reference or a pointer to the data location in which to store the input vector has to be supplied as a parameter. Following methods are implemented.
Additionally an operator RVector() has been added. It also can be used to replace the getVector method from MLDesigner 2. For example, a statement from MLDesigner 2 which read:
const Vector& a = Input1.getVector();
Would read in MLDesigner 3:
const RVector& a = RVector(Input1);
Following methods to assign values to scalar continuous ports were dropped.
The getVector method with which it was possible to obtain a writable reference to the port's value was replaced by the following setVector methods.