UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - IIPRACTICAS DE LABORATORIO CON MATLAB Ejercicios resueltos de: Fracciones Parciales, Transformadas de Laplace, Transformada Inversa de Laplace, Lugares Geométricos de las raíces, Grafica del Lugar Geométrico de las raíces, Funciones de Transferencia. I. DESARROLLO DE FRACCIONES PARCIALES SIMPLES CON MATLAB Ejemplo 1. Descomponer la siguiente función en fracciones parciales: F ( s) s 3 s 3s 2 2 Solución >> num=[0 1 3]; >> den=[1 3 2]; >> [R,P,K]=residue(num,den) R= -1 2 P= -2 -1 K= [] De tal manera que el resultado de la descomposición en fracciones parciales de la función anterior sería: F ( s) s 3 s 3s 2 2 1 s 2 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 = s+3 ------------s^2 + 3 s + 2 Ing. Willy Morales Alarcón Página 1 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Ejemplo 2. Considere la siguiente función de transferencia, exprese en términos de fracciones parciales: B( s) A( s ) 2s 3 5s 2 3s 6 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) A( s ) B( s) A( s ) 2s 3 5s 2 3s 6 s 3 6 s 2 11s 6 6 s 3 4 s 2 3 s 1 2 2 s 3 5 s 2 3s 6 s 3 6 s 2 11s 6 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 Ing. Willy Morales Alarcón Página 2 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Ejemplo 3. Obtenga el desarrollo de B(s)/A(s) siguiente en fracciones simples utilizando MATLAB B( s) A( s ) 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 II. s 2 2s 3 ( s 1)3 s 2 2s 3 s 3 3s 2 3s 1 Solución TRANSFORMADA DE LAPLACE CON MATLAB Ejemplo 1. Obtenga la Transformada de Laplace de la siguiente función: 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 s 2 16 Página 3 Ing. Willy Morales Alarcón UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Ejemplo 2. Obtenga la Transformada de Laplace de la siguiente función: f (t ) >> syms t >> f=4-4*exp(-0.5*t); >> F=laplace(f) F= 4/s - 4/(s + 1/2) >> pretty(F) 4 4e Solución 0.5 t 4 s 4 s 1 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 Ing. Willy Morales Alarcón Página 4 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II III. TRANSFORMADA INVERSA DE LAPLACE CON MATLAB Ejemplo 1: Obtenga la Transformada de Laplace inversa de la siguiente función: F ( s) >> w=sym('w'); >> s=sym('s'); >> F=w/(s^2+w^2); >> C=ilaplace(F) C= sin(t*w) >> pretty(C) sin(t w) w s w2 2 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) Ing. Willy Morales Alarcón Página 5 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II 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= 4/exp(3*t) - 3/(2*exp(2*t)) - 3/(2*exp(4*t)) >> pretty(F) 4 exp(3t ) 3 2exp(2t ) 3 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)'); Ing. Willy Morales Alarcón Página 6 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Grafica en el dominio del tiempo 5 f(t) 4 Funcion f(t) 3 2 1 0 0 1 2 3 t 4 5 6 >> 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)'); Ing. Willy Morales Alarcón Página 7 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Ejemplo 5. Obtenga la Transformada de Laplace inversa de la siguiente función: F ( s) >> syms s >> f=(6*s+3)/s^2; >> F=ilaplace(f) F= 3*t + 6 6s 3 s2 Solución >> 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)'); Ing. Willy Morales Alarcón Página 8 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Ejemplo 6. Obtenga la Transformada de Laplace inversa de la siguiente función: F ( s) 5s 2 ( s 1)( s 2)2 Solución >> syms s >> f=(5*s+2)/[(s+1)*(s+2)^2]; >> F=ilaplace(f) F= 3/exp(2*t) - 3/exp(t) + (8*t)/exp(2*t) >> pretty(F) 3 exp(2t ) 3 exp(t ) 8t exp(2t ) 2t equivalente a : 3e 3e t 8te 2t >> 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)'); Ing. Willy Morales Alarcón Página 9 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Ejemplo 7. Obtenga la Transformada de Laplace inversa de la siguiente función: F ( s) >> 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) 1 s (s 2 2 w2 ) Solución t w2 sin(tw) w3 t w2 1 sin( wt ) w3 equivalente a : Ejemplo 8. Obtenga la Transformada de Laplace inversa de la siguiente función: F ( s) >> syms s >> f=[10*(s+2)*(s+4)]/[(s+1)*(s+3)*(s+5)^2]; >> F=ilaplace(f) F= 10( s 2)( s 4) (s 1)(s 3)(s 5)2 Solución 15/(16*exp(t)) + 5/(4*exp(3*t)) - 35/(16*exp(5*t)) + (15*t)/(4*exp(5*t)) >> pretty(F) 15 5 35 15 t ------------ + ------------ - ------------- + ------------16 exp(t) 4 exp(3 t) 16 exp(5 t) 4 exp(5 t) equivalente a : 15 e 16 t 5 e 4 3t 35 e 16 5t 15 e 4 5t >> 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'); Ing. Willy Morales Alarcón Página 10 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II >> ylabel('Funcion (t)'); >> title('Grafica en el dominio del tiempo');legend('f(t)'); Grafica en el dominio del tiempo 1 f(t) 0.9 0.8 0.7 Funcion (t) 0.6 0.5 0.4 0.3 0.2 0.1 0 0 1 2 3 4 5 t 6 7 8 9 10 Ejemplo 9. Obtenga la Transformada de Laplace inversa de la siguiente función: F ( s) s 4 5s3 6s 2 9s 30 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= 23/(18*exp(t)) - 3/(26*exp(3*t)) + dirac(t) - (253*(cos(3*t) + (399*sin(3*t))/253))/(117*exp(t)) >> pretty(F) Equivalente a : 23 e 18 t 3 e 26 3t (t ) 253 t 399 t e cos(3t ) e sin(3t ) 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)´); Ing. Willy Morales Alarcón Página 11 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II IV. LUGARES GEOMETRICOS DE LAS RAICES CON MATLAB Encontrar los Ceros y Polos de B(s)/A(s) con MATLAB. MATLAB tiene una función >> [z,p,k]=tf2zp(num,den) Para obtener los ceros, polos y ganancia k de B(s)/A(s). Ejemplo 1. Considérese el sistema definido por B( s) A( s ) s4 4s 2 16s 12 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: >> z=[-1; -3]; >> p=[0; -2; -4; -6]; >> k=4; >> [num,den]=zp2tf(z,p,k); >> printsys(num,den,'s'); Ing. Willy Morales Alarcón Página 12 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II num/den = 4 s^2 + 16 s + 12 -----------------------------------s^4 + 12 s^3 + 44 s^2 + 48 s OBTENCION DE FUNCIONES DE TRANSFERENCIA EN CASCADA, PARALELO Y REALIMENTADAS (EN LAZO CERRADO) UTILIZANDO MATLAB Supóngase que hay dos componentes G1(s) y G2(s) conectadas de diferentes formas como se ve en la fig. R(s ) G1(s) G1(s) R(s ) G2(s) R(s ) G1(s) C(s ) C(s ) G2(s) C(s ) G2(s) Donde: G1 ( s) num1 , den1 G2 ( s) num2 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 , 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 G1 (s) 2 instrucción: >> printsys(num,den) Muestra el C ( s) num [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) Ing. Willy Morales Alarcón Página 13 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II 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 GRAFICA DEL LUGAR DE LAS RAICES CON MATLAB Grafica de los lugares de las raíces con MATLAB. Al dibujar los lugares de las raíces con MATLAB, se utiliza la ecuación del sistema obtenida por la ecuación que se escribe como: 1 k num num den 0 Donde num es el polinomio del numerador y den es el polinomio del denominador. Es decir, ( s z1 )( s z2 ).....( s zm ) num s den m ( z1 z2 ..... zm )s m 1 ...... z1 z2 .....zm den ( s p1 )( s p2 ).....( s pn ) p2 ..... pn )s n 1 s n ( p1 ...... p1 p2 ..... pn Obsérvese que ambos vectores, num y den, deben escribirse en potencias decrecientes des. Una orden de MATLAB que se usa con frecuencia para dibujar los lugares de las raíces es >> rlocus(num,den) Con esta orden se dibuja en la pantalla la grafica del lugar de las raíces. El vector de ganancias k se determina de forma automática). El vector k contiene todos los valores de ganancias para los cuales se van a calcular los polos en lazo cerrado). Para los sistema definidos en el espacio de estados, rlocus (A, B, C,D) dibuja el lugar de las raíces del sistema con el vector de ganancias automáticamente determinado. Obsérvese que las ordenes: rlocus(num,den,k) y rlocus(A,B,C,D,K) utilizan el vector de ganancias k proporcionado por el usuario. Si se invoca con los argumentos del lado izquierdo >> [r,k]=rlocus(num,den) >> [r,k]=rlocus(num,den,k) Ing. Willy Morales Alarcón Página 14 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II >> [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: G( s) H ( s) G( s) H ( s) G( s) H ( s) k (s 1) s(s 2)(s 3) 10k (s 1) s(s 2)(s 3) 200k (s 1) 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) s ( s 4)( s 6)( s 2 1, 4s 1) C(s) 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)]') Ing. Willy Morales Alarcón Página 16 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II Observe que en el Programa MATLAB en lugar de >> 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 G( s) H ( s) G( s) H ( s) k s(s 0.5)(s s 4 3 2 0.6s 10) k 1.1s 10.3s 2 5s No hay ceros en lazo abierto. Los polos en lazo abierto se localizan en s=-0.3+j3.1480, s=-0.3-j3.1480, s=-0.5 y s=0. Si se introduce en el computador el programa MATLAB, se obtiene la grafica del lugar de las raíces de la fig. >> %--lugar de las raices--% >> num=[0 0 0 0 1]; >> den=[1 1.1 10.3 5 0]; >> r=rlocus(num,den); >> plot(r,'o') >> v=[-6 6 -6 6];axis(v) >> grid >> title('Lugar de las raíces de G(s)=k/[s(s+0.5)(s^2+0.6s+10)]') >> xlabel('Eje Real') >> ylabel('Eje Imag') Ing. Willy Morales Alarcón Página 17 UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO CARRERA PROFESIONAL DE INGENIERÍA ELÉCTRICA 2013 - II >> %--lugar de las raices--% >> num=[0 0 0 0 1]; >> den=[1 1.1 10.3 5 0]; >> k1=0:0.2:20; >> k2=20:0.1:30; >> k3=30:5:1000; >> k=[k1 k2 k3]; >> r=rlocus(num,den,k); >> plot(r,'o') >> v=[-4 4 -4 4];axis(v) >> grid >> title('Lugar de las raices de G(s)=k/[s(s+0.5)(s^2+0.6s+10)]') >> xlabel('Eje Real') >> ylabel('Eje Imag') Ing. Willy Morales Alarcón Página 18
Report "Problemas y Ejercicios Resueltos Con MatLab"