Transfer Function with one 1/s term
92 次查看(过去 30 天)
显示 更早的评论
I would like to represent a transfer function on MATLAB which includes one 1/s term, while the rest of the terms are 0 or positive exponent. Something like:
F=(1/s + s)/(s^2 + s +1).
The tf function can create a transfer function with all 0 or positive exponents, or one with all 0 and negative exponents, but not one which mixes them (as far as I can tell).
Does anyone know a way to represent such a transfer function in MATLAB?
If it helps, I'm hoping to use it with the nyquist function.
Thanks!
0 个评论
采纳的回答
Sulaymon Eshkabilov
2020-8-6
Hi,
It is straightforward:
T = tf([1 0 1], [1 1 1 0]);
nyquist(T)
3 个评论
Les Beckham
2020-8-6
It is the same thing. Multiply the numerator and denominator by 1/s and you will see that it is the same. The control system toolbox doesn't like negative exponents. So, don't try to force it to use them.
更多回答(1 个)
Walter Roberson
2020-8-6
You cannot do that with Control System Toolbox tf() function. tf() keeps numeric vectors of coefficients with implied powers; it does not store the powers explicitly and so cannot know that you want to use power of -1 . When you use calculations that might result in negative powers, it normalizes to a ratio of polynomials (each of which uses only positive powers.)
You can use the Symbolic Toolbox for your purpose of creating an object that will display that particular way. However, nyquist() does not accept symbolic objects, so you would have to code your own symbolic nyquist plot.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Symbolic Math Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!