Beruflich Dokumente
Kultur Dokumente
Sistemas de Control
Pgina 2
POLINOMIOS
poly(r) = Da los coeficientes del polinomio P cuyas races son el vector r.
roots(c) = Encuentra las races del polinomio c.
conv(a,b) = Realiza la multiplicacin entre dos polinomios.
det(A) = Calcula determinante de A
TRANSFORMADA DE LAPLACE
Es un mtodo operativo que resuelve ecuaciones diferenciales convirtindolas en ecuaciones
algebraicas. Permite predecir el comportamiento de un sistema sin necesidad de resolver las
ecuaciones diferenciales del sistema.
laplace(f(t)) = Calcula la Transformada de Laplace de una funcin.
[r,p,k] = residue(num,den) = Donde num es un vector compuesto por los coeficientes del
polinomio del denominador y den es un vector compuesto por los coeficientes del polinomio
del numerador. [1]
ilaplace(f(t)) = Calcula la Transformada de Laplace de una funcin.
zpk(numg,deng,k) = Escribe la funcin de transferencia en forma polinomial.
tf(numf,denf) = Con este comando generamos la funcin de transferencia.
dentf = [v1, v2, v3,.. vn] = Forma el denominador en forma polinmica
[numfzp,denfzp] = tf2zp(numftf,denftf) = Convierte a F(s) en la forma factorizada.
Sistemas de Control
Pgina 3
un
conjunto
de
rutinas
de
MATLAB
que
ofrece algoritmos
estndar
de
la
Ejercicios:
Los estudiantes que estn usando MATLAB debe ahora correr el ch2p1 hasta el ch2p8 del
Apndice B. ste es su primer ejercicio MATLB. Aprendern a usar MATLAB para:
1)
2)
3)
4)
Representar polinomios.
Hallar races de polinomios.
Multiplicar polinomio.
Encontrar expansiones en fracciones parciales. Por ltimo, el ejercicio 2.3 se resolver
usando el MATLAB.
PROGRAMA CH2P1
Se usarn las cadenas de bits para identificar partes de este tutorial en la salida de su
computadora. Las cadenas de bits se representan mediante el texto encerrado entre
apstrofos, tales como ab. Los comentarios se inician con el signo de % y MATLAB los
ignora. Los nmeros se ingresan sin ninguno otros caracteres. La aritmtica se lleva a cabo
mediante operadores aritmticos apropiados.
'(ch2p1)'
%Desplegar etiqueta
'Como ests?'
%Mostrar cadena
-3.96
%Mostrar el escalar -3.96
-4+7i
%Mostrar el nmero complejo -4+7i
-5-6j
%Mostrar el nmero complejo -5-6i
(-4+7i)+(-5-6i) %Suma de dos nmeros complejos
%y mostrar la suma.
(-4+7i)*(-5-6i) %Multiplicacin de dos nmeros complejos
Sistemas de Control
Pgina 4
%y mostrar el producto
M=5
%Asigna 5 a M y mostrar.
N=6
%Asigna 6 a N y mostrar.
P=M+N
%Asigna M+N a P y mostrar.
Pause
Sistemas de Control
Pgina 5
Figura N.-2
Respuesta del corrido del programa ch2p1
PROGRAMA CH2P2
Los polinomios en s se pueden representar como vectores rengln que contienen los
coeficientes.
De esta manera P1=s3+7s2-3s+23 se puede representar mediante el vector que se muestra a
continuacin con os elementos separados mediante un espacio o coma. Se pueden usar la
cadena de bits para identificar cada una de las secciones de este tutorial.
'(ch2p2)'
P1=[1 7 -3 23]
%Desplegar etiqueta
%Almacenar polinomio s^3+7s^2-3s+
%23 como P1 y mostrar.
Figura N.-3
Respuesta del corrido del programa ch2p2
PROGRAMA CH2P3
Ejecutar las declaraciones anteriores hace que MATLAB muestre los resultados. El terminar
un comando con un punto y coma suprime la exhibicin de los resultados. Al escribir una
expresin sin asignacin en el primer miembro y sin punto y coma hace que la expresin
sea evaluada y despliegue el resultado.
Sistemas de Control
Pgina 6
'(ch2p3)'
P2=[3 5 7 8];
3*5
%Desplegar etiqueta
%Asigna 3s^3+5s^2+7s+8 a P2
%sin despliegue.
%Evaluar 3*5 y desplegar el resultado.
Figura N.-4
Respuesta del corrido del programa ch2p3
PROGRAMA CH2P4
Una funcin F(s) en forma factorizada se puede representar en forma polinomial. De este
modo P3=(s+2)(s+5)(s+6) se puede transformar en un polinomio usando el comando poly
(V), done V es un vector rengln que contiene las races del polinomio y poly (V) forma los
coeficientes del polinomio.
'(ch2p4)'
P3=poly([-2 -5 -6])
3*5
%Desplegar etiqueta
%Asigna 3s^3+5s^2+7s+8 a P2
%sin despliegue.
%Evaluar 3*5 y desplegar el resultado
Figura N.-5
Respuesta del corrido del programa ch2p4
Sistemas de Control
Pgina 7
PROGRAMA CH2P5
Se puede determinar las races mediante el comando roots (V). Las races se regresan como
una vector columna. Por ejemplo, encuentre las races de 5s4+7s3+9s2-3s+2=0.
'(ch2p5)'
P4=[5 7 9 -3 2]
despliega
rootsP4= roots(P4)
%Desplegar etiqueta
%Forma 5s^4+7s^3+9s^2-3s+2 y
%sin despliegue.
%Determinar las raices
5s^4+7s^3+9s^2-3s+2,
%Asigna a rootsP4, y despliega
pause
Figura N.-6
Respuesta del corrido del programa ch2p5
PROGRAMA CH2P6
Dos polinomios se pueden multiplicar entre si al usar el comando conv(a,b) (lo que significa
convolucin). De esta manera, P5=(s3+7s2+10s+9)(s4-3s3+6s2+2s+1) se genera como sigue:
'(ch2p6)'
%Desplegar etiqueta
P5=conv([1 7 10 9],[1 -3 6 2 1]) %Forma (s^3+7s^2+10s+9)(s^43s^3+6s^2+2s+1), asignar a P5 y despliega.
Sistemas de Control
Pgina 8
Figura N.-7
Respuesta del corrido del programa ch2p6
PROGRAMA CH2P7
La expansin en fracciones parciales para F(s)= b(s)/a(s) se puede encontrar usando el
comando [K, p, k]= residue (b, a) (K= residuo; p= races del denominador, k= coeficiente
directo, lo cual se encuentra mediante la divisin de los polinomios antes de realizar la
expansin
en
fracciones
parciales).
Como
un
ejemplo
se
expande
F(s)=(7s2+9s+12)/[s(s+7)(s2+10s+100)].
'(ch2p7)'
%Desplegar etiqueta
numf=[7 9 12];
%Definir el numerador de
P(s)
denf=conv(poly([0 -7]),[1 10 100]); %Definir el denominador
de P(s)
[K,p,k]=residue(numf, denf)
%Encontrar los residuos y
asignarlos
Sistemas de Control
Pgina 9
Figura N.-8
Respuesta del corrido del programa ch2p6
PROGRAMA CH2P8
(Ejemplo 2.3) Realicemos el ejemplo 2.3 del libro mediante MATLAB.
Sistemas de Control
%Desplegar etiqueta
%Definir el numerador
%Definir el denominador
%Calcular los residuos, polos y
%el cociente directo.
Pgina 10
Figura N.-9
Respuesta del corrido del programa ch2p8
Los estudiantes que trabajen los ejercicios en MATLAB, y deseen explorar las rutinas
de matemticas simblicas (Symbolic Math Toolbox del MATLAB), deben correr el
ch2sp1 y el ch2sp2 del Apndice E. Aprendern a construir objetos simblicos y luego
hallar las transformadas de Laplace y transformadas inversas de Laplace de
funciones en la frecuencia y en el tiempo, respectivamente. Los ejemplos en el Caso 2
y Caso 3 de esta seccin se resolvern usando las rutinas de matemticas simblica
Symbolic Math Toolbox
PROGRAMA CH2SP1
Modelado en el dominio de la frecuencia
ch2sp1 El poder de clculo de MATLAB se ve enriquecido ampliamente al usar las Rutinas de
Matemticas Simblicas. En este ejemplo se demuestra su poder mediante el clculo de
transformadas inversas de F(s). El inicio de cualquier clculo simblico requiere definir los objetos
simblicos. Por ejemplo, la variable de transformada de Laplace, s, o la variable de tiempo, t, se
deben definir como objetos simblicos. La definicin se realiza mediante el uso del comando syms.
De esta manera syms s define s como un objeto simblico; syms t define t como un objeto
simblico: syms s t define a s y t ambas como objetos simblicos. Solamente se necesitan definir los
objetos que entran al programa. Las variables producidas por el programa no necesitan definirse.
Sistemas de Control
Pgina 11
)(
)(
( )
) ( )
Caso 3:
( )
( )
( )
(
*
)
(
( )
( )
( ))+ ( )
'(chsp1)';
% Desplegar etiqueta
syms s
%Construir el objeto simbolico para la variable de laplace s
'Transfomada inversa de Laplace';
F=2/[(s+1)*(s+2)^2];
% Definir F(s) para el caso 2 del ejemplo
'F(s) from Caso 2';
%Desplegar etiqueta
pretty (F)
%Impresion en bonio de F(s)
f=ilaplace(F);
%Determinar la trasfomada inversa de Laplace
'f(t) for Caso 2';
%Desplegar etiqueta
pretty (f)
%Impresion en bonito de f(t) para el caso 2
F=3/[s*(s^2+2*s+5)];
%Definir F(s) para el caso 3 ejemplo.
'f(t) for Caso 3';
pretty (f)
pause
Sistemas de Control
%Desplegar etiqueta
% Impresion en bonito de f(t) para el caso 3
Pgina 12
Figura N.-10
Respuesta del corrido del programa ch2sp1
PROGRAMA CH2SP2
ch2sp2 En este ejemplo se determina la transformada de Laplace de funciones del tiempo usando
el comando laplace(f), donde f es una funcin del tiempo, f(t). Como un ejemplo se usan las
funciones del tiempo que resultan de los casos 2 y 3 en la seccin 2.2 en el texto y trabajamos en
inverso para obtener sus transformadas de Laplace. Veremos que el comando Laplace(f) da F(s) en
fracciones parciales. Adems de la impresin bonita estudiada en el ejemplo anterior, las Rutinas
de Matemticas Simblica contienen otros comandos que cambian la apariencia de los resultados
desplegados para legibilidad y forma. Algunos de los comandos son collect(F), rene los trminos
con coeficientes comunes de F; expand (F)-expande los productos de factores; factor(F) factores
de F; simple(F)- determina la forma ms sencilla de F con el menor nmero de trminos; simplify
(F) simplifica F; vpa (expresssion, palces) quiere decir precisin aritmtica variable; este
comando convierte trminos simblicos fraccionarios en trminos decimales con un nmero
especfico de decimales. Por ejemplo, la fraccin simblica 3/16 se convertir en 0.1875 si el
argumento places fuera 4.
En el siguiente ejemplo se determina la trasformada de Laplace de una funcin del tiempo. El
resultado se despliega como fracciones parciales. Para combinar las fracciones parciales se usa el
comando simplify(F), donde F es la transformada de Laplace de f(t) determinada a partir de
laplace(f). Por ltimo se usa F=vpa(F,3) para convertir las fracciones simblicas a decimal en el
resultado desplegado.
'(ch2sp2)';
%Desplegar etiqueta
syms t
%Construir objeto simbolico para la variable de tiempo
'Transformada de Laplace';
'f(t) from Case 2'
;
%Desplegar etiqueta
f=2*exp(-t)-2*t*exp(-2*t)-2*exp(-2*t); %Definir f(t) para el Caso 2 del ejemplo
pretty(f)
%Imprimir en bonito f(t) para Caso 2 del ejemplo
'F(s) for Case 2'
;
%Desplegar etiqueta
F=laplace (f);
Sistemas de Control
Pgina 13
pretty (F)
%Imprimir en bonito las fracciones parciales de F(s) para
Cso 2
F=simplify(F)
%Combinar las fracciones parciales
pretty(F)
%Imprimir en bonito las fracciones parciales combinadas
'f(t) for Caso 3'
;
%Desplegar etiqueta
f=3/5-3/5*exp(-t)*[cos(2*t)+(1/2)*sin(2*t)];
% Dwefinir f(t)
pretty(f)
%Imprimir en bonito f(t)
'F(s) para el caso 3-Fracciones simbolicas' ;%Desplegar etiqueta
F=laplace(f);
%Determinar la transformada de Laplace
pretty(F)
%Imprimir en bonito las fraccion parciales
'F(s) para el caso 3 - Representacion decimal';
F=vpa(F,3);
%Convertir fracciones numericas simbolicas a presentacion
decimal de 3 cifras para F(s)
pretty(F)
%Imprimir en bonito las fracciones pariales combinadas
pause
Figura N.-11
Respuesta del corrido del programa ch2sp2_caso 2
Sistemas de Control
Pgina 14
Figura N.-12
Respuesta del corrido del programa ch2sp2_caso3
Los estudiantes que estn usando Matlab deben correr ahora el ch2p9 al ch2p11 del
apndice B. Aprendern a usar Matlab para crear funciones de transferencia con
numeradores y denominadores en polinomios o en forma factorizada. Tambin
aprendern a convertir los polinomios y su forma factorizada
CH2P9 CREACIN DE FUNCIONES DE TRANSFERENCIA
Mtodo vectorial, forma polinomial: Una funcin de transferencia se puede expresar como
un polinomio del numerador entre el polinomio del denominador es decir F(s)=N(s)/D(s). El
numerador N(s), se representa mediante un vector rengln, numf, que contiene los coeficientes de
N(s). De manera similar el denominador D(s), se representa mediante un rengln denf, que
contiene los coeficientes de D(s).
Mtodo vectorial, forma factorizada: Tambin se pueden crear funciones de transferencia
LTI si el numerador y el denominador estn expresados en forma factorizada. Esto se logra
mediante el uso de vectores rengln que contienen las races del numerador y del denominador. De
este modo G(s)=K*N(s)/D(s) expresado como G=zpk(numg,deng,K).
Mtodo de la expresin racional en s, forma polinomial (Se requieren las Rutinas de
Sistemas de Control 4.2): Este mtodo permite escribir la funcin de transferencia como usted
lo hace normalmente. La declaracin s=tf(s) debe preceder a la funcin de transferencia si se
desea crear una funcin de transferencia LTI en la forma polinomial equivalente a que se tiene al
usar G=tf(numg, deng).
Sistemas de Control
Pgina 15
%Desplegar etiqueta
%Definir 's'
%Forma F(s) como una
%funcion de transferencia
%LTI forma polinomial
G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] %Forma G(s) como una
%funcion de transferencia
%LTI forma polinomial
clear
%Limpia variables
pause
Sistemas de Control
Pgina 16
Figura N.-13
Respuesta del corrido del programa ch2p9
Sistemas de Control
Pgina 17
Figura N.-14
Respuesta del corrido del programa ch2p9
Figura N.-15
Respuesta del corrido del programa ch2p9
Sistemas de Control
Pgina 18
Figura N.-16
Respuesta del corrido del programa ch2p9
PROGRAMA CH2P10
Los vectores del numerador y del denominador de la funcin de transferencia pueden convertir de
la forma polinomial que contienen coeficientes y la forma factorizada que contienen races. La
funcin de MATLAB tf2zp(numtf, dentf) convierte numerador y denominador de coeficientes a
races.
'(ch2p10)'
%Desplegar etiqueta
'Coefficients for F(s)'
%Desplegar etiqueta
numftf=[10 40 60]
%Forma numerador de F(s)
denftf=[1 4 5 7]
%Forma denominador de F(s)
'Roots for F(s)'
%Desplegar etiqueta
[numfzp,denfzp]=tf2zp(numftf,denftf)
%Convierte F(s) a forma
%factorizada
'Roots for G(s)'
%Desplegar etiqueta
numgzp=[-2 -4 ]
%Forma numerador de G(s)
K=10
dengzp=[0-3 -5]
%Forma denominador de G(s)
'Coefficients for G(s)'
%Desplegar etiqueta
[numgtf,dengtf]=zp2tf(numgzp',dengzp',K)
%Convierte G(s) a la forma
%polinomial.
Sistemas de Control
Pgina 19
Figura N.-17
Respuesta del corrido del programa ch2p10
Figura N.-18
Respuesta del corrido del programa ch2p10
Sistemas de Control
Pgina 20
Figura N.-19
Respuesta del corrido del programa ch2p10
PROGRAMA CH2P11
Los modelos LTI tambin se pueden convertir de la forma polinomial la forma factorizada. Los
comandos de MATLAB tf y zpk se usan para la conversin entre modelos LTI. Si una funcin de
transferencia Fzpk(s) se expresa como factores en el numerador y el denominador, entonces
tf(Fxzpk) convierte a Fzpk(s) a una funcin de trasferencia expresada como coeficientes en el
numerador y en el denominador. De modo similar, si la funcin de transferencia Ftf(s) se expresa
como coeficientes en numerado y en denominador.
'(ch2p11)'
%Desplegar etiqueta
'Fzpk(s)'
%Desplegar etiqueta
Fzpk1=zpk([-2 -4],[0 -3 -5],10) %Forma Fzpk1(s)
'Ftf1'
%Desplegar etiqueta
Ftf1=tf(Fzpk1)
%Convierte Fzpk1(s) a
%forma de coeficientes
'Ftf2'
%Desplegar etiqueta
Ftf2=tf([10 40 60],[1 4 5 7])
%Forma Ftf2(s)
'Fzpk2'
%Desplegar etiqueta
Fzpk2=zpk(Ftf2)
%Convierte Ftf2(s) a
%forma factorizada.
Sistemas de Control
Pgina 21
Figura N.-20
Respuesta del corrido del programa ch2p11
Figura N.-21
Respuesta del corrido del programa ch2p11
Sistemas de Control
Pgina 22
Los estudiantes que trabajan los ejercicios de Matlab y deseen explorar las rutinas,
deben correr ahora el ch2sp3 del apndice E .Aprendern a usar las rutinas de
matemtica simblica para simplificar la entrada de funciones de transferencia
complicadas, as como mejorar su legibilidad. Aprender a introducir una funcin de
transferencia simblica y convertirla en un objeto lineal en invariante en el tiempo
(LTI) como se presenta en el apndice B, ch2p9.
PROGRAMA CH2SP3
Symbolic Math Toolbox de MATLAB se puede utilizar para simplificar la entrada de funciones de
transferencia complicado como sigue: Inicialmente, la entrada de la funcin de transferencia, G (s)
= numg / Deng, a travs de declaraciones de matemticas simblicas. Entonces, convertir G (s) a
una funcin de transferencia de objetos LTI. Esta conversin se realiza en dos pasos. El primer
paso utiliza el comando [numg, deng] = numden (G) para extraer el numerador y el denominador
simblico de G. El segundo paso convierte, por separado, el numerador y el denominador de
vectores mediante el sym2poly (S) del sistema, donde S es un polinomio simblico. El ltimo paso
consiste en la formacin de la funcin de transferencia de objetos LTI utilizando la representacin
vectorial de numerador y el denominador de la funcin de transferencia.
A modo de ejemplo, formamos el objeto LTI, G (s) = [54 (s + 27) (S ^ 3 + 52s ^ 2 + 37s + 73)] / [s
(s ^ 4 + 872s ^ 3 + 437s ^ 2 + 89s + 65) (s ^ 2 + 79s + 36)] haciendo uso de Symbolic Math
Toolbox de MATLAB para la simplicidad y legibilidad
'(ch2sp3)'
syms s
% visualizacion de etiqueta
% construya objeto simbolico para
% variable de frecuencia's'.
G=54*(s+27)*(s^3+52*s^2+37*s+73)...
/(s*(s^4+872*s^3+437*s^2+89*s+65)*(s^2+79*s+36));
% formar simbolo G(s).
'Symbolic G(s)'
% visualizacion de etiqueta.
pretty(G)
% impresion del simbolo G(s).
[numg,deng]=numden(G);
% extraer simbolo del numerador y denominador.
numg=sym2poly(numg);
% Formar vector para numerador de G(s).
deng=sym2poly(deng);
% Formar vector para denominador de G(s).
'LTI G(s) in Polynomial Form' % visualizacion de etiqueta.
Gtf=tf(numg,deng)
% Formar y mostrar objetos para G(s) en
% forma polinomica.
'LTI G(s) in Factored Form'
% visualizacion de etiqueta.
Gzpk=zpk(Gtf)
% Convertir G(s) en forma factorizada.
Sistemas de Control
Pgina 23
Figura N.-22
Respuesta del corrido del programa ch2sp3
PROGRAMA CH2P9
'(ch2p9)'
%Desplegar etiqueta
'Mtodo vectorial, forma polinomial' %Desplegar etiqueta
numf=150*[1 2 7]
%Almacenar 150(s^2+2s+7)
denf=[1 5 4 0]
%Almacenar s(s+1)(s+4)
'F(s)'
%Desplegar etiqueta
F=tf(numf, denf)
%Forma F(s) y despliega
clear
%Limpia variables
pause
Sistemas de Control
Pgina 24
Figura N.-23
Respuesta del corrido del programa ch2sp9
Sistemas de Control
Pgina 25
Figura N.-24
Respuesta del corrido del programa ch2sp9
'Mtodo de la expresin racional'
s=tf('s')
P=150*(s^2+2*s+7)/[s*(s^2+5*s+4)]
%Desplegar etiqueta
%Definir 's'
%Forma F(s) como una
%funcion de transferencia
%LTI forma polinomial
G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] %Forma G(s) como una
%funcion de transferencia
%LTI forma polinomial
clear
%Limpia variables
pause
Sistemas de Control
Pgina 26
Figura N.-25
Respuesta del corrido del programa ch2sp9
'Mtodo de la expresin racional, forma factorizada'
%Desplegar etiqueta
s=zpk('s')
%Definir 's'
P=150*(s^2+2*s+7)/[s*(s^2+5*s+4)]
%Forma F(s) como una
%funcion de transferencia
%LTI forma factorizada.
G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] %Forma G(s) como una
%funcion de transferencia
%LTI forma factorizada.
Pause
Figura N.-26
Respuesta del corrido del programa ch2sp9
Sistemas de Control
Pgina 27
Ejemplo 2.10:
Funcione transferencia y lazos mltiples
Problema
Dada la red de la figura 2.6a, encuentre la funcin de transferencia
( )
( )
Figura N.-27
Circuito RLC
Sistemas de Control
Pgina 28
( )
( )
( )
( )
]
( )
][
( )
|
( )
( )
Figura N.-28
Respuesta del corrido del programa ch2sp4
ANLISIS DE RESULTADOS
Al trabajar con el comando poly sacamos los coeficientes de la funcin del vector ingresado.
Sistemas de Control
Pgina 29
CONCLUSIONES
Matlab es una herramienta muy importante porque nos permite sacar la funcin de
transferencia de un sistema.
Cada comando tiene su respectiva funcin a la hora de representar la salida del programa.
RECOMENDACIONES
Ejecutar correctamente las instrucciones.
Colocar entre apostrofes las etiquetas para que no produzcan un error en el programa.
Tener muy en cuenta que para el ingreso de los vectores se los debe poner entre corchetes.
REFERENCIAS BIBLIOGRAFICAS
[1]
Nise, N. (2006). Sistemas de control para ingeniera (Tercera Edicin ed.). Mxico: Editorial
Continental.
Sistemas de Control
Pgina 30