Filter löschen
Filter löschen

How can I tune PID controller using GENETIC ALGORITHM.......????

4 Ansichten (letzte 30 Tage)
RAJEEV KUMAR
RAJEEV KUMAR am 15 Nov. 2012
Kommentiert: Fer Ruiz am 22 Jan. 2019
num=6;
den=[48 44 12 1];
gp=tf(num,den); % PLANT TRANSFER FUNCTION
%%OVERALL TRANSFER FUNCTION
gpgcr=gp*gcr;
sysy4=feedback(gpgcr,1);
%%BY GENETIC ALGORITHM
N=5; % NO OF POPULATION
M=4;
iter=12; % no.of iterations
maxiter=1;
%%initialization of pbest and gbest
for i=1:N
for j=1:iter
for k=1:M
pbest(i,j,k)=rand;
gbest(i,j,k)=rand;
end
end
end
%%initialization of kp,kd,ki and calculation of ISE
for i=1:N
for j=1:iter
for k=1:M
kp(i,j,k)=rand;
kd(i,j,k)=rand;
ki(i,j,k)=rand;
%%controller transfer function
numgc=[kd(i,j,k),kp(i,j,k),ki(i,j,k)];
dengc=[1,0];
gc=tf(numgc,dengc); % controller T.F
g=gp*gc;
GCL=feedback(g,1); % gives c(s)/r(s)
[num,den] = tfdata(GCL,'v'); % 'V' return the numerator and denominator directly as
......row vectors rather than as cell arrays
GCL1=1-GCL; % GIVES e(s)/r(s)
[nume,dene]=tfdata(GCL1,'v');
dene1=[dene,0]; % for e(s)
[r,p,k1]=residue(nume,dene1);
n=length(p);
for y=1:n
h(y)=ilaplace(r(y)/(s-p(y)));
end
h;
q=0;
for z=1:n
q=h(1,z)+q; % gives e(t)
end
q;
q=vpa(q,5); % Variable-precision arithmetic
qsq=q^2;
lqsq=laplace(qsq); % to get laplace transform
isee=limit(lqsq,s,0);
ise=vpa(isee,5);
x(i,j,k)=ise %CAN WE TAKE IT AS FITTNESS FUNCTION..??
end
end
end
  3 Kommentare
vishvas  kumar
vishvas kumar am 5 Jun. 2016
what is 'gcr' please explore it.
govindan
govindan am 30 Dez. 2016
gcr is controller transfer function.

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Charitha Yampati
Charitha Yampati am 10 Dez. 2016
what is gcr here

Nasser Almabrok
Nasser Almabrok am 5 Apr. 2018
there are many mistakes in this code, so you have to fix it and remove some commands that you do not need.

alnaser alnaser
alnaser alnaser am 1 Nov. 2018
Error using InputOutputModel/feedback (line 138) The first and second arguments of the "feedback" command must have compatible I/O sizes.
Error in gapid (line 6) sysy4=feedback(gpgcr,1);

Community Treasure Hunt

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

Start Hunting!

Translated by