Main Content

Model Reducer

Reduzca la complejidad de los modelos lineales invariantes en el tiempo (LTI)

Descripción

La app Model Reducer permite calcular aproximaciones de orden reducido de modelos de orden superior. Trabajar con modelos de orden inferior puede simplificar el análisis y el diseño de control. Los modelos más sencillos son también más fáciles de entender y manipular. Puede reducir un modelo de planta para centrarse en la dinámica relevante antes de diseñar un controlador para la planta. O bien, puede utilizar la reducción del modelo para simplificar un controlador de orden completo.

Con los siguientes métodos, Model Reducer ayuda a reducir el orden del modelo conservando las características más importantes para su aplicación:

  • Truncamiento equilibrado: elimina los estados con contribuciones energéticas relativamente pequeñas.

  • Selección de modo: selecciona los modos especificando un rango de frecuencia de interés.

  • Simplificación de polos y ceros: elimina los pares de polos y ceros cancelados o casi cancelados.

Model Reducer proporciona gráficas de respuesta y gráficas de error para ayudar a garantizar que el modelo de orden reducido conserve la dinámica importante. Para obtener más información sobre la reducción de modelos y su utilidad, consulte Model Reduction Basics.

Si prefiere una alternativa a la app Model Reducer que permita realizar de forma interactiva reducciones de modelos y generar códigos para un script en vivo, consulte la tarea Reduce Model Order en el Live Editor.

Model Reducer app

Abrir la aplicación Model Reducer

  • Barra de herramientas de MATLAB®: En la pestaña Apps, en Control System Design and Analysis (Diseño y análisis de sistemas de control), haga clic en el icono de la app.

  • Línea de comandos de MATLAB: Introduzca modelReducer.

Parámetros

Pestaña Balanced Truncation (Truncamiento equilibrado)

Especifique el modelo que desea reducir seleccionándolo en la lista desplegable Model. La lista incluye todos los modelos disponibles en Data Browser. Para pasar un modelo del espacio de trabajo de MATLAB a Data Browser, haga clic en Import Model, en la pestaña Model Reducer. Puede importar cualquiera de las siguientes opciones:

  • Modelos tf, ss o zpk adecuados. El modelo puede ser SISO o MIMO, así como continuo o discreto.

    • Los modelos de tiempo continuo no deben presentar retardos de tiempo. Para reducir un modelo de tiempo continuo con retardos de tiempo, utilice primero pade para aproximar los retardos como dinámica del modelo.

    • Los modelos de tiempo discreto pueden presentar retardos de tiempo. Para el método de reducción de truncamiento equilibrado, la app utiliza absorbDelay para convertir el retardo en polos en z = 0 antes de reducir el modelo. Los estados adicionales se representan en las gráficas de respuesta y de valores singulares de Hankel.

  • Modelos generalizados, como un modelo genss. La app Model Reducer utiliza el valor actual o nominal de todos los bloques de diseño de control en model (véase getValue).

Nota

Model Reducer asume que la unidad de tiempo del modelo (especificada en la propiedad TimeUnit del modelo) se mide en segundos. Si su modelo no tiene TimeUnit = 'seconds', use chgTimeUnit para convertir el modelo a segundos.

Especifique el número de estados en el modelo de orden reducido. Se puede introducir cualquier valor entre el número de estados inestables del modelo y el número de estados del modelo original. Si especifica un solo valor, Model Reducer calcula y muestra las respuestas de un modelo de ese orden. Si especifica varios valores, Model Reducer calcula los modelos de todos los órdenes especificados y muestra sus respuestas en la misma gráfica. Para almacenar los modelos reducidos en Data Browser, haga clic en .

Para obtener más información, consulte Balanced Truncation Model Reduction.

Ejemplo: 5

Ejemplo: 4:7

Ejemplo: [3,7,10]

Puede elegir entre errores absolutos y relativos seleccionando la opción pertinente en Error Bound. Si se establece en absolute, controla el error absoluto GGr, mientras que si se establece en relative, controla el error relativo G1(GGr). El error relativo proporciona una mejor coincidencia en toda la frecuencia, mientras que el error absoluto destaca las áreas con mayor ganancia.

Para obtener más información, consulte Balanced Truncation Model Reduction.

Cuando se selecciona Preserve DC Gain, la ganancia de CC del modelo reducido es igual a la ganancia de CC del modelo original. Si el comportamiento CC del modelo es importante en su aplicación, deje esta opción marcada. Deshabilite esta opción para obtener una mejor coincidencia del comportamiento de las frecuencias superiores.

Para obtener más información, consulte Balanced Truncation Model Reduction.

Model Reducer analiza, de forma predeterminada, los valores singulares de Hankel en todas las frecuencias. Restringir este análisis a un rango de frecuencia concreto resulta útil cuando se sabe que el modelo para su aplicación particular tiene modos fuera de la región de interés. Cuando se aplica un límite de frecuencia, Model Reducer determina cuáles son los estados de baja energía que se deben truncar basándose en su contribución energética únicamente dentro del rango de frecuencia especificado. Focus on range solo está disponible cuando Error Bound se define en absolute.

Para limitar el análisis de las contribuciones de estado a un rango de frecuencia concreto, marque Focus on range. A continuación, arrastre los cursores verticales en la gráfica de respuesta para especificar el rango de frecuencia de interés. Como alternativa, puede introducir un rango de frecuencia en el cuadro de texto como un vector del formato [fmin,fmax]. Las unidades son rad/TimeUnit, donde TimeUnit es la propiedad TimeUnit del modelo que se va a reducir.

Pestaña Mode Selection (Selección de modo)

Especifique el modelo que desea reducir seleccionándolo en la lista desplegable Model. La lista incluye todos los modelos disponibles en Data Browser. Para pasar un modelo del espacio de trabajo de MATLAB a Data Browser, haga clic en Import Model, en la pestaña Model Reducer. Puede importar cualquiera de las siguientes opciones:

  • Modelos tf, ss o zpk adecuados. El modelo puede ser SISO o MIMO, así como continuo o discreto.

    • Los modelos de tiempo continuo no deben presentar retardos de tiempo. Para reducir un modelo de tiempo continuo con retardos de tiempo, utilice primero pade para aproximar los retardos como dinámica del modelo.

    • Los modelos de tiempo discreto pueden presentar retardos de tiempo. Para el método de reducción de truncamiento equilibrado, la app utiliza absorbDelay para convertir el retardo en polos en z = 0 antes de reducir el modelo. Los estados adicionales se representan en las gráficas de respuesta y de valores singulares de Hankel.

  • Modelos generalizados, como un modelo genss. La app Model Reducer utiliza el valor actual o nominal de todos los bloques de diseño de control en model (véase getValue).

Para obtener más información, consulte Mode-Selection Model Reduction.

Nota

Reduce Model Order asume que la unidad de tiempo del modelo (especificada en la propiedad TimeUnit del modelo) se mide en segundos. Si su modelo no tiene TimeUnit = 'seconds', use chgTimeUnit para convertir el modelo a segundos.

Introduzca la frecuencia de la dinámica más lenta que desea conservar en el modelo reducido. Los polos con frecuencia natural inferior a este límite se eliminan del modelo reducido.

Introduzca la frecuencia de la dinámica más rápida que desea conservar en el modelo reducido. Los polos con frecuencia natural superior a este límite se eliminan del modelo reducido.

Pestaña Pole/Zero Simplification (Simplificación de polos y ceros)

Especifique el modelo que desea reducir seleccionándolo en la lista desplegable Model. La lista incluye todos los modelos disponibles en Data Browser. Para pasar un modelo del espacio de trabajo MATLAB al Data Browser, haga clic en Import Model, en la pestaña Model Reducer. Puede importar cualquiera de las siguientes opciones:

  • Modelos tf, ss o zpk adecuados. El modelo puede ser SISO o MIMO, así como continuo o discreto.

    • Los modelos de tiempo continuo no deben presentar retardos de tiempo. Para reducir un modelo de tiempo continuo con retardos de tiempo, utilice primero pade para aproximar los retardos como dinámica del modelo.

    • Los modelos de tiempo discreto pueden presentar retardos de tiempo. Para el método de reducción de truncamiento equilibrado, la app utiliza absorbDelay para convertir el retardo en polos en z = 0 antes de reducir el modelo. Los estados adicionales se representan en las gráficas de respuesta y de valores singulares de Hankel.

  • Modelos generalizados, como un modelo genss. La app Model Reducer utiliza el valor actual o nominal de todos los bloques de diseño de control en model (véase getValue).

Establezca la tolerancia para la cancelación de polos y ceros utilizando el control deslizante o introduciendo un valor en el cuadro de texto. El valor determina cuán cerca deben estar un polo y un cero para que Model Reducer los elimine del modelo reducido. Si desplaza el control deslizante hacia la izquierda o introduce un valor menor en el cuadro de texto, el modelo se simplifica menos, ya que se cancelan menos polos y ceros. Si desplaza el control deslizante hacia la derecha o introduce un valor mayor, se simplifica más el modelo al cancelar los polos y los ceros que están más separados.

Para obtener más información, consulte Pole-Zero Simplification.

Uso programático

expandir todo

modelReducer abre la app Model Reducer sin modelos en Data Browser. Para importar un modelo del espacio de trabajo de MATLAB, haga clic en Import Model.

modelReducer(model) abre la app e importa el modelo LTI especificado. model puede pertenecer a una de las siguientes opciones:

  • Modelos tf, ss o zpk adecuados. El modelo puede ser SISO o MIMO, así como continuo o discreto.

    • Los modelos de tiempo continuo no deben presentar retardos de tiempo. Para reducir un modelo de tiempo continuo con retardos de tiempo, utilice primero pade para aproximar los retardos como dinámica del modelo.

    • Los modelos de tiempo discreto pueden presentar retardos de tiempo. Para el método de reducción de truncamiento equilibrado, la app utiliza absorbDelay para convertir el retardo en polos en z = 0 antes de reducir el modelo. Los estados adicionales se representan en las gráficas de respuesta y de valores singulares de Hankel.

  • Modelos generalizados, como un modelo genss. La app Model Reducer utiliza el valor actual o nominal de todos los bloques de diseño de control en model (véase getValue).

modelReducer(model1,...,modelN) abre la app e importa los modelos especificados.

modelReducer(sessionFile) abre la app y carga una sesión previamente guardada. sessionFile es el nombre de un archivo de datos de sesión en el directorio de trabajo actual o en la ruta de MATLAB.

Para guardar los datos de la sesión en el disco, en la app Model Reducer, en la pestaña Model Reducer, haga clic en Save Session. Los datos de la sesión guardados incluyen la configuración actual de la gráfica y todos los modelos del Data Browser.

Historial de versiones

Introducido en R2016a

Consulte también

Funciones

Tareas de Live Editor