MATLAB Answers

Transfer Function with one 1/s term

11 views (last 30 days)
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.


Sign in to comment.

Accepted Answer

Sulaymon Eshkabilov
Sulaymon Eshkabilov on 6 Aug 2020
It is straightforward:
T = tf([1 0 1], [1 1 1 0]);


Joseph Lorentsen
Joseph Lorentsen on 6 Aug 2020
Thank you for the answer, but that gives a transfer function of
s^2 + 1
s^3 + s^2 + s
Which is not quite what I'm looking for. I'm hoping for something like
s + 1/s
s^2 + s + 1
Les Beckham
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.
Joseph Lorentsen
Joseph Lorentsen on 6 Aug 2020
Good point, I guess that's true. Thanks!

Sign in to comment.

More Answers (1)

Walter Roberson
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.

  1 Comment

Joseph Lorentsen
Joseph Lorentsen on 6 Aug 2020
Ok. So I'm thinking, then, that the easiest solution will be to just enter in the tf multiplied by s on top and bottom, since I don't particularly care about the display of the transfer function (just the Nyquist plot). Thanks!

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by