How can I plot the transfer function? HELP Please.
9 次查看(过去 30 天)
显示 更早的评论
Hello, I have a problem with plot the transfer function. I have to plot the precision model's transfer function. To understand my function and precision model, I'll insert a photo.
Here, I must use
numerator = [];
denominator = [];
sys = tf(numerator,denominator)
stepplot(sys)
But I cannot write the numerator and denominator. I have numerator = KH * ( TL*s + 1 ) * exp(-t*s) and denominator = ( TI*s + 1 ) * ( ( (p^2) / (WN^2) ) + ( ( (2*zetaN) / (WN) ) * p ) + (1). As I understand, I must write these numerator and denominator as coefficients of s variable. But I couldn't write. Could you help me please? How can I plot the transfer function?
Also, I want to plot step function with 1 amplitude for compare it with transfer function. How can I do that? Is it just step(sys)?? Is this the same thing with stepplot?
If you could help me, I will be very glad. Thanks!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/581566/image.png)
0 个评论
采纳的回答
Paul
2021-4-14
编辑:Paul
2021-4-14
Because you want to make plots, I'm going to assume that you have numerical values for each parameter in your model. For example, suppose we have:
Kh = 2; Tl = 1; Ti = 0.5; wn = 1; zetan = 0.7; tau = 0.2;
At this point, there are several options to form the transfer function F(s). Perhaps the easiest is to start with a product of low order terms:
>> F = Kh*tf([Tl 1],[Ti 1])*tf(1,[1/wn^2 2*zetan/wn 1])
F =
2 s + 2
-----------------------------
0.5 s^3 + 1.7 s^2 + 1.9 s + 1
Continuous-time transfer function.
Now the only part that is missing is the exp(-tau*s). That can be included by either setting the 'InputDelay' or 'OutputDelay' property of F or by mutiplying F by exp(-tau*s) explicilty. For example of the latter:
>> F = F*exp(-tau*tf('s'))
F =
2 s + 2
exp(-0.2*s) * -----------------------------
0.5 s^3 + 1.7 s^2 + 1.9 s + 1
Continuous-time transfer function.
If you'd rather see F expressed in terms of the variable p, you can do:
>> F.Variable='p'
F =
2 p + 2
exp(-0.2*p) * -----------------------------
0.5 p^3 + 1.7 p^2 + 1.9 p + 1
Continuous-time transfer function.
which is just for display purposes and doesn't change any mathematical properties of F. It's not clear what is meant by "plot the ... transfer function." Once F is defined, all sorts of different plots can be developed, most typically:
doc bode
doc step
doc impulse
更多回答(1 个)
Image Analyst
2021-4-13
You're using both p and s to describe the same p in the formula. Change s to p and I think it should work:
numerator = KH * ( TL*p + 1 ) * exp(-t*p)
term1 = TI*p + 1
term2 = p^2 / WN^2
term3 = 2 * zetaN * p / WN
denominator = term1 * (term2 + term3 + 1)
FH = numerator / denominator
If you'd rather call the independent variable s instead of p, then just change all the p to s.
numerator = KH * ( TL*s + 1 ) * exp(-t*s)
term1 = TI*s + 1
term2 = s^2 / WN^2
term3 = 2 * zetaN * s / WN
denominator = term1 * (term2 + term3 + 1)
FH = numerator / denominator
but don't mix s and p - that could be a disaster if they are separate variables and have different values.
3 个评论
Image Analyst
2021-4-13
Sorry, I don't know anything about that function. You'll just have to read the documentation or hope someone else knows about it.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Pole and Zero Locations 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!