Could't get right result laplace,ilaplace,PD
1 view (last 30 days)
Show older comments
Emrah Duatepe
on 27 Jul 2019
Commented: Star Strider
on 31 Jul 2019
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)
0 Comments
Accepted Answer
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
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
on 31 Jul 2019
My pleasure.
If my Answer helped you solve your problem, please Accept it!
More Answers (0)
See Also
Categories
Find more on Calculus in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!