Transfer Function with one 1/s term
98 views (last 30 days)
Show older comments
Joseph Lorentsen
on 6 Aug 2020
Commented: Joseph Lorentsen
on 6 Aug 2020
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 Comments
Accepted Answer
Sulaymon Eshkabilov
on 6 Aug 2020
Hi,
It is straightforward:
T = tf([1 0 1], [1 1 1 0]);
nyquist(T)
3 Comments
Les Beckham
on 6 Aug 2020
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.
More Answers (1)
Walter Roberson
on 6 Aug 2020
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.
See Also
Categories
Find more on Symbolic Math 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!