Could't get right result laplace,ilaplace,PD

2 次查看(过去 30 天)
hi friends,
I am trying to plot laplace with PD ,the plot I have got is wrong according to book ,where am I making mistake.Automatic Control Systems(Benjamin C. Kuo)
syms Kp Kd s t
K = 181.17;
Ku = 5;
Tu = 0.5;
Kp = 1;
Kd = 0.002;
Ki = 0;
%Fs=sym(((1.5E7*K)/(s^3 + 3408.3*s^2 + 1213086*s + 1.5E7*K))*(Kp + Kd*s));
Fs=sym( ((1.5E7*K)*(Kp + Kd*s )) / ((s+3293.3)*(s+57.49+j*906.6)*(s+57.49-j*906.6)) )
ft=ilaplace(Fs,s,t);
t = 0:0.001:0.3;
f = subs(ft);
plot(t,f)

采纳的回答

Star Strider
Star Strider 2019-7-27
I have no idea what the plot is supposed to look like. However depending on your MATLAB release/version, you may have to use the expand function first, then the partfrac function, before you call ilaplace:
Fs=sym( ((1.5E7*K)*(Kp + Kd*s )) / ((s+3293.3)*(s+57.49+j*906.6)*(s+57.49-j*906.6)) )
Fs = expand(Fs)
Fspf = partfrac(Fs)
ft=ilaplace(Fspf,s,t);
t = 0:0.001:0.3;
f = subs(ft);
plot(t,f)
See if that does what you want.
The partial fraction expansion is:
and the time domain expression is:
  2 个评论
Star Strider
Star Strider 2019-7-31
Emrah Duatepe’s Answer moved here:
That was what I need ,but thank you to help
a=1
Kp = 0.11112;
Kd = 0.00034198;
Ki = 4.3789;
t0=0.3;
ts=0.0001;
t=[0:ts:t0];
s = tf('s');
Fs = (2.718E9/(s*(s+400.26)*(s+3008)))*(Kp + Kd*(s/(a*s+1)) + Ki/s)
H = 1;
FB = feedback(Fs,H,-1);
%Giriş sinyali oluşturuluyor(Kare dalga)
u0 = t>= 0;
ut03 = (t-t0/3) >= 0;
u2t03 = (t - 2*t0/3) >= 0;
m1 = u0 - ut03;
m2 = -2*(ut03 - u2t03);
m = m1 + m2;
noise = 0.1*randn(1,length(t));
u=u0 + noise;
lsim(FB,u,t)
Star Strider
Star Strider 2019-7-31
My pleasure.
If my Answer helped you solve your problem, please Accept it!

请先登录,再进行评论。

更多回答(0 个)

类别

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

Community Treasure Hunt

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

Start Hunting!

Translated by