MATLAB CAP1-4

“UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE” EXTENSIÓN - LATACUNGA ELECTRÓNICA E INSTRUMENTACIÓN SISTEMAS DE CONTROL E

Views 111 Downloads 53 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

“UNIVERSIDAD DE LAS

FUERZAS ARMADAS - ESPE” EXTENSIÓN - LATACUNGA

ELECTRÓNICA E INSTRUMENTACIÓN

SISTEMAS DE CONTROL EJERCICIOS DE MATLAB CAP 1-4 NOMBRES: KEVIN MUYÓN CHRISTIAN TIPAN ROBERTO VALLEJO EDWIN QUINATOA

NIVEL: SEXTO

1. TEMA: Ejercicios en el software Matlab capítulos 1 al 4 libro Sistemas de Control de Norman S. Nise 2. OBJETIVOS: General Desarrollar los ejercicios planteados en el software Matlab de los capítulos 1 al 4. Específicos:  Comprender las funciones básicas del software Matlab  Utilizar las funciones en el desarrollo de programas 3. RESUMEN Los ejercicios que se proponen para ser realizados en el software MATLAB, el mismo que es un programa para resolver procesos y problemas que resueltos a mano nos tomaría mucho tiempo su resolución, como una de sus aplicaciones tiene la Transformada de Laplace, que sirve para el análisis de las funciones de transferencia y por tanto del comportamiento de los sistemas matemáticos que permite resolver casi todo tipo de problemas, utilizando distintos comandos que ayudan a simplificar las operaciones 4. ABSTRACT The exercises that they propose to be realized in the software MATLAB, the same one that it is a program to solve processes and problems that solved to hand us his resolution would take a lot of time, as one of his applications it has the Laplace's Transformed one, which serves for the analysis of the functions of transfer and therefore of the behavior of the mathematical systems that allows to solve almost all kinds of problems, using different commands that help to simplify the operations. 5. MARCO TEÓRICO

MATLAB (abreviatura de Matrix Laboratory, "laboratorio de matrices") es una herramienta de software matemático que ofrece un entorno de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está disponible para las plataformas Unix, Windows, Mac OS X y GNU/Linux.

Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI) y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El paquete MATLAB dispone de dos herramientas adicionales que expanden sus prestaciones, a saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de usuario - GUI). Además, se pueden ampliar las capacidades de MATLAB con las cajas de herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets). Es un software muy usado en universidades y centros de investigación y desarrollo. En los últimos años ha aumentado el número de prestaciones, como la de programar directamente procesadores digitales de señal o crear código VHDL.

El método de la transformada de Laplace aporta muchas ventajas cuando se usa para resolver ecuaciones diferenciales lineales, mediante su uso es posible convertir funciones tales como senoidales, exponenciales, en funciones algebraicas de una variable compleja

La transformada de Laplace es un método que transforma una ecuación diferencial en una ecuación algebraica más fácil de resolver.

6.

DESARROLLO

CAPITULO 2 PROGRAMA CH2P1

Se usarán 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 apóstrofos, tales como ‘ab’. Los comentarios se inician con el signo de % y MATLAB los ignora. Los números se ingresan sin ninguno otros caracteres. La aritmética se lleva a cabo mediante operadores aritméticos apropiados. '(ch2p1)' 'How are you?' -3.96 -4+7i -5-6j (-4+7i)+(-5-6i) (-4+7j)*(-5-6j) M=5 N=6 P=M+N

% Display label. % Display string. % Display scalar number -3.96. % Display complex number -4+7i. % Display complex number -5-6i. % Add two complex numbers and % display sum. % Multiply two complex numbers and % display product. % Assign 5 to M and display. % Assign 6 to N and display. % Assign M+N to P and display.

Figura N.-1 Respuesta del corrido del programa ch2p1

PROGRAMA CH2P2 Los polinomios en s se pueden representar como vectores renglón que contienen los coeficientes. De esta manera P1=s3+7s2-3s+23 se puede representar mediante el vector que se muestra a continuación 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)'

% Display label.

P1=[1 7 -3 23]

% Store polynomial s^3 + 7s^2 -3s+ % 23 as P1 and display.

Figura N.-2 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 exhibición de los resultados. Al escribir una expresión sin asignación en el primer miembro y sin punto y coma hace que la expresión sea evaluada y despliegue el resultado. '(ch2p3)' P2=[3 5 7 8];

% Display label. % Assign 3s^3 + 5s^2 +7s + 8 to P2 % without displaying. % Evaluate 3*5 and display result.

3*5

Figura N.-3 Respuesta del corrido del programa ch2p3

PROGRAMA CH2P4 Una función 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 renglón que contiene las raíces del polinomio y poly (V) forma los coeficientes del polinomio. '(ch2p4)'

% Display label.

P3=poly([-2 -5 -6]);

% Store polynomial % (s+2)(s+5)(s+6) as P3 and % display the coefficients

Figura N.-4 Respuesta del corrido del programa ch2p4

PROGRAMA CH2P5 Se puede determinar las raíces mediante el comando roots (V). Las raíces se regresan como una vector columna. Por ejemplo, encuentre las raíces de 5s4+7s3+9s2- 3s+2=0.

'(ch2p5)' P4=[5 7 9 -3 2] % display. rootsP4=roots(P4)

% Display label. % Form 5s^4+7s^3+9s^2-3s+2 and % Find roots of 5s^4+7s^3+9s^2- 3s+2, % assign to rootsP4, and display.

Figura N.-5 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 convolución). De esta manera, P5=(s3+7s2+10s+9)(s4- 3s3+6s2+2s+1) se genera como sigue:

'(ch2p6)' P5=conv([1 7 10 9],[1 -3 6 2 1]) and

% Display label. % Form (s^3+7s^2+10s+9)(s^4% 3s^3+6s^2+2s+1), assign to P5, % display.

Figura N.-6 Respuesta del corrido del programa ch2p6

PROGRAMA CH2P7 La expansión 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= raíces del denominador, k= coeficiente directo, lo cual se encuentra mediante la división de los polinomios antes de realizar la expansión en fracciones parciales). Como un ejemplo se expande: F(s) = (7s2+9s+12)/[s(s+7)(s2+10s+100)].

'(ch2p7)' % Display label. numf=[7 9 12]; % Define numerator of F(s). denf=conv(poly([0 -7]),[1 10 100]); % Define denominator of F(s). [K,p,k]=residue(numf,denf) % Find residues and assign to K; % find roots of denominator and % assign to p; find % constant and assign to k.

Figura N.-7 Respuesta del corrido del programa ch2p7

PROGRAMA CH2P8 (Ejemplo 2.3) Realicemos el ejemplo 2.3 del libro mediante MATLAB.

'(ch2p8) Example 2.3' numy=32; deny=poly([0 -4 -8]); [r,p,k] = residue(numy,deny)

% Display label. % Define numerator. % Define denominator. % Calculate residues, poles, and % direct quotient.

Figura N.-8 Respuesta del corrido del programa ch2p8

Los estudiantes que trabajen los ejercicios en MATLAB, y deseen explorar las rutinas de matemáticas simbólicas (Symbolic Math Toolbox del MATLAB), deben correr el ch2sp1 y el ch2sp2 del Apéndice E. Aprenderán a construir objetos simbólicos 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 sección se resolverán usando las rutinas de matemáticas simbólica Symbolic Math Toolbox

PROGRAMA CH2SP1

Modelado en el dominio de la frecuencia El poder de cálculo de MATLAB se ve enriquecido ampliamente al usar las Rutinas de Matemáticas Simbólicas. En este ejemplo se demuestra su poder mediante el cálculo de transformadas inversas de F(s). El inicio de cualquier cálculo simbólico requiere definir los objetos simbólicos. Por ejemplo, la variable de transformada de Laplace, s, o la variable de tiempo, t, se deben definir como objetos simbólicos. La definición se realiza mediante el uso del comando syms. De esta manera syms s define s como un objeto simbólico; syms t define t como un objeto simbólico: syms s t define a s y t ambas como objetos simbólicos. Solamente

se necesitan definir los objetos que entran al programa. Las variables producidas por el programa no necesitan definirse. De este modo, si se está determinando transformadas inversas de Laplace, solamente se necesita definir s como objeto simbólico, puesto que t resulta del cálculo. Una vez que se define el objeto, se puede escribir F como una función de s como se hace normalmente a mano. No se tienen que usar vectores para representar el numerador y el denominador. Las transformadas de Laplace de funciones del tiempo también se pueden imprimir en MATLAB Command Window como normalmente se escriben. Esta forma se denomina impresión bonita. El comando es pretty (F), donde F es la función que se quiere imprimir en bonito. El siguiente código, usted puede ver la diferencia entre impresión normal e impresión bonita si usted corre el código sin los puntos y coma en los pasos donde las funciones, F o f, se definen. Una vez que F se define como F(s), se puede determinar la transformada inversa de Laplace al usar el comando Laplace (F). En el siguiente ejemplo se determinan las transformadas inversas de Laplace de las funciones de frecuencia en los ejemplos usados para los casos 2 y 3 en la sección 2.2 del libro

'(ch2sp1)' syms s Laplace transform' F=2/[(s+1)*(s+2)^2]; Case 2' pretty(F) f=ilaplace(F); 'f(t) for Case 2'

% Display label. % Construct symbolic object for % Laplace variable 's'. 'Inverse % Display label. % Define F(s) from Case 2 example. 'F(s) from % Display label. % Pretty print F(s). % Find inverse Laplace transform. % Display label.

pretty(f)

% Pretty print f(t) for Case 2. F=3/[s*(s^2+2*s+5)]; % Define F(s) from Case 3 example. 'F(s) for Case % Display label. % Pretty print F(s) for Case 3. % Find inverse Laplace transform. % Display label. % Pretty print f(t) for Case 3.

3' pretty(F) f=ilaplace(F); 'f(t) for Case 3' pretty(f)

Figura N.-9 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 función del tiempo, f(t). Como un ejemplo se usan las funciones del tiempo que resultan de los casos 2 y 3 en la sección 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. Además de la impresión bonita estudiada en el ejemplo anterior, las Rutinas de Matemáticas Simbólica contienen otros comandos que cambian la apariencia de los resultados desplegados para legibilidad y forma. Algunos de los comandos son collect(F), reúne los términos con coeficientes comunes de F; expand (F)- expande los productos de factores; factor(F) – factores de F; simple(F)- determina la forma más sencilla de F con el menor número de términos; simplify (F) – simplifica F; vpa (expresssion, palces) – quiere decir precisión aritmética variable; este comando convierte

términos simbólicos fraccionarios en términos decimales con un número específico de decimales. Por ejemplo, la fracción simbólica 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 función 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 simbólicas a decimal en el resultado desplegado.

'(ch2sp2)' syms t 'Laplace transform' 'f(t) from Case 2' f=2*exp(-t)-2*t*exp(-2*t)-2*exp(-2*t); pretty(f) example. 'F(s) for Case 2' F=laplace(f); pretty(F) F=simplify(F); pretty(F) 'f(t) for Case 3' 3/5*exp(-t)*[cos(2*t)+(1/2)*sin(2*t)]; pretty(f) Symbolic fractions' F=laplace(f); pretty(F)

% Display label. % Construct symbolic object for % time variable 't'. % Display label. % Display label. % Define f(t) from Case 2 example. % Pretty print f(t) from

Case

% Display label. % Find Laplace transform. % Pretty print partial fractions of % F(s) for Case 2. % Combine partial fractions. % Pretty print combined partial fractions. % Display label. f=3/5% Define f(t) from Case 3 example. % Pretty print f(t) for Case 3. 'F(s) for Case 3 % Display label. % Find Laplace transform. % % Pretty print partial fractions of % F(s) for Case 3. 'F(s) for

Case 3 - Decimal representation' F=vpa(F,3); fractions to

% Display label. % Convert

symbolic

% 3-place decimal representation for F(s). pretty(F) F=simplify(F); pretty(F)

% Pretty print decimalrepresentation. % Combine partial fractions. % Pretty print combined partial fractions.

numerical

2

Figura N.-10 Respuesta del corrido del programa ch2sp2_caso 2

Figura N.-11 Respuesta del corrido del programa ch2sp2_caso3

Los estudiantes que están usando Matlab deben correr ahora el ch2p9 al ch2p11 del apéndice B. Aprenderán a usar Matlab para crear funciones de transferencia con numeradores y denominadores en polinomios o en forma factorizada. También aprenderán a convertir los polinomios y su forma factorizada.

CH2P9 CREACIÓN DE FUNCIONES DE TRANSFERENCIA Método vectorial, forma polinomial: Una función 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 renglón, numf, que contiene los coeficientes de N(s). De manera similar el denominador D(s), se representa mediante un renglón denf, que contiene los coeficientes de D(s). Método vectorial, forma factorizada: También se pueden crear funciones de transferencia LTI si el numerador y el denominador están expresados en forma factorizada. Esto se logra mediante el uso de vectores renglón que contienen las raíces del numerador y del denominador. De este modo G(s)=K*N(s)/D(s) expresado como G=zpk(numg,deng,K).

Método de la expresión racional en s, forma polinomial (Se requieren las Rutinas de Sistemas de Control 4.2): Este método permite escribir la función de transferencia como usted lo hace normalmente. La declaración s=tf(‘s’) debe preceder a la función de transferencia si se desea crear una función de transferencia LTI en la forma polinomial equivalente a que se tiene al usar G=tf(numg, deng).

Método de la expresión racional en s, forma factorizada (Se requieren las Rutinas de Sistemas de Control 4.2): Este método permite escribir la función de transferencia como usted lo hace normalmente. La declaración s=zpk(‘s’) debe preceder a la función de transferencia si se desea crear una función de transferencia LTI en la forma polinomial equivalente a que se tiene al usar G=zpk(numg, deng,K).

PROGRAMA CH2P9

'(ch2p9)' 'Vector Method, Polynomial Form' numf=150*[1 2 7] % display. denf=[1 5 4 0] % display. 'F(s)'

% Display label. % Display label. % Store 150(s^2+2s+7) in numf and % Store s(s+1)(s+4) in denf and % Display label.

F=tf(numf,denf) % Form F(s) and display. clear % Clear previous variables from workspace. 'Vector Method, Factored Form' % Display label. numg=[-2 -4] % Store (s+2)(s+4) in numg and % display. deng=[-7 -8 -9] % Store (s+7)(s+8)(s+9) in deng and % display. K=20 % Define K. 'G(s)' % Display label. G=zpk(numg,deng,K) % Form G(s) and display. clear % Clear previous variables from workspace. 'Rational Expression Method, Polynomial Form' % Display label. s=tf('s') % Define 's' as an LTI object in polynomial form. F=150*(s^2+2*s+7)/[s*(s^2+5*s+4)] % Form F(s) as an LTI transfer function in % polynomial form. G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] % Form G(s) as an LTI transfer function in % polynomial form. clear % Clear previous variables from 'Rational Expression Method, Factored Form' % Display label. s=zpk('s') % Define 's' as an LTI object in factored form. F=150*(s^2+2*s+7)/[s*(s^2+5*s+4)] % Form F(s) as an LTI transfer function in % factored form. G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] % Form G(s) as an LTI transfer function in % factored form.

Figura N.-12 Respuesta del corrido del programa ch2p9

Figura N.-13 Respuesta del corrido del programa ch2p9

Figura N.-14 Respuesta del corrido del programa ch2p9

Figura N.-15 Respuesta del corrido del programa ch2p9

PROGRAMA CH2P10 Los vectores del numerador y del denominador de la función de transferencia pueden convertir de la forma polinomial que contienen coeficientes y la forma factorizada que contienen raíces. La función de MATLAB tf2zp(numtf, dentf) convierte numerador y denominador de coeficientes a raíces.

'(ch2p10)' 'Coefficients for F(s)' numftf=[10 40 60] % (10s^2+40s+60)/(s^3+4s^2+5s+7).

% Display label. % Display label. % Form numerator of F(s) =

denftf=[1 4 5 7] 'Roots for F(s)' [numfzp,denfzp]=tf2zp(numftf,denftf) 'Roots for G(s)' numgzp=[-2 -4] K=10 10(s+2)(s+4)/[s(s+3)(s+5)]. dengzp=[0 -3 -5] % G(s) = 10(s+2)(s+4)/[s(s+3)(s+5)]. 'Coefficients for G(s)' [numgtf,dengtf]=zp2tf(numgzp',dengzp',K)

% Form denominator of % F(s) = % (10s^2+40s+60)/(s^3+4s^2+5s+7). % Display label. % Convert F(s) to factored form. % Display label. % Form numerator of % G(s) = % Form denominator of

%

Display

label.

% Convert G(s) to polynomial form.

Figura N.-16 Respuesta del corrido del programa ch2p10

Figura N.-17 Respuesta del corrido del programa ch2p10

Figura N.-18 Respuesta del corrido del programa ch2p10

PROGRAMA CH2P11 Los modelos LTI también se pueden convertir de la forma polinomial la forma factorizada. Los comandos de MATLAB tf y zpk se usan para la conversión entre modelos LTI. Si una función de transferencia Fzpk(s) se expresa como factores en el numerador y el denominador, entonces tf(Fxzpk) convierte a Fzpk(s) a una función de trasferencia expresada como coeficientes en el numerador y en el denominador. De modo similar, si la función de transferencia Ftf(s) se expresa como coeficientes en numerado y en denominador.

'(ch2p11)' 'Fzpk1(s)' Fzpk1=zpk([-2 -4],[0 -3 -5],10) % Form Fzpk1(s)= % 10(s+2)(s+4)/[s(s+3)(s+5)]. 'Ftf1' Ftf1=tf(Fzpk1) % coefficients form. 'Ftf2' Ftf2=tf([10 40 60],[1 4 5 7]) % Form Ftf2(s)= 'Fzpk2' Fzpk2=zpk(Ftf2)

Figura N.-19 Respuesta del corrido del programa ch2p11

% Display label. % Display label.

% Display label. % Convert Fzpk1(s) to % Display label. % (10s^2+40s+60)/(s^3+4s^2+5s+7). % Display label. % Convert Ftf2(s) to % factored form.

Figura N.-20 Respuesta del corrido del programa ch2p11

Los estudiantes que trabajan los ejercicios de Matlab y deseen explorar las rutinas, deben correr ahora el ch2sp3 del apéndice E .Aprenderán a usar las rutinas de matemática simbólica para simplificar la entrada de funciones de transferencia complicadas, así como mejorar su legibilidad. Aprenderá a introducir una función de transferencia simbólica y convertirla en un objeto lineal en invariante en el tiempo (LTI) como se presenta en el apéndice 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 función de transferencia, G (s) = numg / Deng, a través de declaraciones de matemáticas simbólicas. Entonces, convertir G (s) a una función de transferencia de objetos LTI. Esta conversión se

realiza en dos pasos. El primer paso utiliza el comando [numg, deng] = numden (G) para extraer el numerador y el denominador simbólico 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 simbólico. El último paso consiste en la formación de la función de transferencia de objetos LTI utilizando la representación vectorial de numerador y el denominador de la función 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

% Display label. % Construct symbolic object for % frequency variable '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)); % Form symbolic G(s). 'Symbolic G(s)' % Display label. pretty(G) % Pretty print symbolic G(s). [numg,deng]=numden(G); % Extract symbolic numerator and denominator. numg=sym2poly(numg); % Form vector for numerator of G(s). deng=sym2poly(deng); % Form vector for denominator of G(s). 'LTI G(s) in Polynomial Form' % Display label. Gtf=tf(numg,deng) % Form and display LTI object for G(s) in % polynomial form. 'LTI G(s) in Factored Form' % Display label. Gzpk=zpk(Gtf) % Convert G(s) to factored form.

Figura N.-21 Respuesta del corrido del programa ch2sp3

PROGRAMA CH2P9

'(ch2p9)' 'Metodo vectorial,forma polinomial' numf=150*[1 2 7] denf=[1 5 4 0] 'F(s)' F=tf(numf,denf) clear

% Display label. % Display label. % Store 150(s^2+2s+7) in numf and % display. % Store s(s+1)(s+4) in denf and % display. % Display label. % Form F(s) and display. % Clear previous variables from workspace.

Figura N.-22 Respuesta del corrido del programa ch2sp9

numg=[-2 -4] % display. deng=[-7 -8 -9] % display. K=20 'G(s)' G=zpk(numg,deng,K) clear

% Store (s+2)(s+4) in numg and % Store (s+7)(s+8)(s+9) in deng and % Define K. % Display label. % Form G(s) and display. % Clear previous variables from workspace.

Figura N.-23 Respuesta del corrido del programa ch2sp9

'Método de la expression racional' s=tf('s') form. F=150*(s^2+2*s+7)/[s*(s^2+5*s+4)]

% Display label. % Define 's' as an LTI object in polynomial % Form F(s) as an LTI transfer function in % polynomial form. % Form G(s) as an LTI transfer

G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] clear

% polynomial form. % Clear previous variables from workspace.

Figura N.-24 Respuesta del corrido del programa ch2sp9

'Metodo de la expression racional forma factorizada' s=zpk('s') F=150*(s^2+2*s+7)/[s*(s^2+5*s+4)]

% Display label. % Define 's' as an LTI object in factored form. % Form F(s) as an LTI transfer function in % factored form.

G=20*(s+2)*(s+4)/[(s+7)*(s+8)*(s+9)] % Form G(s) as an LTI transfer function in % factored form.

Figura N.-25 Respuesta del corrido del programa ch2sp9

Los estudiantes que estén trabajando ejercicios de MATLAB, y deseen explorar la capacidad agregada de las rutinas de matemática simbólica del MATLAB, deben ahora correr el ch2sp4 del Apéndice E, donde está resuelto el ejemplo 2.10.

Aprenderán a usar las rutinas de matemática simbólica para resolver ecuaciones simultaneas, usando la regla de Cramer, Específicamente, las rutinas de matemática simbólica se usaran para despejar la función de transferencia de la ecuación (2.82), utilizando las ecuaciones (2.80)

PROGRAMA CH2SP4

ch2sp4 (Ejemplo2.10) La Rutinas de Matemáticas Simbólicas de MATLAB se pueden usar para simplificar la solución de ecuaciones simultáneas mediante la regla de Cramer. Un sistema de ecuaciones simultaneas se pueden representar mediante Ax=B, donde A es una matriz formada por los coeficientes de las incógnitas en las ecuaciones simultaneas, x es el vector de incógnitas y B es un vector que contiene las entradas. La regla de Cramer establece que det(𝐴𝑘) /det(𝐴) , donde Ak es la matriz formada al reemplazar la k-ésima columna de la matriz A con el vector de entrada B . En el texto, se denomina det(A) como delta. En MATLAB, las matrices se escriben con espacio o coma para separar los elementos para cada uno de los reglones. El siguiente reglón se indica con un punto y coma o retorno de carro. La matriz completa está encerrada entre un par de paréntesis cuadrados. Al aplicar lo anterior a la solución del ejemplo 2.10 A=[(R1+L*s)-L*s; -L*s(L*s+R2+(1/(C*s)))] y Ak=[(R1+L*s) V;-L*s 0]. La función det(matrix) evalúa el determinante de una matriz cuadrada que se usa como argumento. Determinemos la función de transferencia, ( ) ( ) ( ) , solicitada en el ejemplo 2.10. El comando simple(s), donde s es una función simbólica, se introduce en la solución. El comando simple(s) simplifica la solución al reducir la longitud de s. El uso de simple(s) simplifica la solución al reducir la longitud de s. El uso de simple (I2) reduce la solución al combinar potencias iguales de la variable de Laplace, s

Ejemplo 2.10 Funcione transferencia y lazos múltiples Problema Dada la red de la figura 2.6a, encuentre la función de transferencia 𝐼2( )/ ( )

'(ch2sp4) Example 2.10' syms s R1 R2 L C V 'C', and 'V'. A2=[(R1+L*s) V;-L*s 0] A=[(R1+L*s) -L*s;-L*s(L*s+R2+(1/(C*s)))] I2=det(A2)/det(A); I2=simple(I2); G=I2/V; 'G(s)' pretty(G)

% Display label. % Construct symbolic objects for frequency % variable 's', and 'R1', 'R2', 'L', % Form Ak = A2. % Form A. % Use Cramer's Rule to solve for I2(s). % Reduce complexity of I2(s). % Form transfer function, G(s) = I2(s)/V(s). % Display label. % Pretty print G(s).

Figura N.-27 Respuesta del corrido del programa ch2sp4

Ejercicios del capítulo 2 del libro de Nise: 5.- Utilice MATLAB y las rutinas de matemáticas simbólicas para hallar la transformada de Laplace de las siguientes funciones de transferencia. a) 𝟓 𝒕𝟐 𝐜𝐨𝐬(𝟑 𝐭 + 𝟒𝟓) syms t f=5*t^2*cos(3*t+45); pretty(f) F=laplace(f); F=simple(F); pretty(F)

Figura N.-28 Respuesta del corrido del programa b) 𝟓 𝐭 𝐞 −𝟐𝒕 𝐬𝐢𝐧(𝟒 𝐭 + 𝟔𝟎) clc clear all syms t f=5*t*exp(-2*t)*sin(4*t+60); pretty(f) F=laplace(f); F=simple(F); pretty(F)

Figura N.-29 Respuesta del corrido del programa

12. Utilice Matlab para generar la función de transferencia 5(𝑠 + 15)(𝑠 + 26)(𝑠 + 72) 𝑠(𝑠 + 55)(𝑠 2 + 5𝑠 + 30)(𝑠 + 56)(𝑠 2 + 27 + 52) Programa: 'Factored' Gzpk=zpk([-15 -26 -72],[0 -55 roots([1 5 30])' roots([1 27 52])'],5) 'Polynomial' Gp=tf(Gzpk)

Resultado: ans = Factored Zero/pole/gain: 5 (s+15) (s+26) (s+72)

-------------------------------------------s (s+55) (s+24.91) (s+2.087) (s^2 + 5s + 30) ans = Polynomial Transfer function: 5 s^3 + 565 s^2 + 16710 s + 140400 -------------------------------------------------------------------s^6 + 87 s^5 + 1977 s^4 + 1.301e004 s^3 + 6.041e004 s^2 + 8.58e004 s

CAPITULO 3 Ejercicios pagina 148: Los estudiantes deben correr ahora del ch3p1 a la p4 del apéndice B Aprenderán a representar la matriz A del sistema, la matriz B de la entrada y la matriz C de la salida usando MATLAB. PROGRAMA CH3P1 Aprenderán a representar la matriz A del sistema, la matriz B de la entrada y la matriz C de la salida usando MATLAB. '(ch3p1)' A=[0 1 0;0 0 1;-9 -8 -7] 'o' A=[0 1 0 0 0 1 -9 -8 -7]

Figura N.-30 Respuesta del corrido del programa ch3p1 PROGRAMA CH3P2 Como ingresar vectores '(ch3p2)' C=[2 3 4] B=[7;8;9] 'o' B=[7 8 9] 'o' B=[7 8 9]'

Figura N.-31 Respuesta del corrido del programa ch3p2

PROGRAMA CH3P3 . Representa matrices como si fuera diagram de estados '(ch3p3)' A=[0 1 0;0 0 1;-9 -8 -7]; B=[7;8;9]; C=[2 3 4]; D=0; F=ss(A,B,C,D)

Figura N.-32 Respuesta del corrido del programa ch3p3

PROGRAMA CH3P4 Representation en diagram de estado desde una function de tranferencia '(ch3p4)' 'Conversión de la representación Numerador denominador' 'Controlador forma canónica' num=24; den=[1 9 26 24]; [A,B,C,D]=tf2ss(num,den) 'Forma de fase variable' P=[0 0 1;0 1 0;1 0 0]; Ap=inv(P)*A*P Bp=inv(P)*B Cp=C*P Dp=D 'Representación de objetos LTI' T=tf(num,den) Tss=ss(T)

Figura N.-33 Respuesta del corrido del programa ch3p4

Figura N.-34 Respuesta del corrido del programa ch3p4

Ejercicios pagina 153: Los estudiantes deben correr ahora del ch3p5 a la p4 del apéndice B Aprenderán a representar la matriz A del sistema, la matriz B de la entrada y la matriz C de la salida usando MATLAB. PROGRAMA CH3P5 Representa en función de transferencia un diagrama de estado '(ch3p5)' 'No LTI' A=[0 1 0;0 0 1;-9 -8 -7]; B=[7;8;9]; C=[2 3 4]; D=0; 'Ttf(s)' [num,den]=ss2tf(A,B,C,D,1) 'LTI' Tss=ss(A,B,C,D) 'Forma polinómica, Ttf (s)' Ttf=tf(Tss) 'Forma factorizada, Tzpk (s)' Tzpk=zpk(Tss)

Figura N.-34 Respuesta del corrido del programa ch3p5 Ejercicio de evaluación de destreza 3.4 Convierta las ecuaciones de estado y de salida que se muestran en las ecuaciones, en una función de transferencia 2 −4 −1,5 ] 𝑥 + [ ] 𝑢(𝑡) 0 4 0 𝑦 = [1,5 0.625]𝑥

𝑥̇ = [

Programa

𝐺(𝑠) = 𝐶(𝑠𝐼 − 𝐴)−1 𝐵 1 𝑠 −1,5 (𝑠𝐼 − 𝐴)−1 = 2 [ ] 𝑠 + 4𝑠 + 6 4 𝑠 + 4 3𝑠 + 5 𝐺(𝑠) = 2 𝑠 + 4𝑠 + 6

clc clear syms s 'MATRIZ DEL SISTEMA:' A=[0 1 0;0 0 1; -3 -2 -5] 'MATRIZ DE LA ENTRADA:' B=[0;0;10] 'MATRIZ DE LA SALIDA:' C=[1 0 0] 'MATRIZ DE LA PREALIMENTACION:' D=0 'MATRIZ IDENTIDAD' I=[1 0 0;0 1 0;0 0 1] 'T(s)' T=C*((s*I-A)^-1)*B+D pretty(T)

Ejercicios del capitulo 3 norman nise 10. - Repita el problema 9, usando MATLAB.

Código: num=[100];%Ingreso del numerador den=[1 20 10 7 100]%Ingreso del denumerador G=tf(num,den)%Forma G(s) y despliega [Acc,Bcc,Ccc,Dcc]=tf2ss(num,den);%Convierte G(s)a la forma canónica controlable es decir almacena matrices A,B,C,D y despliega Af=flipud(Acc);%Sirve para entregar las filas de la matriz Af en forma inversa A=fliplr(Af)%Sirve para entregar las columnas de la matriz A en forma inversa B=flipud(Bcc)%Sirve para entregar las filas de la matriz B en forma inversa C=fliplr(Ccc)%Sirve para entregar las columnas de la matriz C en forma invers

Ejecución:

Figura N.-36 Respuesta del corrido del programa

Código: num=[30];%Ingreso del numerador den=[1 8 9 6 1 30]%Ingreso del denumerador G=tf(num,den)%Forma G(s) y despliega [Acc,Bcc,Ccc,Dcc]=tf2ss(num,den); %Convierte G(s)a la forma canónica controlable es decir almacena matrices A,B,C,D y despliega Af=flipud(Acc);%Sirve para entregar las filas de la matriz Af en forma inversa A=fliplr(Af)%Sirve para entregar las columnas de la matriz A en forma inversa B=flipud(Bcc)%Sirve para entregar las filas de la matriz B en forma inversa C=fliplr(Ccc)%Sirve para entregar las columnas de la matriz C en forma inversa

Ejecución:

Figura N.-37 Respuesta del corrido del programa

12.-Repetir el problema 11, usando, MATLAB. b)

0 0 𝑋̇ = 0 0 [0

1 0 0 0 0 0 1 0 0 0 1 0 𝑋 + 0 𝑟(𝑡) 0 0 0 0 0 0 1 [ 1] 0 −8 −10 −9] 𝑐 = [3 7

12 2 1]𝑋

num=[1 2 12 7 3];%Ingreso del numerador den=[1 9 10 8 0 0]%Ingreso del denumerador G=tf(num,den)%Forma G(s) y despliega [Acc,Bcc,Ccc,Dcc]=tf2ss(num,den);%Convierte G(s) controlable es decir almacena matrices A,B,C,D y Af=flipud(Acc);%Sirve para entregar las filas de inversa A=fliplr(Af)%Sirve para entregar las columnas de

a la forma canónica despliega la matriz Af en forma la matriz A en forma

inversa B=flipud(Bcc)%Sirve para entregar las filas de la matriz B en forma inversa C=fliplr(Ccc)%Sirve para entregar las columnas de la matriz C en forma inversa

Figura N.-38 Respuesta del corrido del programa

𝒀(𝒔) ⁄𝑹(𝒔) para cada uno de los siguientes sistemas representados en el espacio de estados. 14. – Encuentre la función de transferencia 𝑮(𝒔) =

0 1 a) 𝑥̇ = [ 0 0 −3 −2

0 0 1 ]x + [ 0 ]r −5 10 y = [1

0 0]x

Código: syms s

% Construct symbolic object for frequency variable 's'.

A=[0 1 0;0 0 1;-3 -2 -5]; % Create matrix A. B=[0;0;10]; % Create vector B.

C=[1 0 0]; % Create vector C. D=0; % Create D. I=[1 0 0;0 1 0;0 0 1]; % Create identity matrix. 'T(s)' % Display label. T=C*((s*I-A)^-1)*B+D; % Find transfer function. pretty(T) % Pretty print transfer function.

Ejecución:

Figura N.-39 Respuesta del corrido del programa

2 3 b) 𝑥̇ = [ 0 5 −3 −5

−8 1 ] x + [ 3 4] r −4 6 y = [1

3 6]x

Código: syms s

% Construct symbolic object for frequency variable 's'.

A=[2 3 -8;0 5 3;-3 -5 -4]; % Create matrix A. B=[1;4;6]; % Create vector B. C=[1 3 6]; % Create vector C. D=0; % Create D. I=[1 0 0;0 1 0;0 0 1]; % Create identity matrix. 'T(s)' % Display label. T=C*((s*I-A)^-1)*B+D; % Find transfer function. pretty(T) % Pretty print transfer function.

Ejecución:

Figura N.-40 Respuesta del corrido del programa

3 −5 2 5 c) [ 1 −8 7] x + [−3] r −3 −6 2 2 y = [1 −4 3]x

Código: syms s % Construct symbolic object for frequency variable 's'. A=[3 -5 2;1 -8 7;-3 -6 2]; % Create matrix A. B=[5;-3;2]; % Create vector B. C=[1 -4 3]; % Create vector C. D=0; % Create D. I=[1 0 0;0 1 0;0 0 1]; % Create identity matrix. 'T(s)' % Display label. T=C*((s*I-A)^-1)*B+D; % Find transfer function. pretty(T) % Pretty print transfer function.

Ejecución:

Figura N.-41 Respuesta del corrido del programa

15.- Utilice matlab para hallar la función de transferencia, G(S)=Y(S)/R(S) de cada uno de los siguientes sistemas representados en el espacio de estados. CÓDIGO EN MATLAB a) clc clear all A=[0 1 3 0;0 0 1 0;0 0 0 1;-7 -9 -2 -3]; B=[0;5;8;2]; C=[1 3 4 6]; D=0; statespace=ss(A,B,C,D) [num,den]=ss2tf(A,B,C,D); G=tf(num,den)

Figura N.-42 Respuesta del corrido del programa b) clc clear all A=[3 1 0 4 -2;-3 5 -5 2 -1;0 1 -1 2 8;-7 6 -3 -4 0;-6 0 4 -3 1]; B=[2;7;6;5;4]; C=[1 -2 -9 7 6]; D=0; statespace=ss(A,B,C,D) [num,den]=ss2tf(A,B,C,D); G=tf(num,den)

Figura N.-43 Respuesta del corrido del programa

CAPITULO 4 Ejercicio 1 evaluacion del sobre pulso Búsqueda de Tp, %OS y Ts a partir de la posición del polo. Dado el patrón de polos que se muestran en la figura encuentre ξ y wn, Tp, %OS y Ts.

Código % Capítulo 4: Respuesta en el tiempo % % Ejemplo 4.6: % Podemos usar MATLAB para calcular las características de un % Sistema de segundo orden tal como relación de amortiguación, z; % Frecuencia natural, wn; por ciento, Overshoot,% OS (pos); % Tiempo de establecimiento, Ts; Y tiempo pico, Tp. Con la ayuda del % Ejemplo 4.6 en el texto. ' Ejemplo 4.6' p1=[1 3+7*i];

% Muestra etiqueta % Define el polinomio que contiene el

% el primer polo % Define el polinomio que contiene el % segundo polo. deng=conv(p1,p2); % Multiplica los dos polinomios para % encontrar el polinomio de segundo % orden: % as^2+bs+c. omegan=sqrt(deng(3)/deng(1)) % Calcula la frecuncia natural, % sqrt(c/a). zeta=(deng(2)/deng(1))/(2*omegan) % Calcula la relacion de amortiguamiento, % ((b/a)/2*wn). Ts=4/(zeta*omegan) % Calcula el tiempo de sedimentacion, %(4/z*wn). Tp=pi/(omegan*sqrt(1-zeta^2)) % Calcula el tiempo pico, pi/wn*sqrt(1% z^2). pos=100*exp(-zeta*pi/sqrt(1-zeta^2)) % Calcula el exceso de porcentaje % (100*e^(z*pi/sqrt(1-z^2)). p2=[1 3-7*i];

Figura N.-44 Respuesta del corrido del programa Ejercicio 2 comparación del sistema de tres polos Comparación de respuestas del sistema de tres polos Encuentre la respuesta escalón de cada una de las funciones de transferencia que se muestan

en las ecuaciones a continuación y compárense.

Figura N.-45 Respuesta del corrido del programa Código ' Example 4.8' 'Test Run' clf numt1=[24.542]; dent1=[1 4 24.542]; 'T1(s)' T1=tf(numt1,dent1) step(T1)

% Muestra etiqueta. % Muestra etiqueta. % Borra grafico. % Define el numerador de T1. % Define denominador de T1. % Muestra etiqueta. % Crea y muestra T1(s). % Ejecuta un grafico de repuesta de % paso de demostración. title('Test Run of T1(s)') % Agrega etiqueta. pause 'Complete Run' % Muestra etiqueta. [y1,t1]=step(T1); % Ejecuta la respuesta de paso de T1 y % acumula puntos. numt2=[245.42]; % Define el numerador de T2. p1=[1 10]; % Define (s+10) en denominador de T2. p2=[1 4 24.542]; % Define (s^2+4s+24.542) un % denominador de T2. dent2=conv(p1,p2); % Multiplica (s+10)(s^2+4s+24.542) para % el denominador de T2. 'T2(s)' % Muestra etiqueta. T2=tf(numt2,dent2) % Crea y muestra T2. [y2,t2]=step(T2); % Ejecura la respuesta de paso de T2 y % guarda los punstos. numt3=[73.626]; % Define el numerador de T3. p3=[1 3]; % Define (s+3) un denominador de T3. dent3=conv(p3,p2); % Multiplica (s+3)(s^2+4s+24.542) para % el denominador de T3. 'T3(s)' % Muestra etiqueta. T3=tf(numt3,dent3) % Crea y muesta T3. [y3,t3]=step(T3); % Ejecuta la respuesta de paso de T3 y % guarda los puntos. clf % Borra grafico. plot(t1,y1,t2,y2,t3,y3) % La grafica adquiere puntos con los % 3 graficos en un grafico. title('Step Responses of T1(s),T2(s),and T3(s)') % Agrega el titulo al grafico. xlabel('Time(seconds)') % Añade la etiqueta del eje del tiempo. ylabel('Normalized Response') % Agrega la etiqueta del eje de respuesta. text(0.7,0.7,'c3(t)') % Etiqueta de la respuesta al escalon de T1. text(0.7,1.1,'c2(t)') % Etiqueta respuesta al escalón del T2. text(0.5,1.3,'c1(t)') % Etiqueta respuesta al escalón del T3. pause step(T1,T2,T3) % Utiliza un metodo alternativo para % trazar las respuestas a un escalón

title('Step Responses of T1(s),T2(s),and T3(s)') % Agrega el titulo al grafico.

Figura N.-46 Respuesta del corrido del programa

Ejercicio 3 También podemos trazar la respuesta de pasos de los sistemas representados en el espacio de estados usando el comando paso (T, t). Aquí, T es cualquier objeto LTI y t = a: b: c es el rango para el eje del tiempo, donde a es el tiempo inicial, b es el tamaño del paso del tiempo yc es el tiempo final. Por ejemplo, t = 0: 1: 10 significa tiempo de 0 a 10 segundos en pasos de 1 segundo. El campo t es opcional. Finalmente, en este ejemplo introducimos el comando, grid on, que superpone una cuadrícula sobre la respuesta al paso. Coloque la cuadrícula en el comando antes de la orden de paso (T, t). Código 'Ejercicio del capitulo 4' % Mostrar etiqueta.. clf % Borrar gráfico. A=[0 1 0;0 0 1;-24 -26 -9]; % Generar una matriz A. B=[0;0;1]; % Generar el vector B.

C=[2 7 1]; D=0; T=ss(A,B,C,D) t=0:0.1:10; grid on step(T,t)

% Generar el vector C. % Generando D. % Generar objeto LTI, T, en el espacio % de estado y la pantalla. % Definir el intervalo de tiempo para la trama. % Gire la rejilla para trazar.. % Turn grid on for plot. % Respuesta del paso del diagrama para el dado % Rango de tiempo.

Figura N.-47 Respuesta del corrido del programa

Ejercicio 4 Control de Antenas Estudio de Caso: Ahora utilizamos MATLAB para trazar la respuesta al paso Solicitado en el Antenna Control Case Study. Código clf % Borra grafico. numg=20.83; % Define numerador de G (s). deng=[1 101.71 171]; % Define denominador de G(s). 'G(s)' % Mostra etiqueta. G=tf(numg,deng) % Forma y muestra la función de % transferencia de G(s). step(G); % Genera respuesta al escalón. title('Angular Velocity Response') % Añade título.

Figura N.-48 Respuesta del corrido del programa Ejercicio 5 UFSS Caso de Estudio: Como un ejemplo final, vamos a utilizar MATLAB para hacer la UFSS. Estudio de caso en el texto (Johnson, 1980). Presentamos la tabla de búsqueda para encontrar la hora de levantarse. Usando el comando table1 (tab, x), configuramos una tabla de valores de amplitud y tiempo de la respuesta al paso y busque el valor del tiempo para Cuya amplitud es 0,1 y 0,9. También generamos datos de respuesta de tiempo Del intervalo de tiempo definido usando t = a: b: c seguido por [y, t] = paso (G, t). Aquí, G es Un objeto de función de transferencia LTI, t es el intervalo para el eje de tiempo, donde a es el De tiempo inicial, b es el tamaño del paso de tiempo, yc es el tiempo final; Y es la salida. Código 'Ejercicio5'

% Mostra etiqueta.

clf '(a)' numg=0.0169;

% Borra grafico. % Mostra etiqueta. % Define el numerador de 2do orden % aproximacion de G(s). deng=[1 0.226 0.0169]; % Define los terminos de 2do orden del % denominador de G(s). 'G(s)' % Mostra etiqueta. G=tf(numg,deng) % Crea y muestra G(s). omegan=sqrt(deng(3)) % Encuentra la frecuencia natural. zeta=deng(2)/(2*omegan) % Encuentra la relacion de amortiguamiento. Ts=4/(zeta*omegan) % Encontra el tiempo de establecimiento. Tp=pi/(omegan*sqrt(1-zeta^2)) % Encuentra el tiempo pico. pos=exp(-zeta*pi/sqrt(1-zeta^2))*100 % Encuentra el porcentaje de sobreimpulso %OS . t=0:0.1:35; % Limite el tiempo para encontrar el tiempo de subida. t=0 % a 35 en pasos de 0.1. [y,t]=step(G,t); % Generar y guardar puntos de respuesta % del escalon sobre el rango definido de t. T=[y,t]; % Formar una tabla de valores de la % respuesta al escalón. Tlow=table1(T,.1); % Busca tabla de tiempo cuando % y = 0.1 * valor final. Thi=table1(T,.9); % Busca la tabla para % tiempo =0.9*valor final. Tr=Thi-Tlow % Calcular el tiempo de subida. '(b)' % Mostra etiqueta. numc=0.125*[1 0.435]; % Define el numerador de C(s). denc=conv(poly([0 -1.23]),[1 0.226 0.0169]); % Define el denominador de C(s). [K,p,k]=residue(numc,denc) % Encontrar la expansión parcial de la fracción. '(d)' % Mostra etiqueta. numg=0.125*[1 0.435]; % Define el numerator de G(s). deng=conv([1 1.23],[1 0.226 0.0169]); % Define el denominador de G(s). 'G(s)' % Mostra etiqueta. G=tf(numg,deng) % Crea y muestra G(s). [y,t]=step(G); % Genera lrespuesta paso completo y guarda puntos % y va guarda los puntos. plot(t,y) % Grafica los puntos. title('Pitch Angle Response') % Añade el titulo. xlabel('Time(seconds)') % Etiqueta el eje del tiempo. ylabel('Pitch Angle(radians)') % Etiqueta y ejes.

Figura N.-49 Respuesta del corrido del programa

Ejercicio 6 solución mediante la trasnformada de laplace Solución mediante la transformada de Laplace; valores característicos y polos. Dado el sistema representado en el espacio de estados por las ecuaciones.

Código %(Ejemplo 4.11) La caja de herramientas Matemática Simbólica de MATLAB, con % Su capacidad para realizar operaciones matriciales, se presta % Solución de transformación de Laplace de ecuaciones de estado. También el % Comando [V, D] = eig (A) nos permite encontrar los valores propios % De una matriz cuadrada, A, que son los elementos diagonales de % Matriz diagonal D. Demostramos resolviendo el Ejemplo 4.11. ' Ejemplo 4.11' syms s

% Muestra etiqueta. % Construye objeto simbólico para la variable de frecuencia 's'. % riable de frecuencia 's'. 'a' % Muestra etiqueta. A=[0 1 0;0 0 1;-24 -26 -9]; % Crea la matriz A. B=[0;0;1]; % Crea el vector B. X0=[1;0;2]; % Crea e inicializa las condiciones del vector ,X(0). U=1/(s+1); % Crea U(s). I=[1 0 0;0 1 0;0 0 1]; % Crea e identifica la matriz. X=((s*I-A)^-1)*(X0+B*U); % Encuentra la transformada de LaplaceFind Laplace transform del vector estado. x1=ilaplace(X(1)); % Resuelve para X1(t). x2=ilaplace(X(2)); % Resuelve para X2(t). x3=ilaplace(X(3)); % Resuelve para X3(t). y=x1+x2; % Resuelve para la salida, y(t). y=vpa(y,3); % Convierte las fracciones en decimales. 'y(t)' % Muestra etiqueta.

pretty(y) 'b' [V,D]=eig(A);

% Muestra bonito y(t). % Muestra etiqueta. % Encuentra valores propios, que son los % elementos diagonales de D. 'Eigenvalues on diagonal' % Muestra etiqueta D % Muestra D.

Figura N.-50 Respuesta del corrido del programa Ejercicio 7 En este ejemplo, utilizamos el método MATLAB Symbolic Math Toolbox para resolver ecuaciones de estado en el dominio del tiempo. Hacemos uso de la habilidad de la Caja de Herramientas de Matemáticas Simbólica para realizar De integración. Primero resolvemos la matriz de transición de estado Tomando la transformada inversa de Laplace de (sI-A) ^ 1. Entonces usamos De la integral de convolución para obtener la solución. La integración se realiza Utilizando el comando int (S, v, a, b), donde S es la función a integrar, V es la variable de integración, a es el límite inferior de integración, Yb es el límite superior de integración. Como ejemplo, resolvemos Ejemplo 4.12 en el texto. La matriz de transición de estado se obtiene Demostrado en el Ejemplo 4.13 en el texto. Código ' Ejemplo 4.12/4.13' % Muestra etiqueta. syms s t tau % Construye el objeto simbólico para la % variable de frecuencia 's', 't' y 'tau'.. 'a' % Muestra etiqueta.. A=[0 1;-8 -6] % Crea matriz A. B=[0;1] % Crea vector B. X0=[1;0] % Crea condicion inicial del vector,X(0). U=1 % Crea u(t). I=[1 0;0 1]; % Crea e identifica la matriz. 'E=(s*I-A)^-1' % Muestra etiqueta.. E=((s*I-A)^-1) % Encuentra la transformada de Laplce del estado de transicion % de la matriz, (sI-A)^-1. Fi11=ilaplace(E(1,1)); % Encuentra la transformada inversa de Fi12=ilaplace(E(1,2)); % cada elemento Fi21=ilaplace(E(2,1)); % de (sI-A)^-1 Fi22=ilaplace(E(2,2)); % Encuentra la matriz de transicion de estado. 'Fi(t)' % Muestra etiqueta.. Fi=[Fi11 Fi12;Fi21 Fi22]; % Formar matriz de transición de estado, Fi (t).

pretty(Fi) % Muestra bonito la matriz de transicion de estado, Fi(t). Fitmtau=subs(Fi,t,t-tau); % Forma Fi(t-tau). 'Fi(t-tau)' % Muestra etiqueta.. pretty(Fitmtau) % Muestra bonito Fi(t-tau). x=Fi*X0+int(Fitmtau*B*1,tau,0,t); % Resuelve para x(t). x=simple(x); % Recopila terminos. x=simplify(x); % Simplifica x(t). 'x(t)' % Muestra etiqueta. pretty(x) % Muestra bonito x(t).

Figura N.-51 Respuesta del corrido del programa

7. ANÁLISIS DE RESULTADOS Este software matemático permite tiene diversas utilidades y aplicaciones, así es como podemos realizar tanta variedad de funciones matemáticas. En el campo de los sistemas de control, MATLAB es una herramienta muy útil porque ayuda a encontrar de manera fácil las funciones de transferencia de los distintos tipos de sistemas, hecho que acelera el análisis de los mismos.

8. CONCLUSIONES o o o o

Mediante el software Matlab se ha obtenido el conocimiento de cómo representar una ecuación o un polinomio con el software de una manera más rápida. Se ha aprendido como multiplicar polinomios y encontrar sus expansiones en fracciones parciales. Se puede encontrar la transformada de Laplace y la transformada inversa de Laplace de una manera más rápida y sencilla eso sí, siempre que se trabaje con objetos simbólicos. El uso de Matlab acorta los tiempos de análisis de un sistema, ya que realiza todos los cálculos de forma automática y con mayor precisión.

9. RECOMENDACIONES o o

o

Se debe tener mucho cuidado con la sintaxis de las funciones Tomar en cuenta que Matlab debe ser utilizado cuando sea necesario y en el proceso de aprendizaje es importante conocer y entender el proceso que se realiza manualmente para poder realizarlo y ejecutarlo de manera correcta con su algoritmo en matlab. Comprobar los ejercicios realizados en clase o en casa con la utilización de estas funciones aprendidas.

10. BIBLIOGRAFIA [1] N. S. Nise, Sistemas de Control para Ingeniería, México: Compañia Editorial Continental, 2004, [0471366013 (cloth/CD-ROM)]