Clear Filters
Clear Filters

Could't get right result laplace,ilaplace,PD

1 view (last 30 days)
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)

Accepted Answer

Star Strider
Star Strider on 27 Jul 2019
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 Comments
Star Strider
Star Strider on 31 Jul 2019
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 on 31 Jul 2019
My pleasure.
If my Answer helped you solve your problem, please Accept it!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!