You are on page 1of 11

Table of Contents

........................................................................................................................................ 1
Actividad 1 ........................................................................................................................ 1
Actividad 2a ....................................................................................................................... 2
Actividad 2b ...................................................................................................................... 3
Actividad 2c ....................................................................................................................... 4
Actividad 3 ........................................................................................................................ 5
Actividad 4 ........................................................................................................................ 6

clc
clear
close

Actividad 1
clc
clear
close
G_c=tf([1 2],[1 0]);
G_s=tf([10],[1 1]);
G_eq1=series(G_c,G_s);
G_t=feedback(G_eq1,1)
t_1=0:0.1:2;
u_1=t_1;
lsim(G_t,u_1,t_1)
hold on
t_2=2:0.1:6;
u_2=-t_2+4;
lsim(G_t,u_2,t_2)
hold on
t_3=6:0.1:8;
u_3=t_3-8;
lsim(G_t,u_3,t_3)
grid on

G_t =

10 s + 20
---------------
s^2 + 11 s + 20

Continuous-time transfer function.

Warning: Simulation will start at a nonzero initial time.


Warning: Simulation will start at a nonzero initial time.

1
Actividad 2a
clear, clc, close
num1=[10];
a= [1 14 43 30];
den1=a;
G_s_H_s=tf(num1,den1)
figure
rlocus(num1,den1);
grid on;

G_s_H_s =

10
------------------------
s^3 + 14 s^2 + 43 s + 30

Continuous-time transfer function.

2
Actividad 2b
clear, clc, close
num1=[1 20];
a= [1 5 20];
den1=a;
G_s_H_s=tf(num1,den1)
figure
rlocus(num1,den1);
grid on;

G_s_H_s =

s + 20
--------------
s^2 + 5 s + 20

Continuous-time transfer function.

3
Actividad 2c
clear, clc, close
num1=[1 1 1];
a= [1 5 10 0];
den1=a;
G_s_H_s=tf(num1,den1)
figure
rlocus(num1,den1);
grid on

G_s_H_s =

s^2 + s + 1
------------------
s^3 + 5 s^2 + 10 s

Continuous-time transfer function.

4
Actividad 3
clear,clc,close
k=tf([1],[1]);
G=tf([1 -2 2],[1 3 2 0]);
rlocus(G)
grid on
[k,polos]=rlocfind(G,[0.1+0.65j,0+0.6455j,-0.1+0.64j])
disp('Se da un punto justo en donde el root locus cruza con el eje
imaginario y da un valor de 0.79, se da un punto cercano a este por
los dos ados para evidencia la inestabilidad y la estabilidad')

k =

1.0177 0.7904 0.6275

polos =

-4.1448 + 0.0000i -3.7898 + 0.0000i -3.5171 + 0.0000i


0.0635 + 0.6979i -0.0003 + 0.6458i -0.0552 + 0.5948i
0.0635 - 0.6979i -0.0003 - 0.6458i -0.0552 - 0.5948i

5
Se da un punto justo en donde el root locus cruza con el eje
imaginario y da un valor de 0.79, se da un punto cercano a este por
los dos ados para evidencia la inestabilidad y la estabilidad

Actividad 4
clear
clc
k=0.1;
j=0;
num2=[0 1];
den2=[1 5 6];
Gc=tf(num2,den2);
Os=0;
ts=0;
while Os<=10 && ts<=10
nump=[0 k];
denp=[0 1];
Gp=tf(nump,denp);
Gs=series(Gp,Gc);
G1=feedback(Gs,1);
Info1=stepinfo(G1);
ts=Info1.SettlingTime;
Os=Info1.Overshoot;
k=k+0.1;
if Os<=10 && ts<=10

6
j=j+1;
z1(1,j)=k;
end
end
disp('Maximo valor que puede tomar k(PROPORCIONAL) para que se cumpla
las condiciones')
disp(k)
k=0.1;
Os2=0;
ts2=0;
j=0;
while Os2<=10 && ts2<=10 || Os2==0
numi=[0 k];
deni=[1 0];
Gi=tf(numi,deni);
Gs=series(Gi,Gc);
G2=feedback(Gs,1);
Info2=stepinfo(G2);
ts2=Info2.SettlingTime;
Os2=Info2.Overshoot;
k=k+0.1;
if Os2<=10 && ts2<=10
j=j+1;
z2(1,j)=k;
end
end
disp('Maximo valor que puede tomar k(INTEGRAL) para que se cumpla las
condiciones')
disp(k)
k=0.1;
j=0;
Os3=0;
ts3=0;
while Os3<=10 && ts3<=10 || Os3==0
numpi=[k k];
denpi=[1 0];
Gpi=tf(numpi,denpi);
Gs=series(Gpi,Gc);
G3=feedback(Gs,1);
Info3=stepinfo(G3);
ts3=Info3.SettlingTime;
Os3=Info3.Overshoot;
k=k+0.1;
if Os3<=10 && ts3<=10
j=j+1;
z3(1,j)=k;
end
end
disp('Maximo valor que puede tomar k(PI) para que se cumpla las
condiciones')
disp(k)
k=4.6 %valor que cumple para los 3 controladores
G_c_p=tf([k],[1]);
G_c_i=tf([k],[1 0]);

7
G_c_pi=tf([k 1],[1 5 6 0]);
G_s=tf([1],[1 5 6]);
G_e_p=series(G_s,G_c_p);
G_e_i=series(G_s,G_c_i);
G_e_pi=series(G_s,G_c_pi);
G_t_p=feedback(G_e_p,1);
G_t_i=feedback(G_e_i,1);
G_t_pi=feedback(G_e_pi,1);
figure(1)
step(G_t_p);
hold on
step(G_t_i);
hold on
step(G_t_pi);
grid on
hold off
figure(2)
rlocus(G_t_p);
grid on
figure(3)
rlocus(G_t_i);
grid on
figure(4)
rlocus(G_t_pi);
grid on

Maximo valor que puede tomar k(PROPORCIONAL) para que se cumpla las
condiciones
12.0000

Maximo valor que puede tomar k(INTEGRAL) para que se cumpla las
condiciones
4.7000

Maximo valor que puede tomar k(PI) para que se cumpla las condiciones
17.7000

k =

4.6000

8
9
10
Published with MATLAB® R2018a

11

You might also like