Problema B – 5.14 Obtenga de forma analítica y de forma computacional el tiempo de subida, el tiempo de pico, la máxima sobreelongación y el tiempo de asentamiento como respuesta a un escalón unitario del sistema en lazo cerrado dado por:
() = () Código: clear all all; ; clc; num=[0 0 36]; den=[1 2 36]; t=0:0.005:5; [y,x,t]=step(num,den,t); r=1; while y(r)<1.0001; r=r+1; end; end ; tiempo_subida=(r-1)*0.005 [ymax,tp]=max(y); tiempo_pico=(tp-1)*0.005 sobreelongacion_max=ymax-1 s=1001; while y(s)>0.98&y(s)<1.02; s=s-1; end; end ; tiempo_asentamiento=(s-1)*0.005
Pantalla:
36 2
+ 2 + 36
Problema B – 5.12 Utilice MATLAB para obtener la respuesta escalón unitario, la respuesta rampa unitaria y la respuesta impulso unitario del sistema siguiente:
( ) = ( )
10 2
+ 2 + 10
donde R(s) y C(s) son transformadas de Laplace de la entrada r(t) y la salida c(t), respectivamente.
Código: clear all; clc; %respuesta a un escalón unitario num=[0 0 10]; den=[1 2 10]; t=0:0.01:5; [y,x,t]=step(num,den,t); figure subplot(2,2,1:2) plot(t,y) grid title('Respuesta a un escalón unitario de G(s)=10/(s^2+2s+10)') xlabel('t(seg)') ylabel('Salida') subplot(2,2,3) %respuesta al impulso unitario impulse(num,den) grid title('Respuesta a un impulso unitario de G(s)=10/(s^2+2s+10)') xlabel('t(seg)') ylabel('Salida') subplot(2,2,4) %respuesta a la rampa unitaria num=[0 0 0 10]; den=[1 2 10 0]; c=step(num,den,t); plot(t,c,'-',t,t,'--') grid title('Respuesta a una rampa unitaria de G(s)=10/(s^2+2s+10)') xlabel('t(seg)') ylabel('Entrada y Salida')
Gráfica: 2
Respuesta a un escalón unitario de G(s)=10/(s +2s+10) 1.4 1.2 1 a 0.8 d i l a S 0.6
0.4 0.2 0
0
0.5
1
1.5
2
2.5 t(seg)
Respuesta a un impulso unitario de G(s)=10/(s 2+2s+10)
3
3.5
4
4.5
5
Respuesta a una rampa unitaria de G(s)=10/(s 2+2s+10) 5
3
4 a d i l a 3 S y a d a 2 r t n E
2
a d i l a S
1
0
-1
1
0
1
2
3 t(seg) (sec)
4
5
6
0
0
1
2
3 t(seg)
4
5
Problema B – 5.13 Utilizando MATLAB, obtenga la respuesta escalón unitario, rampa unitaria e impulso unitario del sistema siguiente:
+ 0.5 = −11 −0.5 0 0 = 1 0 1
1
2
2
1 2
donde u es la entrada e y es la salida.
Código: clear all; clc; %sistema en variables de estado A=[-1 -0.5;1 0]; B=[0.5;0]; C=[1 0]; D=[0]; figure subplot(2,2,1:2) %respuesta al escalón unitario step(A,B,C,D) grid title('Respuesta a un escalón unitario') xlabel('t(seg)') ylabel('Salida') subplot(2,2,3) %respuesta al impulso unitario impulse(A,B,C,D) grid title('Respuesta al impulso unitario') xlabel('t(seg)') ylabel('Salida') subplot(2,2,4) %respuesta a la rampa unitaria AA=[A zeros(2,1);C 0]; BB=[B;0]; CC=[0 0 1]; DD=[0]; [z,x,t]=step(AA,BB,CC,DD); x3=[0 0 1]*x'; plot(t,x3,'-',t,t,'--') grid title('Respuesta a una rampa unitaria') xlabel('t(seg)') ylabel('Entrada y Salida') axis([0 40 0 40])
Gráfica: Respuesta a un escalón unitario 0.6 0.5 0.4 0.3 a d i l a S
0.2 0.1 0 -0.1 -0.2
0
5
10
15
t(seg) (sec)
Respuesta a una rampa unitaria 40
Respuesta al impulso unitario 0.6 0.5
30 a d i l a S y 20 a d a r t n E
0.4 0.3 a d i l a S
0.2 0.1
10
0 -0.1 -0.2
0
2
4
6
t(seg) (sec)
8
10
0
0
10
20 t(seg)
30
40
Problema B – 5.17 Obtenga, utilizando MATLAB, la curva de respuesta escalón unitario para el sistema de control con realimentación unidad cuya función de transferencia en lazo abierto es:
= + 210( + 4) Obtenga además, utilizando MATLAB, el tiempo de subida, el tiempo de pico, la máxima sobreelongación y el tiempo de asentamiento en la curva de respuesta a un escalón unitario. Este problema está representado por el siguiente diagrama de bloques:
Por lo que al realizar la minimización correspondiente se tiene que: 10 + 2 ( + 4) = 10 + 2 ( + 4)
( ) = () 1 +
10
=
+ 2 + 4 + 10
() = ()
3
+6
10 2
10
2
+ 4 + 2 + 8 + 10
+ 8 + 10
Siendo esta la función de transferencia que se utilizará para obtener la respuesta al escalón unitario, y los parámetros descritos en el enunciado. Código: clear all; clc; num=[0 0 0 10]; den=[1 6 8 10]; t=0:0.01:10; %respuesta al escalón unitario [y,x,t]=step(num,den,t); plot(t,y) grid title('Respuesta a un escalón unitario de C(s)/R(s)=10/(s^3+6s^2+s+10)') xlabel('t(seg)') ylabel('Salida') %obtención de parámetros r=1; while y(r)<1.0001; r=r+1; end; tiempo_subida=(r-1)*0.005 [ymax,tp]=max(y); tiempo_pico=(tp-1)*0.005
sobreelongacion_max=ymax-1 s=1001; while y(s)>0.98&y(s)<1.02; s=s-1; end; tiempo_asentamiento=(s-1)*0.005
Pantalla:
Gráfica: Respuesta a un esc alón unitario de C(s)/R(s)=10/(s3+6s 2+s+10) 1.4
1.2
1
a d i l a S
0.8
0.6
0.4
0.2
0
0
1
2
3
4
5 t(seg)
6
7
8
9
10
Problema B – 5.20 Obtenga la respuesta a una rampa unitaria del sistema definido por:
= −01 −11 + 01 = 1 0 1
1
2
2
1 2
donde u es una entrada rampa unitaria. Utilice el comando lsim para obtener la respuesta.
Código: clear all; clc; %sistema en variables de estado A=[0 1;-1 -1]; B=[0;1]; C=[1 0]; D=[0]; t=0:0.01:10; %respuesta a la rampa unitaria u=t; z=lsim(A,B,C,D,u,t); plot(t,u,'--',t,z,'-'); grid title('Respuesta a una rampa unitaria') xlabel('t(seg)') ylabel('Entrada y Salida')
Gráfica: Respuesta a una rampa unitaria 10 9 8 7 a d i l a S y a d a r t n E
6 5 4 3 2 1 0
0
1
2
3
4
5 t(seg)
6
7
8
9
10