pzmap(G+G) produces incorrect plot
1 view (last 30 days)
Show older comments
Geraint Bevan
on 3 Dec 2019
Commented: Star Strider
on 3 Dec 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 Comments
Accepted Answer
Star Strider
on 3 Dec 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 Comments
More Answers (0)
See Also
Categories
Find more on Stability Analysis in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!