Main Content

Model Reducer

Reduzca la complejidad de los modelos lineales de tiempo invariante (LTI)

Descripción

La app Model Reducer permite calcular aproximaciones de orden reducido de modelos LTI y LTI dispersos 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.

  • Truncamiento modal: descarta los modos en función de sus ubicaciones o contribuciones de CC.

  • Simplificación de polo-cero: elimina los pares polo-cero cancelados o casi cancelados.

Model Reducer proporciona gráficas de respuesta y gráficas de error para garantizar que el modelo de orden reducido conserve la dinámica importante. Para 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 reducciones de modelos y generar códigos para un script en vivo de forma interactiva, consulte la tarea Reduce Model Order en 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

expandir todo

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 actualmente en el explorador de datos. Para trasladar un modelo desde el área de trabajo de MATLAB al explorador de datos, 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 (consulte getValue).

  • Modelos dispersos de espacio de estados, como modelos sparss y mechss.

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 los criterios de reducción de orden de modelo. 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 múltiples 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 el explorador de datos, haga clic en Save Reduced Model.

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

Especifique el tipo de gráfica de comparación.

  • Model response: represente la respuesta en frecuencia del modelo. Esta comparación de respuesta en frecuencia es un diagrama de Bode para modelos SISO y una gráfica de valores singulares para modelos MIMO.

  • Absolute error plot: represente la respuesta en frecuencia del error absoluto GGr.

  • Relative error plot: represente la respuesta en frecuencia del error relativo G1(GGr).

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

Especifique el tipo de gráfica de análisis.

  • Hankel singular values: gráfico de barras de valores singulares de Hankel y límites de error asociados.

  • Energy: gráfico de barras de energías de estado normalizadas.

Pestaña Modal Truncation

Especifique el modelo que desea reducir seleccionándolo en la lista desplegable Model. La lista incluye todos los modelos disponibles actualmente en el explorador de datos. Para trasladar un modelo desde el área de trabajo de MATLAB al explorador de datos, 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 (consulte getValue).

  • Modelos dispersos de espacio de estados, como modelos sparss y mechss.

Para más información, consulte Modal Truncation 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.

Rango de frecuencia de interés, especificado como vector de la forma [Fmin,Fmax]. El algoritmo descarta todos los modos fuera de este rango.

Rango de amortiguación de interés, especificado como vector de la forma [ζmin,ζmax]. El algoritmo descarta todos los modos fuera de este rango.

Límite de contribución mínima de CC para el modelo de orden reducido, especificado como escalar no negativo. El algoritmo descarta todos los modos con contribuciones de CC normalizadas inferiores a este valor.

Especifique el tipo de gráfica de comparación.

  • Model response: represente la respuesta en frecuencia del modelo. Esta comparación de respuesta en frecuencia es un diagrama de Bode para modelos SISO y una gráfica de valores singulares para modelos MIMO.

  • Absolute error plot: represente la respuesta en frecuencia del error absoluto GGr.

  • Relative error plot: represente la respuesta en frecuencia del error relativo G1(GGr).

  • Mode locations: compare las ubicaciones de los polos del modelo original y reducido.

Especifique el tipo de gráfica de comparación.

  • DC contribution: gráfico de barras de contribuciones de CC normalizadas.

  • Mode location: represente la ubicación de los polos.

  • Mode damping and natural frequency: represente la frecuencia natural y de amortiguación de los polos.

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 actualmente en el explorador de datos. Para trasladar un modelo desde el área de trabajo de MATLAB al explorador de datos, 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 (consulte 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 más información, consulte Pole-Zero Simplification.

Especifique el tipo de gráfica de comparación.

  • Model response: represente la respuesta en frecuencia del modelo. Esta comparación de respuesta en frecuencia es un diagrama de Bode para modelos SISO y una gráfica de valores singulares para modelos MIMO.

  • Absolute error plot: represente la respuesta en frecuencia del error absoluto GGr.

  • Relative error plot: represente la respuesta en frecuencia del error relativo G1(GGr).

Uso programático

expandir todo

modelReducer abre la app Model Reducer sin modelos en el explorador de datos. Para importar un modelo del área 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 (consulte getValue).

  • Modelos dispersos de espacio de estados, como modelos sparss y mechss.

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 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 en el explorador de datos.

Historial de versiones

Introducido en R2016a

expandir todo

Consulte también

Funciones

Tareas de Live Editor