How can I check the Transfer function stability ?
35 views (last 30 days)
Show older comments
How can I check the Transfer function stability? Is it stable, unstable, marginally stable or BIBO Stable?
Is there a way in matlab tell me that ?
see this example, Can I get the answer by Matlab?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/458345/image.png)
7 Comments
Walter Roberson
on 13 Dec 2020
Though really that would appear to only answer the possibility of Unstable, without being able to classify what kind of stability a stable system has.
Paul
on 13 Dec 2020
Edited: Paul
on 15 Dec 2020
Looks like that version of isstable is from the the Signal Processing Toolbox. If anything, this problem calls for the Control System Toolbox because the SPT version doesn't supprort continuous transfer function inputs.
However, just like the SPT version, the CST version of isstable can't, in general, be used either because it only returns true if the system is stable and false otherwise. So for this problem, isstable is not completely helpful. If it returns true, the answer could be [a] or [c]. If false then [b] or [d] (isstable considers marginally stable to be unstable). There is at least one other subtlety to consider before using isstable.
In order to answer the question, one has to know what the four answers mean and then how to relate those meanings to properties of Gc, from which the answer can be determined. I suppose Matlab could be used to check for those properties of Gc, but that would be massive overkill for this problem.
Answers (1)
Mahesh Taparia
on 15 Dec 2020
Hi
You can use isstable function to find if the system is stable or not. For more, information refer to this documentation. If the function return stable, then check the condition of different stability to comment on its type. For your case, it is unstable. Consider the code below:
TF=tf([1 -1 0],[1 1 0 0]);
isstable(TF)
3 Comments
Mahesh Taparia
on 15 Dec 2020
There are some approaches using Routh Hurwitz, Nyquist plot etc. which can be used to check those conditions.
Paul
on 15 Dec 2020
Mahesh,
Actually, in this case isstable yields a misleading answer, IMO:
>> isstable(TF)
ans =
logical
0
I'm pretty sure that if the OP selected answer (d) for the problem it would be marked incorrect.
As best I can tell, isstable checks a) internal stability, and b) uses the term "stable" on the doc page to mean asymptotically stable (i.e, a system that is internally, marginally stable would returns false).
But this problem appears to be asking about external stability (because it specifies a transfer function, not a realization), which would be another reason to be careful about just using isstable for this problem.
See Also
Categories
Find more on Get Started with Control System Toolbox in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!