Documentos de Académico
Documentos de Profesional
Documentos de Cultura
>> [num,den]=residue(R,P,K);
>> printsys(num,den,'s')
num/den =
s+3
-------------
s^2 + 3 s + 2
Ejemplo 2.
Considere la siguiente función de transferencia, exprese en términos de fracciones parciales:
B( s) 2s 3 5s 2 3s 6
A( s ) s 3 6 s 2 11s 6
Solución
Para esta función:
>> clear
>> num=[2 5 3 6]
num =
2 5 3 6
>> num=[2 5 3 6];
>> den=[1 6 11 6];
>> [r,p,k]=residue(num,den)
r=
-6.0000
-4.0000
3.0000
p=
-3.0000
-2.0000
-1.0000
k=
2
Obsérvese que los residuos se devuelven en el vector columna r, las posiciones de los polos en el vector
columna p y el término directo en el vector fila k.
Esta es la representación en MATLAB del siguiente desarrollo en fraccione parciales simples de
B(s)/A(s).
B( s) 2s 3 5s 2 3s 6
A( s ) s 3 6 s 2 11s 6
B( s) 2 s 3 5 s 2 3s 6 6 4 3
2
A( s ) s 3 6 s 2 11s 6 s 3 s 2 s 1
La función residue también se puede utilizar para obtener los polinomios (numerador y denominador) a
fracciones simples en la razón de polinomios. Esto es, el comando
>> [num,den]=residue(r,p,k);
>> printsys(num,den,'s')
num/den =
2 s^3 + 5 s^2 + 3 s + 6
------------------------------
s^3 + 6 s^2 + 11 s + 6
Ejemplo 3.
Obtenga el desarrollo de B(s)/A(s) siguiente en fracciones simples utilizando MATLAB
B( s) s 2 2s 3 s 2 2s 3
A( s ) ( s 1)3 s 3 3s 2 3s 1
Solución
Para esta función, se tiene
>> num=[0 1 2 3];
>> den=[1 3 3 1];
>> [r,p,k]=residue(num,den)
r=
1.0000
0.0000
2.0000
p=
-1.0000
-1.0000
-1.0000
k=
[]
>> [num,den]=residue(r,p,k);
>> printsys(num,den,'s')
num/den =
s^2 + 2 s + 3
---------------------
s^3 + 3 s^2 + 3 s + 1
f (t)=sen(4t)
Solución
>> syms t
>> f=sin(4*t)
f=
sin(4*t)
>> ans=laplace(f)
ans =
4/(s^2 + 16)
>> pretty(ans)
4
2
s 16
Ejemplo 2.
Obtenga la Transformada de Laplace de la siguiente función:
0.5 t
f (t ) 4 4e
Solución
>> syms t
>> f=4-4*exp(-0.5*t);
>> F=laplace(f)
F=
>> pretty(F)
4 4
s 1
s
2
Ejemplo 3.
Obtenga la Transformada de Laplace de la siguiente función:
f (t)=sen(wt)
Solución
Nota: aquí se tendrán que definir simbólicamente las variables w y t ahora utilizaremos el comando
>>sym(‘variable’)
>> f=sin(w*t);
>> w=sym('w');
>> t=sym('t');
>> f=sin(w*t);
>> F=laplace(f)
F=
w/(s^2 + w^2)
>> pretty(F)
w
s w2
2
>> w=sym('w');
>> s=sym('s');
>> F=w/(s^2+w^2);
>> C=ilaplace(F)
C=
sin(t*w)
>> pretty(C)
sin(t w)
Ejemplo 2.
Obtenga la Transformada de Laplace inversa de la siguiente función:
>> syms s
>> f=4/(s^2+16)
f=
4/(s^2 + 16)
>> ans=ilaplace(f)
ans =
sin(4*t)
>> pretty(ans)
sin(4 t)
Ejemplo 3.
Obtenga la Transformada de Laplace inversa de la siguiente función:
>> syms s
>> f=[(s+1)*(s+5)]/[(s+2)*(s+3)*(s+4)];
>> F=ilaplace(f)
F=
>> pretty(F)
4 3 3
exp(3t ) 2exp(2t ) 2exp(4t )
Ejemplo 4.
Obtenga la Transformada de Laplace inversa de la siguiente función:
>> syms s
>> f=5*exp(-s)/(s+1);
>> F=ilaplace(f)
F=
5*heaviside(t - 1)*exp(1 - t)
>> pretty(F)
5 heaviside(t - 1) exp(1 - t)
Equivalente: 5e1 t u (t 1)
>> t=1:0.001:5;
>> y=5*exp(1-t);
>> plot(t,y,'linewidth',2);
>> axis([0 6 -0.5 5.5]);
>> grid on;
>> xlabel('t');
>> ylabel('Funcion f(t)');
>> title('Grafica en el dominio del tiempo');legend('f(t)');
f(t)
5
3
Funcion f(t)
0 1 2 3 4 5 6
t
>> s=-3:0.01:10;
>> y=5*(exp(-5))./(s+1);
>> plot(s,y,'r');
>> axis([-4 11 -80 80]);
>> grid on;
>> xlabel('s');
>> ylabel('Funcion F(s)');
>> title('Grafica en el dominio del tiempo de la frecuencia');legend('F(s)');
Ejemplo 5.
Obtenga la Transformada de Laplace inversa de la siguiente función:
6s 3
F ( s)
s2
Solución
>> syms s
>> f=(6*s+3)/s^2;
>> F=ilaplace(f)
F=
3*t + 6
>> t=0:0.001:5;
>> y=3*t+6;
>> plot(t,y,'linewidth',3);
>> axis([-0.2 6 0.2 22]);
>> grid on;
>> xlabel('t');
>> ylabel('Funcion (t)');
>> title('Grafica en el dominio del tiempo');legend('f(t)');
Ejemplo 6.
Obtenga la Transformada de Laplace inversa de la siguiente función:
5s 2
F ( s)
( s 1)( s 2)2
Solución
>> syms s
>> f=(5*s+2)/[(s+1)*(s+2)^2];
>> F=ilaplace(f)
F=
>> pretty(F)
3 3 8t
exp(2t ) exp(t ) exp(2t )
2t t 2t
equivalente a : 3e 3e 8te
>> t=0:0.001:5;
>> t=0:0.0001:15;
>> y=(-3./exp(t))+(((8*t)+3)./exp(2*t));
>> plot(t,y,'linewidth',2);
>> grid on;
>> xlabel('t');
>> ylabel('Funcion (t)');
>> title('Grafica en el dominio del tiempo');legend('f(t)');
Ejemplo 7.
Obtenga la Transformada de Laplace inversa de la siguiente función:
1
F ( s) 2 2
s (s w2 )
Solución
>> syms s
>> syms w
>> f=1/[(s^2)*((s^2)+(w^2))];
>> F=ilaplace(f)
F=
t/w^2 - sin(t*w)/w^3
>> pretty(F)
t sin(tw)
w2 w3
t 1
equivalente a : sin( wt )
w2 w3
Ejemplo 8.
Obtenga la Transformada de Laplace inversa de la siguiente función:
10( s 2)( s 4)
F ( s)
(s 1)(s 3)(s 5)2
Solución
>> syms s
>> f=[10*(s+2)*(s+4)]/[(s+1)*(s+3)*(s+5)^2];
>> F=ilaplace(f)
F=
>> pretty(F)
15 5 35 15 t
------------ + ------------ - ------------- + -------------
16 exp(t) 4 exp(3 t) 16 exp(5 t) 4 exp(5 t)
15 t 5 3t 35 5t 15 5t
equivalente a : e e e e
16 4 16 4
>> t=0:0.0001:10;
>> Y=15./(16*exp(t))+5./(4*exp(3*t))-35./(16*exp(5*t))+(15*t)./(4*exp(5*t));
>> plot(t,Y,'linewidth',2);
>> grid on
>> xlabel('t');
0.8
0.7
0.6
0.4
0.3
0.2
0.1
0
0 1 2 3 4 5 6 7 8 9 10
t
Ejemplo 9.
Obtenga la Transformada de Laplace inversa de la siguiente función:
s 4 5s3 6s 2 9s 30
F ( s)
s 4 6s3 21s 2 46s 30
Solución
>> syms s
>> f=[(s^4)+5*(s^3)+6*(s^2)+(9*s)+30]/[(s^4)+6*(s^3)+21*(s^2)+(46*s)+30];
>> F=ilaplace(f)
F=
>> pretty(F)
23 t 3 3t 253 t 399 t
Equivalente a : e e (t ) e cos(3t ) e sin(3t )
18 26 117 117
>>t=-0.5:0.001:10;
>>plot(t,y,´linewidth´,2);
>>grid on;
>>xlabel (`t´);
>>ylabel (´Funcion f(t)´);
>>title (Grafica en el dominio del tiempo´); legend(´f(t)´);
Ejemplo 1.
Considérese el sistema definido por
B( s) 4s 2 16s 12
A( s ) s4 12s 3 44s 2 48s
Para obtener los ceros (z), polos (p) y ganancia (k), se introduce el siguiente programa de MATLAB en
el computador:
Solución
>> num=[0 0 4 16 12];
>> den=[1 12 44 48 0];
>> [z,p,k]=tf2zp(num,den)
z=
-3
-1
p=
0
-6.0000
-4.0000
-2.0000
k=
4
Los ceros son: -3 y -1.
Los polos están en s=0, -6,-4 Y -2.
La ganancia k es 4.
Si los ceros y los polos y la ganancia k están dados, entonces el siguiente programa en MATLAB
generara num/den:
num/den =
4 s^2 + 16 s + 12
------------------------------------
s^4 + 12 s^3 + 44 s^2 + 48 s
Supóngase que hay dos componentes G1(s) y G2(s) conectadas de diferentes formas como se ve en la fig.
R(s C(s
G1(s) G2(s)
) )
G1(s)
R(s C(s
) )
G2(s)
R(s C(s
G1(s)
) )
G2(s)
Donde:
num1 num2
G1 ( s) , G2 ( s)
den1 den2
Para obtener las funciones de transferencia del sistema en cascada, en paralelo o realimentado (lazo
cerrado) se utilizan las siguientes instrucciones:
>> [num, den]=series(num1,den1,num2,den2);
>> [num, den]=paralle1(num1,den1,num2,den2);
>> [num, den]=feedback(num1,den1,num2,den2);
Como ejemplo, se considera el caso en el que
10 num1 5 num2
G1 (s) ,2
G2 (s)
s 2s 10 den1 s 5 den2
C (s) num
El programa, en MATLAB calcula para cada situación de G1(s) y G2(s). Obsérvese que la
R(s) den
instrucción:
>> printsys(num,den)
num C ( s)
Muestra el [esto es, la función ] del sistema considerado.
den R( s )
MATLAB programa 1.
>> [num,den]=parallel(num1,den1,num2,den2);
>> num1=[0 0 10];
>> den1=[1 2 10];
>> num2=[0 5];
>> den2=[1 5];
>> [num,den]=series(num1,den1,num2,den2);
>> printsys(num,den)
num/den =
50
-----------------------
s^3 + 7 s^2 + 20 s + 50
>> [num,den]=parallel(num1,den1,num2,den2);
>> printsys(num,den)
num/den =
5 s^2 + 20 s + 100
---------------------------
s^3 + 7 s^2 + 20 s + 50
>> [num,den]=feedback(num1,den1,num2,den2);
>> printsys(num,den)
num/den =
10 s + 50
------------------------
s^3 + 7 s^2 + 20 s + 100
>> [r,k]=rlocus(A,B,C,D)
>> [r,k]=rlocus(A,B,C,D,k)
>> [r,k]=rlocus(sys)
La pantalla mostrará la matriz r y el vector de ganancias K. (r tiene una longitud de K filas y den una longitud
de - 1 columnas que contienen las ubicaciones de las raíces complejas. Cada fila de la matriz corresponde a
una ganancia a partir del vector K.) La orden plot
plot(r, ‘-’)
dibuja los lugares de las raíces.
Si se quiere dibujar los lugares geométricos de las raíces con las marcas ‘0’ o bien ‘x’, es necesario usar el
comando siguiente:
r = rlocus(num,den)
plot(r, ‘o’) o plot(r, ‘x’)
Es instructivo dibujar los lugares geométricos de las raíces mediante las marcas ‘0’ o bien ‘x’, dado que cada
polo en lazo cerrado calculado se muestra en forma gráfica; en alguna parte de los lugares de las raíces
estas marcas se muestran de una forma densa y en otra parte aparecen separadas.
MATLAB produce su propio conjunto de valores de ganancias que se usan para obtener una gráfica del
lugar de las raíces. Lo consigue mediante una rutina interna de adaptación del tamaño de paso. Asimismo,
MATLAB usa la característica automática de fijar la escala del eje del comando plot.
Por último, observe que, dado que el vector de ganancias se determina en forma automática, las gráficas
del lugar geométrico de las raíces de:
k (s 1)
G( s) H ( s)
s(s 2)(s 3)
10k (s 1)
G( s) H ( s)
s(s 2)(s 3)
200k (s 1)
G( s) H ( s)
s(s 2)(s 3)
Son todas iguales. El conjunto de num y den del sistema es igual para los tres sistemas. Los num y den son
num=[0 0 1 1]
den = [1 5 6 0]
Ejemplo 1.
Considere el sistema de control de la fig. Dibuje el diagrama del lugar de las raíces con una razón de
aspecto cuadrada apara que una pendiente de 1 sea una línea realmente de 45°. Para dibujar el lugar de las
raíces escoja la siguiente región:
-6≤x≤6, -6≤y≤6
Donde x e y son las coordenadas del eje real y del eje imaginario, respectivamente.
R(s) k ( s 2 2s 4) C(s)
+
- s ( s 4)( s 6)( s 2 1, 4s 1)
Con el fin de establecer la región de la grafica en pantalla para que sea cuadrada, introduzca la orden
>> v=[-6 6 -6 6];axis(v);axis('square')
Con esta orden, una línea con una pendiente de 1 estará realmente a 45°, y no inclinada por la forma
irregular de la pantalla.
Para este problema, el denominador se obtiene como un producto de términos de primer y segundo orden.
Por tanto, se deben multiplicar estos términos para obtener un polinomio en s. La multiplicación de estos
Ing. Willy Morales Alarcón Página 15
UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO
CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA
2013 - II
términos se realiza de una manera sencilla mediante la orden de convolución, tal y como se muestra a
continuación.
Define
>> a=s(s+1); a=[1 1 0]
>> b=s2+4s+16 b=[1 4 16]
Después utilice la siguiente orden:
c=conv(a,b)
Observe que conv(a,b)proporciona el producto de dos polinomios, ay b. Observe la siguiente salida del
ordenador
>> a=[1 1 0];
>> b=[1 4 16];
>> c=conv(a,b)
c=
1 5 20 16 0
Por tanto, el polinomio del denominador es
den=[1 5 20 16 0]
Para encontrar los polos complejos en alzo abierto (las raíces de s2+4s+16=0), se utiliza la orden roots de la
siguiente manera:
>> r=roots(b)
r=
-2.0000 + 3.4641i
-2.0000 - 3.4641i
Por tanto, el sistema tiene los siguientes ceros y polos en lazo abierto:
Cero en lazo abierto : s=-3
Polos en lazo abierto : s=0, s=-1, S=-2±j3,4641
El programa MATLAB, dibujará el lugar de las raíces para este sistema. La grafica aparece en la fig.
MATLAB Programa:
>> %--lugar de las raices--%
>> num=[0 0 0 1 3];
>> den=[1 5 20 16 0];
>> rlocus(num,den)
>> v=[-6 6 -6 6];
>> axis(v);axis('square')
>> grid;
>> title('Lugar de las raíces de G(s)=k(s+3)/[s(s+1)(s^2+4s+16)]')
>> den=[1 5 20 16 0]
Se introduce
den=conv([1 1 0],[1 4 16])
los resultado son los mismos
EJEMPLO 2.
Considere el sistema cuya función de transferencia en lazo abierto G(s)H(s) es
k
G( s) H ( s) 2
s(s 0.5)(s 0.6s 10)
k
G( s) H ( s) 4
s 1.1s 10.3s 2 5s
3