pzmap(G+G) produces incorrect plot
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Geraint Bevan
il 3 Dic 2019
Commentato: Star Strider
il 3 Dic 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?
0 Commenti
Risposta accettata
Star Strider
il 3 Dic 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 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Stability Analysis in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!