| Contents | Index |
Continuous
The Derivative block approximates the derivative of its input by computing
![]()
where du is the change in input value and dt is the change in time since the previous simulation time step. The block accepts one input and generates one output. The initial output for the block is zero.
The accuracy of the results depends on the size of the time steps taken in the simulation. Smaller steps allow a smoother and more accurate output curve from this block. Unlike blocks that have continuous states, the solver does not take smaller steps when the input changes rapidly.
When the input is a discrete signal, the continuous derivative of the input is an impulse when the value of the input changes. Otherwise, it is 0. You can obtain the discrete derivative of a discrete signal using
![]()
and taking the z-transform
![]()
See Circuit Model in the Simulink User's Guide for an example of choosing the best-form mathematical model to avoid using Derivative blocks in your models.
To improve linearization, you can also try to incorporate the derivative term in other blocks. For example, if you have a Derivative block in series with a Transfer Fcn block, try using a single Transfer Fcn block of the form
![]()
For example, you can replace the first set of blocks in this figure with the blocks below them.

The Derivative block accepts and outputs a real signal of type double. For more information, see Data Types Supported by Simulink in the Simulink documentation.

Specify the time constant c to approximate the linearization of your system.
Default: inf
The default value inf corresponds to a linearization of 0.
The exact linearization of the Derivative block
is difficult, because the dynamic equation for the block is
,
which you cannot represent as a state-space system. However, you can
approximate the linearization by adding a pole to the Derivative to
create a transfer function
The
addition of a pole filters the signal before differentiating it, which
removes the effect of noise.
A best practice is to change the value to
,
where
is
the break frequency for the filter.
To improve linearization, approximate this block via
the transfer function for a high pass filter (
)
. To do this, enter a finite positive value for Coefficient
c in the transfer function approximation s/(c*s+1) used for linearization.
This value must be nonzero. Using the default value of inf makes
this block equal to a gain of zero.
See Block-Specific Parameters for the command-line information.
Direct Feedthrough | Yes |
Sample Time | Continuous |
Scalar Expansion | N/A |
States | 2*[1+(number of input elements)] |
Dimensionalized | Yes |
Zero-Crossing Detection | No |

Learn more about Simulink through this collection of videos, articles, technical literature and the Getting Started with Simulink Guide.
| © 1984-2012- The MathWorks, Inc. - Site Help - Patents - Trademarks - Privacy Policy - Preventing Piracy - RSS |