This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English verison of the page.

Note: This page has been translated by MathWorks. Please click here
To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.


Return time derivative of operand




The equations section may contain der operator, which returns the time derivative of its operand:

der(x) = x.der = x˙= dxdt

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
    x = 0;
    x.der == (1 - x)*{ 1, '1/s' };  % x' = 1 - x

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.

See Also


Introduced in R2008b

Was this topic helpful?