Contenido principal

La traducción de esta página aún no se ha actualizado a la versión más reciente. Haga clic aquí para ver la última versión en inglés.

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 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.

  • Descomposición ortogonal propia (POD): utiliza datos de simulación para calcular y extraer los modos dominantes (componentes principales) del vector de estado y realizar un truncamiento equilibrado aproximado. (desde R2025a)

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, haga clic en el icono de la app.

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

Parámetros

expandir todo

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 propios. 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.

Pestañas del truncamiento equilibrado y la descomposición ortogonal propia (desde R2025a)

Especifique los criterios de reducción de orden del modelo, que se especifican como uno de los siguientes:

  • Order: orden deseado del modelo de orden reducido, especificado como un vector o un escalar no negativo.

  • Maximum error: error máximo de aproximación, especificado como un vector o un escalar no negativo. La app selecciona el orden más bajo para el que el error no supera el valor especificado.

  • Minimum energy: límite mínimo de la energía normalizada, especificado como un vector o un escalar no negativo. La app descarta todos los estados que tienen energías normalizadas inferiores al valor especificado.

  • Maximum loss: pérdida máxima de energía como fracción de la energía total, especificada como un vector o un escalar no negativo. La app selecciona el orden más bajo con pérdidas inferiores al valor especificado.

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 valor escalar, Model Reducer calcula y muestra las respuestas de un modelo de ese orden. Si especifica un vector, 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.

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).

Pestaña Modal Truncation

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 propios. 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 con la cancelación de los polos y los ceros que están más separados.

Para obtener 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 propios. 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