Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
CONTROLADOR PID
>> Kp=1
Kp =
>> Kd=1
Kd =
>> Ki=1
Ki =
1
FUNCIN DE COSTO
Ahora generamos una funcin de costo que me calcular el error cuadrtico, para obtener los
valores de Kp, Kd, Ki en lazo cerrado antes de realizar el algoritmo gentico.
LLAMO AL ERROR CUADRTICO Y ME DAR EL VALOR DEL ERROR
>> error_cuadratico([1;1;1])
hlc =
---------------------------------------
ans =
5.9440
>> K=rand(3,1)
K=
0.3938
0.4401
0.3507
>> error_cuadratico(K)
hlc =
--------------------------------------------------------------
s^6 + 2.394 s^5 + 3.834 s^4 + 3.185 s^3 + 1.791 s^2 + 0.3507 s
ans =
1.3985
%poblacin incial
n=50; %individuos
nc=3; %nmero de cromosomas kp, kd, ki
pi=rand(nc,n); %poblacin inicial
ng=10; %nmero de generaciones
for cg=1:5
cg
J=zeros(1,n); %ndices de desempeo de la poblacin
for k=1:n
J(k)=error_cuadratico(pi(:,k));
end
[Jo,Ji]=sort(J);
Jo(1)
pio=pi(:,Ji); %poblacin inicial ordenada
%crea la nueva poblacin
np=zeros(nc,n); % nueva poblacin
%elitismo
np(:,1:10)=pio(:,1:10);
%mutacin
for k=1:10
np(:,10+k)=pio(:,k);
np(randi(nc):10+k)=rand; %se selecciona un cromosoma aleatorio y se modifica
end
%cruce
for k=1:30
ind1=pi(:,randi(n)); %individuo1
ind2=pi(:,randi(n)); %individuo2
np(:,20+k)=[ind1(1);ind2(2);ind2(3)];
end
end
K=pio(:,1);
Kp=K(1);
Kd=K(2);
Ki=K(3);
hlc =
-------------------------------------------------------------
s^6 + 2.149 s^5 + 3.64 s^4 + 3.532 s^3 + 2.383 s^2 + 0.8917 s
ans =
0.1471
CON CINCO GENERACIONES
hlc =
--------------------------------------------------------------
s^6 + 2.888 s^5 + 4.87 s^4 + 3.903 s^3 + 2.015 s^2 + 0.03234 s
ans =
0.5771
CON DIEZ GENERACIONES
hlc =
--------------------------------------------------------------
s^6 + 2.228 s^5 + 4.078 s^4 + 3.572 s^3 + 2.344 s^2 + 0.4943 s
ans =
0.2501
CONCLUSIONES
Para realizar algoritmos genticos es necesario crear una funcin de costo para poder
evaluar los individuos y obtener el error que me permita tener una respuesta ptima.
Se observa que al aumentar las generaciones se obtiene una mejor respuesta del
sistema ante la entrada.
REFERENCIAS
Available,
https://www.uaeh.edu.mx/docencia/P_Lectura/icbi/asignatura/introduccion_a_los_algoritmo
s_geneticos_con_matlab.pdf