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.
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
.
Ejemplos
Parámetros
Model
— Modelo seleccionado actualmente para la reducción
nombre del modelo
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
ozpk
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 enmodel
(consultegetValue
).Modelos dispersos de espacio de estados, como modelos
sparss
ymechss
.
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.
Reduction criteria
— Número de estados en el modelo reducido
Order
| Maximum error
| Minimum energy
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.
Comparison plot
— Tipo de gráfica de comparación
Model response
| Absolute error plot
| Relative error plot
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 .Relative error plot
: represente la respuesta en frecuencia del error relativo .
Para más información, consulte Balanced Truncation Model Reduction.
Analysis plot
— Tipo de gráfica de análisis
Hankel singular values
(predeterminado) | Energy
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.
Model
— Modelo seleccionado actualmente para la reducción
nombre del modelo
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
ozpk
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 enmodel
(consultegetValue
).Modelos dispersos de espacio de estados, como modelos
sparss
ymechss
.
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.
Frequency Range
— Rango de frecuencia
vector de dos elementos
Rango de frecuencia de interés, especificado como vector de la forma [Fmin,Fmax]. El algoritmo descarta todos los modos fuera de este rango.
Damping Range
— Rango de amortiguación
vector de dos elementos
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.
Minimum DC Contribution
— Límite de contribución mínima de CC
escalar no negativo
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.
Comparison plot
— Tipo de gráfica de comparación
Model response
| Absolute error plot
| Relative error plot
| Mode locations
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 .Relative error plot
: represente la respuesta en frecuencia del error relativo .Mode locations
: compare las ubicaciones de los polos del modelo original y reducido.
Analysis plot
— Tipo de gráfica de análisis
DC contribution
(predeterminado) | Mode location
| Mode damping and natural frequency
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.
Model
— Modelo seleccionado actualmente para la reducción
nombre del modelo
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
ozpk
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 enmodel
(consultegetValue
).
Simplification of Pole-Zero Pairs
— Tolerancia para la cancelación de polos y ceros
escalar positivo
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.
Comparison plot
— Tipo de gráfica de comparación
Model response
| Absolute error plot
| Relative error plot
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 .Relative error plot
: represente la respuesta en frecuencia del error relativo .
Uso programático
modelReducer
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
)
model
)modelReducer(
abre la app e importa el modelo LTI especificado. model
)model
puede pertenecer a una de las siguientes opciones:
Modelos
tf
,ss
ozpk
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 enmodel
(consultegetValue
).Modelos dispersos de espacio de estados, como modelos
sparss
ymechss
.
modelReducer(model1
,...,modelN
)
model1
,...,modelN
)modelReducer(
abre la app e importa los modelos especificados.model1
,...,modelN
)
modelReducer(sessionFile
)
sessionFile
)modelReducer(
abre la app y carga una sesión previamente guardada. sessionFile
)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 R2016aR2024a: Obtener modelos de orden reducido para modelos sparss
y mechss
Ahora puede calcular de manera interactiva modelos de orden reducido de modelos dispersos de espacio de estados utilizando la app Model Reducer. El software es compatible con la reducción de orden de modelo dispersos utilizando estos métodos:
Truncamiento equilibrado: obtenga aproximación de orden inferior descartando estados con contribución baja.
Truncamiento modal: obtenga aproximación de orden inferior descartando modos no deseados.
R2024a: El método de selección de modo es ahora el método de truncamiento modal
El método Modal Truncation sustituye al método Mode Selection en la app Model Reducer. El método de truncamiento modal ofrece mayor flexibilidad para elegir los criterios para descartar modos.
R2023b: Generar código utilizando el nuevo flujo de trabajo de reducción de orden de modelo
La app Model Reducer ahora genera código utilizando los nuevos flujos de trabajo de reducción de orden de modelo. Por ejemplo, esta tabla describe el cambio en el flujo de trabajo de reducción de orden de modelo en el código generado.
Método | Código generado en versiones anteriores a R2023b | Código generado en la versión R2023b |
---|---|---|
Truncamiento equilibrado | %% Reduce LTI model order using balanced truncation System = G; % Define System to reduce Order = 14; % Create option set for balred command Options = balredOptions(); % Offset for the stable/unstable boundary Options.Offset = 1e-05; % Compute reduced order approximation ReducedSystem = balred(System,Order,Options); % Create comparison plot bode(System,ReducedSystem); | %% Reduce LTI model order using balanced truncation System = G; % Define System to reduce % Compute reduced order approximation R = reducespec(System,'balanced'); % Set options for Balanced Truncation specification % Offset for the stable/unstable boundary R.Options.Offset = 1e-05; % Compute MOR data once R = process(R); % Get reduced-order model ReducedSystem = getrom(R,Order=14); % Create comparison plot bode(System,ReducedSystem); |
Selección de modo | %% Reduce LTI model order using mode selection System = G; % Define System to reduce UpperCutoffFrequency = 100; LowerCutoffFrequency = 10; % Create option set for freqsep command Options = freqsepOptions(); % Accuracy loss factor for stable/unstable decomposition Options.SepTol = 100; % Select modes between lower and upper cutoff frequencies ReducedSystem = freqsep(System,... [LowerCutoffFrequency UpperCutoffFrequency],Options); % Create comparison plot bode(System,ReducedSystem); | %% Reduce LTI model order using mode selection System = G; % Define System to reduce % Select modes between lower and upper cutoff frequencies R = reducespec(System,'modal'); % Set options for Modal Truncation specification % Accuracy loss factor for stable/unstable decomposition R.Options.SepTol = 1e-11; % Compute MOR data once R = process(R); % Get reduced-order model ReducedSystem = getrom(R,Frequency=[10 100],Method='truncate'); % Create comparison plot bode(System,ReducedSystem); |
Para más información sobre el nuevo flujo de trabajo, consulte reducespec
y Task-Based Model Order Reduction Workflow.
Comando de MATLAB
Ha hecho clic en un enlace que corresponde a este comando de MATLAB:
Ejecute el comando introduciéndolo en la ventana de comandos de MATLAB. Los navegadores web no admiten comandos de MATLAB.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)