Hello, I've a problem with the use of the tf function. Basically i try to build a tf function using ( s = tf('s') ) and then writing my function. It works only with few poles and zeros (it seems just a total of 4), but when i try to write a function with more poles and zeros, and then i try to run it, it just keeps running. Any solution to this problem?

6 个评论

Can you show the code for troubleshooting purposes?
s=tf('s')
g=100*(s+10)*(s-5)/(s*(s+8)*(s^2+s+1)*(s-5))
Here it is.
Is this result expected?
g =
100 s^2 + 500 s - 5000
------------------------------------
s^5 + 4 s^4 - 36 s^3 - 37 s^2 - 40 s
Continuous-time transfer function.
Yes, but I don't know why my code keeps running, so it doesn't show me the result.
Try clear everything and see if the problem persists.
clear all
Oh WOW, finally it runs correctly! Thank you very much!

请先登录,再进行评论。

 采纳的回答

I'm glad that the proposed solution works. Just keep in mind that you don't have to clear all every time. You can first check if there is another variable named 's' in the Workspace.
clear all
s = tf('s')
g = 100*(s+10)*(s-5)/(s*(s+8)*(s^2+s+1)*(s-5))

1 个评论

Oh, I didn't think about that. I will pay attention to this one. Thank you.

请先登录,再进行评论。

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by