pzmap(G+G) produces incorrect plot

1 visualización (últimos 30 días)
Geraint Bevan
Geraint Bevan el 3 de Dic. de 2019
Comentada: Star Strider el 3 de Dic. de 2019
Given a system with 2 zeros and 5 poles:
s = tf('s')
G = 8.75*(4*s^2+0.4*s+1)/((s/0.01+1)*(s^2+0.24*s+1)*(s^2/100+2*0.02*s/10+1))
pzmap(G+G) produces a pole zero map in which all the poles are cancelled by zeros, which is clearly incorrect. It is also different to the result of pzmap(2*G), which would be expected to be the same.
Can anyone explain this behaviour?

Respuesta aceptada

Star Strider
Star Strider el 3 de Dic. de 2019
The ‘+’ operator connects the two ‘G’ models in parallel. They do appear to have pole-zero cancellation as the result:
s = tf('s');
G = 8.75*(4*s^2+0.4*s+1)/((s/0.01+1)*(s^2+0.24*s+1)*(s^2/100+2*0.02*s/10+1))
GG = G+G
figure
pzmap(GG)
Calculating the minimum realisation solves the problem:
GGmr = minreal(GG)
figure
pzmap(GGmr)
  2 comentarios
Geraint Bevan
Geraint Bevan el 3 de Dic. de 2019
Thank you - that explains it!
Star Strider
Star Strider el 3 de Dic. de 2019
As always, my pleasure!
The ‘*’ operator would connect them in series.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Stability Analysis en Help Center y File Exchange.

Productos

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by