Está en la página 1de 5

IMPLEMENTAR EL MODELO EN SIMULINK DENOMINADA PLANTA REAL

Rangos =[20 100]

a=[1-10]

T=[0.05-0.5]
IMPLEMENTACION DE ALGORITMO

Definimos nuestra inicialización

function fen=inicializacion(vfi,vfs,npob,ng)
for i=1:npob
fen(i,:)=(vfs-vfi).*rand(1,ng)+vfi;
end

Ingresamos el numero de iteraciones

Ingresamos 10 iteraciones

NP=input('Numero de iteraciones = ')


D=1
rangoK=[20 100]
rangoA=[1 10]
rangoT=[0.05 0.5]

fen=inicializacion(rangoK(1),rangoK(2),NP,D);
s=fen;
fen=inicializacion(rangoA(1),rangoA(2),NP,D);
s1=fen;
fen=inicializacion(rangoT(1),rangoT(2),NP,D);
s2=fen;
ca=[s s1 s2];
re=1

for i=1:NP
K=s(i);
A=s1(i);
T=s2(i);
sim sintonizacion
subplot(2,1,1)
plot(planta(:,1),planta(:,2),'r')
text(planta(10),planta(10),'planta')
hold on
plot(modelo(:,1),modelo(:,2))
a=size(modelo);
b=modelo(:,2);
c=planta(:,2);
d=sqrt((sum(abs(b-c).^2))/a(1));
re=[re;d];
end
[x,y]=min(re)
POLOS=[ca(y,1) ca(y,2) ca(y,3) ];
K=ca(y,1),A=ca(y,2),T=ca(y,3)
subplot(2,1,2)
sim sintonizacion
plot(planta(:,1),planta(:,2),'r')
hold on
plot(modelo(:,1),modelo(:,2))
disp(' RESULTADOS')
disp('Iteracion | K | A| T |
ERROR | ITE aproximada"" ' )
r=[ NP K A T x y ]
Resultados

Para valores de:

Rangos =[20 100]

a=[1-10]

T=[0.05-0.5]
RESULTADOS DE LA ITERACION (10 ITERACIONES )

RESULTADOS

Numero de iteraciones = 10

rangoK =

20 100

rangoA =

1 10

rangoT =

0.0500 0.5000

x=

0.3995

y=

K=

40.5428

A=

9.7435

T=

0.1023

RESULTADOS

Iteracion K A T ERROR

10.0000 40.5428 9.7435 0.1023 0.3995

También podría gustarte