How can I tune PID controller using GENETIC ALGORITHM.......????
이전 댓글 표시
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
lithika
2014년 2월 26일
were u able to find the fitness function by using the above codes..if not what modifications did u use to get it???
vishvas kumar
2016년 6월 5일
what is 'gcr' please explore it.
govindan
2016년 12월 30일
gcr is controller transfer function.
답변 (3개)
Charitha Yampati
2016년 12월 10일
0 개 추천
what is gcr here
Nasser Almabrok
2018년 4월 5일
0 개 추천
there are many mistakes in this code, so you have to fix it and remove some commands that you do not need.
alnaser alnaser
2018년 11월 1일
0 개 추천
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);
댓글 수: 1
Fer Ruiz
2019년 1월 22일
I have the same error, could you solve it?
카테고리
도움말 센터 및 File Exchange에서 PID Controller Tuning에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!