inv
Invertir modelos de sistemas dinámicos
Sintaxis
inv
inv(sys,'min')
Descripción
inv
invierte la relación entrada/salida
para producir el modelo con la matriz de transferencia .
Esta operación se define solo para sistemas cuadrados (mismo número de entradas y de salidas) con una matriz de alimentación invertible D. inv
se ocupa de los sistemas tanto de tiempo continuo como de tiempo discreto.
inv(sys,'min')
invierte sys
para eliminar los estados adicionales y obtener un modelo con tantos estados como sys
o A
, respectivamente. Para modelos ss
, genss
y uss
, el modelo inverso se devuelve en forma implícita de forma predeterminada. Esta opción se ignora para modelos dispersos porque normalmente acaba con la dispersión. Use isproper
o ss(sys,'explicit')
para extraer un modelo explícito, si lo desea.
Ejemplos
Considere
En la línea de comandos de MATLAB®, escriba
H = [1 tf(1,[1 1]);0 1] Hi = inv(H)
para invertirlo. Estos comandos generan el siguiente resultado.
Transfer function from input 1 to output... #1: 1 #2: 0 Transfer function from input 2 to output... -1 #1: ----- s + 1 #2: 1
Puede verificar que
H * Hi
es la función de transferencia de identidad (ganancia estática I
).
Limitaciones
No utilice inv
para modelar conexiones de retroalimentación como
Aunque parece razonable evaluar la correspondiente función de transferencia de lazo cerrado como
inv(1+g*h) * g
hacerlo normalmente genera modelos de lazo cerrado no mínimos. Por ejemplo,
g = zpk([],1,1) h = tf([2 1],[1 0]) cloop = inv(1+g*h) * g
genera un modelo de lazo cerrado de tercer orden con una cancelación de polos y ceros inestable a s
= 1
.
cloop Zero/pole/gain: s (s-1) ------------------- (s-1) (s^2 + s + 1)
Use feedback
para evitar estos problemas.
cloop = feedback(g,h) Zero/pole/gain: s ------------- (s^2 + s + 1)
Historial de versiones
Introducido antes de R2006a