Building a transfer function.

5 次查看(过去 30 天)
Function I want to build is this:
Gp(s)
----------------------
1 + Gc(s)Gp(s)H(s)
1
Gp(s) = ---- Gc(s) = 0.8(s+12.5) H(s) = 1
s(s+10)
However, I can't seem to construct the transfer function due to Gp(s) being a fraction over itself.
My attempts at doing so do not result in the same answer as when I calculate it manually.
Thanks!

采纳的回答

Robert U
Robert U 2017-9-11
Hi Jason Gauthier,
I do not see any troubles in constructing the transfer function you wrote above:
Gp = tf(1, [1 10 0]);
Gc = 0.8*tf([1 12.5],1);
H = tf(1,1);
Gp/(1 + Gc*Gp*H)
Result:
>> ans =
s^2 + 10 s
--------------------------------
s^4 + 20.8 s^3 + 118 s^2 + 100 s
Continuous-time transfer function.
The result shows the transfer function without cancelling poles and zeros. If you do so, you come up with the same transfer function behaviour:
bodeplot(Gp/(1+Gc*Gp*H))
hold on
bodeplot(tf(1,[1 10.8 10]))
Kind regards,
Robert
  2 个评论
Jason Gauthier
Jason Gauthier 2017-9-11
Thanks. The example I had is using a method that includes conv(), and it wasn't clear. I was able to produce the same output by building the transfers function like this:
s= tf('s')
Gp = (1/(s*(s+10))
But, one of the requirements presented was to build a function that accepted the numerator and denominator as arguments, of Gp, and Gc. Your method was much better for this, because I can provide those and build the transfer function out of them directly.
Thanks for presenting me with (yet) another method to accomplish this!
Robert U
Robert U 2017-9-12
Hi Jason Gauthier,
Thank you for your positive feedback. If you like my answer, please, vote for it by clicking on the "thumb up"-symbol.
In case it serves your needs and answers your question thoroughly, accept it.
Kind regards,
Robert

请先登录,再进行评论。

更多回答(1 个)

Thembelani
Thembelani 2024-7-17
1/43.79s + 1

类别

Help CenterFile Exchange 中查找有关 ThingSpeak 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by