Warning: The closed-loop system is unstable.

23 次查看(过去 30 天)
I am getting this warning. It is saying that the function is unstable. The root locus plot indicates that the system is stable.
ctf =
10 s^3 + 1100 s^2 + 10000 s
-----------------------------------
s^4 + 210 s^3 + 11100 s^2 + 10000 s
Continuous-time transfer function.
>> rlocus(ctf)
>> [Gm]=margin(ctf)
Warning: The closed-loop system is unstable.
> In ctrlMsgUtils.warning (line 25)
In DynamicSystem/margin (line 65)
Gm =
Inf

回答(2 个)

Walter Roberson
Walter Roberson 2019-11-13
There is no constant term in the denominator. There is a pole at 0, which is inside the unit circle, so it is unstable.

Star Strider
Star Strider 2019-11-13
The system has a pole-zero cancellation at the origin:
s = tf('s');
ctf = (10*s^3 + 1100*s^2 + 10000*s) / (s^4 + 210*s^3 + 11100*s^2 + 10000*s);
[p,z] = pzmap(ctf)
Use minreal to resolve it and produce a stable system:
ctf = minreal(ctf)
Gm = margin(ctf)

类别

Help CenterFile Exchange 中查找有关 Pole and Zero Locations 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by