Beruflich Dokumente
Kultur Dokumente
Pr logo o
1. Introducci n o 1.1. Comenzando con el Help . . . . . . . . . . . . 1.2. Creando Variables Simb licas y Expresiones . . o 1.3. Conversiones Simb licas y Num ricas . . . . . o e 1.4. Construcci n de variables Reales y Complejas . o 1.5. Creando Matrices Simb licas . . . . . . . . . . o 1.6. Creando Funciones con Matem tica Simb lica a o 2. C lculo a 2.1. Diferenciaci n . o 2.2. Integraci n . . o 2.3. Lmites . . . . 2.4. Series de Taylor 3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3 3 4 5 6 6 7 7 7 9 9 11
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
PROLOGO
PROLOGO
Pr logo o
Muchas veces nos hemos visto en la necesidad de trabajar problemas relacionados a la teora de control que integren por ejemplo a las variables en forma simb lica. Surge entonces la necesidad de interactuar el Toolbox de Control o con el Toolbox de Matem tica Simb lica. Un ejemplo pr ctico vemos cuando se requiere reemplazar el operador a o a s de Laplace por el operador de transformaci n de un aproximador digital como el bilineal para llevar a cabo o operaciones de control digital. Otras aplicaciones frecuentes est n relacionados con la linealizaci n de sistemas no a o lineales a los que posteriormente se les aplicara t cnicas de control para sistemas lineales invariantes en el tiempo. e An lisis de los circuitos el ctricos y sus fen menos transitorios, etc. Podemos seguir enumerando las aplicaciones a e o m s frecuentes, y veremos que en realidad es muy util manipular convenientemente las herramientas de matem tica a a simb lica del programa MATLAB. Finalmente, espero este articulo le sirva de ayuda amigo lector especialmente a o los estudiantes de pregrado que es a los que va dirigido el documento.
El Autor
1 INTRODUCCION
1. Introducci n o
El Toolbox de Matem tica Simb lica (TMS) incorpora computaci n simb lica en el ambiente num rico a o o o e de MATLAB, siendo adem s vers til y de f cil adaptaci n. Complementa las soluciones de los entornos a a a o num rico y gr co mediante c mputo num rico, entre ellos tenemos: e a o e 1. C lculo : Derivada, Integral, lmites, sumatorias y series de Taylor a 2. Algebra lineal : Inversas, determinantes, valores propios, descomposici n de valores singulares y o formas can nicas de matrices simb licas o o 3. Simplicaci n : M todos de simplicaci n de expresiones algebraicas o e o 4. Soluci n de ecuaciones : Soluciones simb licas y num ricas de algebra y ecuaciones de diferencia o o e 5. Precisi n aritm tica : Evaluaci n num rica de expresiones matem ticas o e o e a 6. Transformadas : Transformadas de Laplace, Fourier, Z y sus inversas 7. Funciones especiales : Funciones especiales cl sicas aplicadas a matem ticas. a a
1 INTRODUCCION
Ejemplo: Sea la funci n cuadr tica. o a f = ax2 + bx + c Asignamos a la expresi n cuadr tica a la variable f . En este caso el TMS no crea las variables correspono a dientes en t rminos de la expresi n a, b, c y x. Necesitamos crear las variables explcitamente. e o a=sym(a) b=sym(b) c=sym(c) x=sym(x) O simplemente se recomienda usar esta forma syms a b c x. Esta ultima forma es la que usaremos en adelante. Resolvemos el problema ingresando el siguiente c digo que se lista debajo para a = 1, b = 2 y o c = 1. syms a b c x f=a*x^2+b*x+c; solve(f) % ans = % -(b + (b^2 - 4*a*c)^(1/2))/(2*a) % -(b - (b^2 - 4*a*c)^(1/2))/(2*a) % calcula races s=subs(f,{a,b,c},[1 2 1]); raices=solve(s); % raices = % -1 % -1
1 INTRODUCCION
Ejemplo: Asignemos la variable T=sqrt(2) T=sqrt(2) % T = % 1.4142 Luego digitamos sym(T,f) % ans % =(2^0+1865452045155277*2^-52) sym(T,r) % ans % =sqrt(2) sym(T,e) % ans % =sqrt(2)+64*eps/147 sym(T,d) % ans % =1.4142135623730951454746218587388
1 INTRODUCCION
2 CALCULO
2. C lculo a
El TMS provee funciones de operaciones b sicas para el c lculo como son: diferenciaci n, Integraci n, a a o o lmites, expansi n de la serie de Taylor. o
2.1. Diferenciaci n o
Presenta la siguiente estructura. d n f (x) = diff( f , x, n) dt n Donde n representa el orden de la derivada. Por ejemplo, creamos la expresi n simb lica de f=sin(ax) o o para hallar su primera y segunda derivada. syms a x f=sin(a*x) df=diff(f,x,1) % df= % cos(a*x)*a df=diff(f,x,2) % df = % -sin(a*x)*a^2 Tambi n, df=diff(f)=diff(f,x), que determina la primera derivada con respecto a la variable simb lie o ca (en este caso x). La siguiente tabla muestra la diferenciaci n simb lica con MATLAB. o o Funciones Matem ticas a f = xn f g = nxn1 g = acos(at + b) = acos(at + b) Comando en MATLAB f=x^n diff(f) o diff(f,x) g=a*cos(a*t+b) diff(g) o diff(g,t)
2.2. Integraci n o
Si f es la expresi n simb lica, entonces. o o
b
f (x)dx = int( f , v, a, b)
a
Los esfuerzos por encontrar otra expresi n simb lica, F, para que el diff(F)=int(f) retorna la integral o o o antiderivada de f (proporciona la existencia en la forma cerrada). Similar a la derivaci n. Se usa el o objeto simb lico a v como la variable de integraci n. o o Sea f una funci n, a, b los lmites de integraci n. Escribir la soluci n simb lica int(f,a,b) de las o o o o siguientes funciones: f1 (x) = x7 [0, 1] y f2 (x) = log(x) x [0, 1]
2.2 Integraci n o
2 CALCULO
syms x f1=x^7; f2=log(x)*sqrt(x); intf1=int(f1,0,1) % 1/8 intf2=int(f2,0,1) % -4/9 La siguiente tabla muestra la integraci n simb lica con MATLAB. o o Funciones Matem ticas a
n x dx /2
0
sin(2x)dx = 1
g = cos(at + b)
g(t)
Es positiva, la curva campana tiende a 0 y x tiende a para algunos n meros reales de k. Un ejemplo u o de esta curva es cuando k = 1/ 2. Ingresamos el c digo en MATLAB para plotear la curva en forma de campana que se muestra en la Figura 1. syms x k=sym(1/sqrt(2)); f=exp(-(k*x)^2); ezplot(f)
exp(1/2 x2)
0.8
0.6
0.4
0.2
0 x
2.3 Lmites
2 CALCULO
2.3. Lmites
La idea fundamental en c lculo es hacer que los c lculos en las funciones como una variable se acerque a a a un cierto valor. Llamando a la denici n de la derivada que es dada por un lmite. o f (x + h) f (x) = limit( f , h, 0) h0 h Con tal de que el lmite existe. El TMS computa los lmites de las funciones de manera directa. Ingresamos en c digo. o f (x) = lm syms h x lim=limit((cos(x+h)-cos(x))/h,h,0) % -sin(x) Escribir el c digo MATLAB para los siguientes lmites: lmx0 1 , lmx0 1 , y lmx0+ 1 . o x x x lim1=limit(1/x,x,0) % NaN lim2=limit(1/x,x,0,left) % -inf lim3=limit(1/x,x,0,right)% +inf
xa xa+
Donde Rn es el resto despu s de los primeros t rminos, se pueden hallar por cualquiera de las siguientes e e f rmulas: o f (n) ( )(x a)n n! f (n) ( )(x )n1 (x a) resto de Cauchy Rn = (n 1)!
resto de Lagrange Rn =
El valor de est comprendido entre a y x, puede ser diferente en las dos f rmulas. Este resultado v lido a o a siempre que f (x) tenga derivadas continuas de orden n como mnimo. Sea:
n
lm Rn = 0 9
2 CALCULO
Se obtiene una serie innita que es llamada Serie de Taylor de f (x) en torno a x = a. En el caso en que a = 0 se suele llamar Serie de McLaurin. La declaraci n de la serie de Taylor con matem tica simb lica o a o es dada por la funci n. o f (x) = taylor( f , n) Donde f es el polinomio (n 1) orden de la aproximaci n de McLaurin. Si n = a signica una aproxio maci n respecto del punto a. o syms x T=taylor(exp(x),3); % 1+x+1/2*x^2 T cnicamente, T es la serie de McLurin, con punto base a = 0. e syms x g=exp(x*sin(x)) H=taylor(g,2,2); % exp(2*sin(2))+exp(2*sin(2))*(2*cos(2)+sin(2))*(x-2) Genera primero 2 t rminos diferentes de cero en la serie de Taylor alrededor de x = 2. Ahora plotearemos e estas funciones en una misma ventana para ver qu bien aproxima la serie de Taylor respecto de la funci n e o real g(x). (usar taylor(g,12,2)) syms x g=exp(x*sin(x)); T=taylor(g,12,2); % 12 trminos alrededor de x=2 e t=1:0.05:3; yd=double(subs(g,x,t)); ezplot(T,[1 3]), hold, plot(t,yd,m:) title(Aproximacion Taylor vs Funcin Actual) o ylabel(g(x),T) legend(Funcin Real,Aprox Taylor) o En la Figura 2 muestra buena aproximaci n de la funci n g(x) realizada por la expansi n de la serie de o o o Taylor.
Aproximacion Taylor vs Funcion Actual Funcion Real Aprox Taylor 6
g(x),T
10
3 EJERCICIOS
3. Ejercicios
Ejemplo # 1
Hallar el voltaje de un inductor, L = 0.1H, cuando la corriente en el mismo es: i = 20te2t A, t > 0 i(0) = 0
Soluci n o
El voltaje para t > 0 es. v = L di dt
d (20te2t ) dt = 2(2te2t + e2t ) V = (0.1) = 2e2t (1 2t) V syms t i=20*t*exp(-2*t); L=0.1; v=L*diff(i,t); % v = 2*exp(-2*t)-4*t*exp(-2*t) i=20*t*exp(-2*t); v=L*diff(i,t); a=factor(v) % a = -2*exp(-2*t)*(-1+2*t) Amplitud=subs(a,{t},{0}); % Amplitud = 2 subplot(211) ezplot(v,[0 4]), grid subplot(212) ezplot(i,[0 4]), grid
2 exp(2 t)4 t exp(2 t) 4 3 2 1 0 1
0.5
1.5
2 t 20 t exp(2 t)
2.5
3.5
4 3 2 1 0 1
0.5
1.5
2 t
2.5
3.5
Figura 3: Curvas de tensi n y corriente por la inductancia. o El voltaje es igual a 2V cuando t = 0, y la onda de corriente alcanza un m ximo y que el voltaje es cero a en t =0.5 segundos (ver Figura 3). M.Sc. Ricardo Rodrguez Bustinza 11
3 EJERCICIOS
Ejemplo # 2
Hallar la corriente i en el circuito de la Figura 4 para t > 0 cuando v f = 10e2t u(t)V. Suponga que el circuito est estable en t = 0 . a
Soluci n o
Puesto que la funci n forzante de la tensi n es exponencial, cabe esperar que la respuesta forzada para la o o corriente i f o , sea tambi n exponencial de la forma: e i f o = Be2t para t > 0. Planteando la LVK alrededor del lazo, se tiene L o di + Ri = v f dt
di + 4i = 10e2t dt
para t > 0. Sustituyendo i f o = Be2t , se tiene 2Be2t + 4Be2t = 10e2t donde B = 5 y i f o = 5e2t La respuesta natural puede obtenerse de la ecuaci n: o L usando el operador s = d/dt, se tiene: (Ls + R)i = 0 de forma que s= y en consecuencia in = AeRt/L La respuesta completa es: M.Sc. Ricardo Rodrguez Bustinza 12 R L di + Ri = 0 dt
3 EJERCICIOS
i = in + i f o = Ae4t + 5e2t La condici n inicial i(0) = i(0 ) se halla a partir de la fuente de 10 voltios conectada antes de t = 0. o Recordar que vi = 0 para t < 0. Entonces i(0 ) = 10/5 = 2Amp. Empleando la condici n inicial en la o ecuaci n anterior se tiene. o 2 = A+5 luego i = (3e4t + 5e2t )Amp t > 0 Primera Soluci n con TMS o H=dsolve(Dx+4*x=10*exp(-2*t),x(0)=2); pretty(H); % 5 3 % -------- - -------% exp(2 t) exp(4 t) ezplot(H,[0 3]) A = 3
Segunda Soluci n con TMS y Toolbox de Control o syms x t s L h=sym(x(t)); dh=sym(diff(x(t),t)); eq=dh+4*h-10*exp(-2*t); % Transformada de Laplace La=laplace(eq,t,s); La=subs(La,{laplace(x(t), t, s),x(0)},[L 2]); Lb=solve(La,L); Lb=collect(Lb); Lb=factor(Lb); pretty(Lb); M.Sc. Ricardo Rodrguez Bustinza 13
3 EJERCICIOS
% 2 (s + 7) % --------------% (s + 4) (s + 2) Lb=expand(Lb); % Transformada Inversa de Laplace lb=ilaplace(Lb,s,t); pretty(lb); % 5 3 % -------- - -------% exp(2 t) exp(4 t) % Ploteo Simblico o ezplot(lb,[0 3]); % Conversion TMS a Toolbox de Control [N,D]=numden(Lb); N=sym2poly(N); D=sym2poly(D); % FT con Toolbox de Control G=tf(N,D); hold h=0.001; t=0:h:3; u=[1/h zeros(1,length(t)-1)]; ci=2; y=lsim(G,u,t,ci); plot(t,y,-) legend(Toolbox Simbolico,Toolbox Control)
1.5
0.5
0.5
1.5 t
2.5
14
3 EJERCICIOS
Ejemplo # 3
Considere el p ndulo simple que se muestra en a Figura 7, cuya ecuaci n din mica es dado por: e o a T = ml 2 + mglsin
Se presentan la linealizaci n de se ales peque as que es usado tpicamente en la aproximaci n lineal de o n n o sistemas no lineales. Desde la expansi n de la serie de Taylor obtenemos: o f (T, ) = f (0, 0) +
0,0
f T
0,0
Con nes pr cticos, hacemos g/l = 1 y 1/ml 2 = 1, entonces la ecuaci n din mica queda representada de a o a la siguiente forma: = T sin Donde es funci n de T y , siendo adem s el punto de equilibrio dado por f (0, 0) = 0. Entonces o a reemplazamos en la expansi n de Taylor. o = 0 + (cos ) Para el p ndulo invertido tenemos. e = 0 + (cos )
0, 0,0
+ T = + T
+T = +T
Estos modelos de sistema linealizados deben ser probados en el sistema original para vericar la aceptabilidad de la aproximaci n. Vamos a representar nuestro sistema en el espacio estado. Para ello escogemos o las variables de estado, x1 = y x2 = . De ello se deduce. f1 (x1 , x2 , u) = x1 = x2 g 1 f2 (x1 , x2 , u) = x2 = sin x1 + 2 T l ml La representaci n del sistema linealizado en el espacio estado es. o ][ ] [ ] [ ] [ x1 x1 f1 / x1 f1 / x2 f1 / u + u = f2 / x1 f2 / x2 x2 f2 / u x2
15
3 EJERCICIOS
Soluci n o
Linealizando el sistema p ndulo invertido usando matem tica simb lica de MATLAB. e a o % Linealizacin Pndulo Simple o e syms x1 x2 T g l m u % Ecuacin de estado del pndulo simple o e f1=x2; f2=-(g/l)*sin(x1)+(1/m*l^2)*T; f=[f1;f2]; % Vector de estados y se~al de entrada n V=[x1 x2]; U=[T]; % Condiciones iniciales en el punto de operacin o x1=0; x2=0; % x2=pi; u=0; % Construimos el Jacobiano A=subs(jacobian(f,V)); B=subs(jacobian(f,U)); %A = %[ 0, 1] %[ -g/l, 0] % B = % [ 0] % [ 1/m*l^2] % Parmetros de sistema a g=9.8; l=1; m=1; A=subs(jacobian(f,V)); B=subs(jacobian(f,U)); Creamos las funciones para el p ndulo simple no linealizado y lineal. Vamos a comprobar en qu medida e e el punto de operaci n compromete la estabilidad del sistema para el caso del sistema linealizado. o function dot=pend_nolinfun(t,x) g=9.8; l=1; m=1; T=0.5; dot(1)=x(2); dot(2)=-(g/l)*sin(x(1))+(1/m*l^2)*T; dot=[dot(1);dot(2)]; Creando la funci n no lineal o function dot=pend_linfun(t,x) g=9.8; l=1; m=1; T=0.5; dot(1)=x(2); dot(2)=-(g/l)*x(1)+(1/m*l^2)*T; dot=[dot(1);dot(2)]; M.Sc. Ricardo Rodrguez Bustinza 16
3 EJERCICIOS
El siguiente programa en MATLAB comprueba que el sistema no lineal, se vuelve m s inestable a medida a que se incrementa el torque T . Es importante mantener el sistema para peque as variaciones en la posici n n o del angulo alrededor de cero cuando se le tenga que controlar al sistema del p ndulo simple. e % Sistema No Lineal % Ploteo de la funcin no lineal debido a un T=0.5 o tn0=0; tnf=5; xn0=[0;0]; [tn,xn]=ode23(pend_nolinfun,[tn0 tnf],xn0); figure plot(tn,xn(:,1),k,tn,xn(:,2),m) grid legend(posicin,velocidad) o % Sistema Linealizado % Ploteo de la funcin lineal debido a un T=0.5 o tl0=0; tlf=5; xl0=[0;0]; [tl,xl]=ode23(pend_linfun,[tl0 tlf],xl0); figure plot(tl,xl(:,1),k,tl,xl(:,2),m) grid legend(posicin,velocidad) o % Comparando posicin no lineal y posicin lineal o o figure plot(tn,xn(:,1),k) hold plot(tl,xl(:,1),k-.), grid title(Posicin para el pndulo si T=0.5) o e legend(Pos. No Lineal,Pos. Lineal) Las Figuras 8 y 9 muestran como el sistema no lineal se hace m s inestable a medida que se aumenta el a torque T .
Posicion para el pendulo si T=0.5 0.12 Pos. No Lineal Pos. Lineal
0.1
0.08
0.06
0.04
0.02
0.5
1.5
2.5
3.5
4.5
17
3 EJERCICIOS
Posicion para el pendulo si T=2 0.45 Pos. No Lineal Pos. Lineal 0.4
0.35
0.3
0.25
0.2
0.15
0.1
0.05
0.5
1.5
2.5
3.5
4.5
Ejemplo # 4
Se requiere llevar a cabo un redise o de un sistema de control integral con una red de adelanto para obtener n una respuesta del circuito RC (R = 2K y C = 46 F) para las consideraciones de dise o con sobrepaso n Mp 30 % con un tiempo pico t p 0.5 seg. La ecuaci n de la red de compensaci n de adelanto de fase o o con acci n integral presenta el siguiente modelo matem tico. o a Gc (s) = Kc s+z s(s + p)
Donde Kc es la ganancia de la red de compensaci n. A partir de las especicaciones de desempe o deo n seadas se determin la ubicaci n de los polos dominantes deseados las que son detalladas en el c digo o o o MATLAB. Gp = tf(1,[tau 1]); % Calculo del periodo de muestreo %ltiview(step,Gp) T = 0.202/10; Mp = 0.3; tp = 0.5; wd = pi/tp; e = 1/((sqrt((pi/(-log(0.3)))^2 + 1))); wn = wd/(sqrt(1 - e^2)); sigma = e*wn; zero = -1/tau; polo = zero/2; pd = -sigma +1j*wd; % Calculo de la ganancia n2 = [1 -zero]; d2 = conv([tau 1 0], [1 -polo]); k1 = polyval(n2, pd); k2 = polyval(d2, pd); K = abs(k2/k1); % TMS syms s R =(1/(tau*s +1))*((s-zero)/(s-polo))*(1/s); M.Sc. Ricardo Rodrguez Bustinza 18
3 EJERCICIOS
R=simplify(R); pretty(R) K = 1/abs(subs(R,s,pd)); Gc = tf(K*[1 -zero],[1 -polo 0]); Gc=zpk(Gc); F = Gp*Gc/(1 + Gp*Gc); % Estrategia de control digital (Redise~o) n [N,D] = tfdata(Gc,v); N = poly2sym(N,s); D = poly2sym(D,s); syms z Gd = N/D; Gd = subs(Gd,{s},(2*(z-1))/(T*(z+1))); Gd = simplify(Gd); Gd = vpa(Gd,4); pretty(Gd); [ND DD] = numden(Gd); ND = sym2poly(ND); DD = sym2poly(DD); GD = tf(ND, DD,T); sim(adelanto_rc_mdl); El controlador digital se basa en la t cnica de control por redise o por aproximaci n bilineal que viene e n o representado en la siguiente funci n de transferencia: o D(z) = 0.045857(z + 1)(z 0.8022) (z 1)(z 0.8959)
En la Figura 10 se muestra la respuesta de sistema de control debido a una entrada escal n unitario. Esta o respuesta es obtenida desde el programa en Simulink que queda para el lector completar las simulaciones, entre ellas la se al de control. n
1.4
1.2
Figura 10: Respuesta de sistema de control debido a una entrada escal n unitario. o
19
3 EJERCICIOS
Algebra Lineal colspace det diag eig expm inv jordan null poly rank tril triu Simplicaci n o collect expand factor horner numden simple simplify subexpr Colecciona t rminos comunes e Expande polinomios y funciones elementales Factor Representaci n de polinomio aninado o Numerador y denominador Busca la forma corta Simplicaci n o Rescribe los t rminos o subexpresiones e Base espacio de columna Determinante Crea o extrae diagonales valores y vectores propios Matriz exponencial Matriz inversa Forma can nica de Jordan o Base para el espacio nulo Polinomio caracterstico Rango de matriz Tri ngulo inferior a Tri ngulo superior a
Soluci n de Ecuaciones o compose dsolve nverse solve Precisi n Aritm tica o e digits vpa Conjunto de variables de precisi n o Variable de precisi n aritm tica o e 20 Composici n de funciones o Soluci n de ecuaciones diferenciales o Inversa de una funci n o Soluci n de una ecuaci n algebraica o o
3 EJERCICIOS
Operaciones Aritm ticas e + .* / ./ \ .\ . . Aplicaciones Gr cas a ezplot funtool rsums Operaciones B sicas a ccode conj ndsys imag latex pretty real Expresi n c digo C para expresiones simb licas o o o Complejo conjugado Determina variables simb licas o Parte imaginaria de un n mero complejo u A Representaci n simb lica en LTEX o o Imprime expresiones simb licas o N mero con parte o imaginaria u Funci n de ploteo o Funci n calculadora o Suma de Riemann Adici n o Sustracci n o Multiplicaci n o Arreglo de multiplicaci n o Divisi n por la derecha o Arreglo de divisi n por la derecha o Divisi n por la izquierda o Arreglo de divisi n por la izquierda o Operador potencia Arreglo de operador potencia Transpuesta conjugada compleja Arreglo de transpuesta
Transformadas e Inversas fourier ifourier ilaplace iztrans laplace ztrans Transformada de Fourier Transformada inversa de Fourier Transformada inversa de Laplace Transformada inversa Z Transformada de Laplace Transformada Z
21