Return time derivative of operand
der(x)
x.der
The equations
section may contain der
operator,
which returns the time derivative of its operand:
der(x)
= x.der
= =
der
operator takes any numerical expression
as its argument:
der
applied to expressions that
are continuous returns their time derivative
der
applied to time
argument
returns 1
der
applied to expressions that
are parametric or constant returns 0
der
applied to countable operands returns 0. For example,
der(a<b)
returns 0 even if a and
b are variables.
The return unit of der
is the unit of its
operand divided by seconds.
You can nest der
operators to specify higher
order derivatives. For example, der(der(x))
is the
second order time derivative of x.
The following restrictions apply:
You cannot form nonlinear expressions of the output
from der
. For example, der(x)*der(x)
would
produce an error because this is no longer a linearly implicit system.
For a component to compile, the number of differential equations should equal the number of differential variables.
This example shows implementation for a simple dynamic system:
The Simscape™ file looks as follows:
component MyDynamicSystem variables x = 0; end equations x.der == (1 - x)*{ 1, '1/s' }; % x' = 1 - x end end
The reason you need to multiply by { 1, '1/s' }
is
that (1-x)
is unitless, while the left-hand side
(x.der
) has the units of 1/s. Both sides of the
equation statement must have the same units.