Main Content

Derivative

Calcular la derivada continua aproximada de la señal de entrada continua con respecto al tiempo

  • Derivative block

Bibliotecas:
Simulink / Continuous

Descripción

El bloque Derivative aproxima la derivada continua de la señal de entrada continua u con respecto al tiempo de simulación t. Use el bloque Derivative cuando sea necesario calcular la derivada para una señal diferenciable que tenga un tiempo de muestreo continuo.

El uso inadecuado del bloque Derivative puede generar resultados de simulación imprecisos. Cuando sea posible, considere estas otras alternativas al bloque Derivative:

  • Reordene las ecuaciones del sistema para resolverlo con una integral en lugar de una derivada. Luego, estructure el modelo de acuerdo con las ecuaciones nuevas para que el software se integre usando bloques Integrator en lugar de diferenciando.

    Para ver un ejemplo, consulte Best-Form Mathematical Models.

  • Cuando un bloque Transfer Fcn también actúa en la señal de entrada o de salida del bloque Derivative, implemente la derivada para la señal añadiendo un cero en la función de transferencia en su lugar.

  • Para calcular la diferencia finita, o el cociente de diferencia, de una señal discreta en un sistema discreto, use el bloque Discrete Derivative.

Si debe usar el bloque Derivative, úselo solamente con señales de entrada diferenciables que tengan un tiempo de muestreo continuo.

  • El software genera una advertencia cuando la señal conectada a este puerto tiene un tiempo de muestreo discreto o fijo con unidad de tiempo corto. (desde R2023b)

  • Aunque el software no genere una advertencia cuando la señal de entrada tenga un tiempo de muestreo constante, ajustar el valor de la señal introduce una discontinuidad en la señal de entrada. Cuando se diferencian estas discontinuidades, se crean picos en la señal de salida.

  • Para calcular la diferencia finita, o el cociente de diferencia, de una señal discreta en un sistema discreto, use el bloque Discrete Derivative.

Garantizar la precisión de la aproximación de derivadas continuas

Cuando utilice el bloque Derivative, debe asegurarse de que la precisión de la señal de salida del bloque cumpla los requisitos. Incluso cuando se utiliza en el contexto adecuado, la precisión de la señal de salida del bloque Derivative depende del tamaño de paso y puede depender de la dinámica del resto del sistema.

Utilice el parámetro Max step size para evitar que un solver de paso variable dé pasos demasiado grandes para cumplir los requisitos de precisión. Para elegir un valor adecuado para el tamaño de paso máximo, es posible que deba ejecutar varias simulaciones.

En simulaciones de paso variable, el solver determina el tamaño de cada unidad de tiempo principal monitorizando el error en los cálculos de estados continuos en todo el modelo. Cuando el error en el valor calculado para un estado continuo supera los niveles de tolerancia especificados, el solver reduce el tamaño del paso hasta que el error se encuentre dentro de los niveles de tolerancia.

El bloque Derivative no tiene ningún estado continuo, por lo que el solver no puede ajustar el tamaño del paso para garantizar que los cálculos del bloque Derivative cumplen los requisitos de tolerancia. Si el solver toma una unidad de tiempo grande cuando el valor de la señal de entrada cambia rápidamente, es posible que el bloque genere un valor de salida inesperado.

Ejemplos

Puertos

Entrada

expandir todo

La señal de entrada debe ser real y puede tener valores de muestreo de escalares o vectores. Utilice el bloque Derivative para aproximar la derivada continua solo para señales que tengan un tiempo de muestreo continuo.

Tipos de datos: double

Salida

expandir todo

El bloque Derivative aproxima la derivada continua de la señal de entrada con respecto al tiempo y proporciona el resultado como una señal continua. Las dimensiones y la complejidad de la señal de salida coinciden con las dimensiones y la complejidad de la señal de entrada, que debe ser real.

Tipos de datos: double

Parámetros

expandir todo

Para editar parámetros de bloque de manera interactiva, utilice Property Inspector. En la barra de herramientas de Simulink®, en la pestaña Simulation, en la galería Prepare, seleccione Property Inspector.

La linealización exacta para una derivada continua es difícil porque no existe una representación de espacio de estados para la ecuación dinámica y=u˙. El software aproxima la linealización del bloque Derivative añadiendo un polo al sistema para crear una función de transferencia que tenga la forma s/(cs+1).. El polo también actúa como un filtro paso bajo con una frecuencia de corte determinada por este valor de parámetro, que reduce el efecto de ruido.

Se recomienda especificar este valor de parámetro como 1fb, donde fb es la frecuencia de corte en radianes por segundo para el filtro de paso bajo que resulta de la adición del polo. Elija una frecuencia de corte mayor que o igual a la tasa o frecuencia de Nyquist para el sistema. El valor de parámetro predeterminado inf corresponde a una frecuencia de corte de 0.

Uso programático

Para establecer el valor del parámetro de bloque de forma programática, use la función set_param.

Para obtener el valor del parámetro de bloque de forma programática, use la función get_param.

Parámetro: CoefficientInTFapproximation
Valores: inf (predeterminado) | finite positive scalar number
Tipos de datos: char | string

Ejemplo: set_param("MyModel/Derivative","CoefficientInTFapproximation","0.001") configures the Derivative block named Derivative in the model MyModel to use the coefficient 0.001 in the transfer function used for approximate linearization of the block. This coefficient value results in a cutoff frequency of 1000 radians per second.

Características del bloque

Tipos de datos

double

Paso directo

Señales multidimensionales

no

Señales de tamaño variable

no

Detección de cruce por cero

no

Algoritmos

El bloque Derivative calcula la diferencia numérica Δu/Δt, para aproximar la derivada continua dudt,, donde Δu es el cambio en el valor de la señal de entrada y Δt es el tamaño de la unidad de tiempo principal que ha tomado el solver para alcanzar el tiempo de simulación actual. La precisión de la aproximación de la derivada continua depende de la tasa de cambio para la señal de entrada y el tamaño de paso.

El valor de salida inicial del bloque Derivative siempre es 0. Si se tiene en cuenta el valor de salida inicial, esta ecuación representa la relación precisa entre las señales de entrada y salida del bloque.

y(t)=ΔuΔt=u(t)u(Tprevious)tTprevious|t>Tprevious,

  • t es el tiempo de simulación actual.

  • Tprevious es el tiempo del último momento específico principal de la simulación.

Capacidades ampliadas

Historial de versiones

Introducido antes de R2006a

expandir todo