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 commentaires

Sam Chak
Sam Chak le 10 Avr 2022
Can you show the code for troubleshooting purposes?
Alessandro Romeo
Alessandro Romeo le 10 Avr 2022
s=tf('s')
g=100*(s+10)*(s-5)/(s*(s+8)*(s^2+s+1)*(s-5))
Here it is.
Sam Chak
Sam Chak le 10 Avr 2022
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.
Alessandro Romeo
Alessandro Romeo le 10 Avr 2022
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
Alessandro Romeo
Alessandro Romeo le 10 Avr 2022
Oh WOW, finally it runs correctly! Thank you very much!

Connectez-vous pour commenter.

 Réponse acceptée

Sam Chak
Sam Chak le 10 Avr 2022

1 vote

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 commentaire

Alessandro Romeo
Alessandro Romeo le 10 Avr 2022
Oh, I didn't think about that. I will pay attention to this one. Thank you.

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur MATLAB dans Centre d'aide et File Exchange

Produits

Version

R2022a

Community Treasure Hunt

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

Start Hunting!

Translated by