Defining a symbolic dynamic model
This tutorial describes how to define a symbolic model with dynamic constraints.
Click here for the full script for this tutorial.
Again, as in a previous tutorial an idealized model of an electric motor will be used where V is voltage, i current, Tm motor torque, Tl load torque, omega rotational speed, theta motor angle. There are four considered faults, three sensor faults and a change in the internal resistance.
Here the full symbolic model, including dynamic constraints, will be defined. For this, create a model definition with the type
After that, partition the set of variables in three categories; unknown (x), known (z), and faults (f), and also determine the set of parameters in the model. Since we are considering dynamics, introduce variables also for the derivatives. Then,
The next step is to define symbolic expressions for all model variables so that the symbolic toolbox can manage them.
Now, we can state the model equations directly as
Note especially how the differential constraints e10, e11, and e12 are defined. Also, you can clean up the workspace to keep it from cluttering by
Now, the model definition is complete and we can create the model object and give it a name as before
With the model object defined, print some basic model
information using the class method Lint
The model structure is automatically inferred from the analytical expressions. And to graphically plot the model structure, use the PlotModel
class method
which produces the figure Here, the dynamic constraints can be seen as I and D edges in the incidence matrix.