Azzera filtri
Azzera filtri

Could't get right result laplace,ilaplace,PD

1 visualizzazione (ultimi 30 giorni)
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)

Risposta accettata

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

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by