laboratorio 2

12
UNIVERSIDAD NACIONAL DE INGENIERÍA FACULTAD DE INGENIERÍA MECÁNICA INGENIERIA DE CONTROL MT-221 2015-1 Laboratorio 2 Introducción al Matlab (parte 2) Objetivo. El alumno se familiariza en el entorno Matlab usando comandos comunes para Ingeniería de Control. Versión utilizada. 2009a / 2010a En este segundo laboratorio vamos a realizar ejercicios sobre comandos más básicos asociados con operaciones comunes en ingeniería de control. No olvide que: [ ] Utilizado para formar vectores y matrices ( ) Precedencia de expresión matemática , Separa elementos y argumentos de función ; Final de filas. También suprime el resultado de un comando u operación : Generación de vectores. j : k significa [ j j+1 … k] A(: , j) significa j-ésima columna de A A(i , :) significa i-ésima fila de A ¡ Ejecución de orden del sistema operativo % Comentarios para explicar pasos de un algoritmo Procedimiento Ejecute el programa Matlab, la versión que disponga Por ejemplo: Matlab 2009a 1

Upload: miguel-angel-merma-saune

Post on 12-Nov-2015

214 views

Category:

Documents


0 download

DESCRIPTION

laboratorio 2

TRANSCRIPT

UNIVERSIDAD NACIONAL DE INGENIERAFACULTAD DE INGENIERA MECNICAINGENIERIA DE CONTROL MT-221 2015-1

Laboratorio 2 Introduccin al Matlab (parte 2)

Objetivo. El alumno se familiariza en el entorno Matlab usando comandos comunes para Ingeniera de Control.

Versin utilizada. 2009a / 2010a

En este segundo laboratorio vamos a realizar ejercicios sobre comandos ms bsicos asociados con operaciones comunes en ingeniera de control.

No olvide que:

[ ]Utilizado para formar vectores y matrices( )Precedencia de expresin matemtica,Separa elementos y argumentos de funcin;Final de filas. Tambin suprime el resultado de un comando u operacin :Generacin de vectores. j : k significa [ j j+1 k]A(: , j)significa j-sima columna de AA(i , :) significa i-sima fila de AEjecucin de orden del sistema operativo%Comentarios para explicar pasos de un algoritmo

Procedimiento

Ejecute el programa Matlab, la versin que disponga

Por ejemplo: Matlab 2009a

En el smbolo de comandos del Matlab realice los siguientes ejercicios:

Ejercicios asociados con la ecuacin caracterstica

1. Sea la matriz A = [0 1 0; 0 0 1; -6 -11 -6]; Se va a determinar las races de la ecuacin caracterstica que coinciden con los de los valores propios de A. para ello para poder determinar esta ecuacin usaremos el comando poly:

p = poly(A);

Escriba la respuesta p = [1.0000 6.0000 11.0000 6.0000]

2. Luego para determinar las races de la ecuacin caracterstica se ejecuta el comando roots(p):

r = roots(p)

Escriba el resultado de r

3. Si r representa a las races de un polinomio, luego, construya el polinomio q(s) a partir de las races r.

4. El polinomio que usted ha escrito en el paso anterior, comprelo usando nuevamente el comando poly(r), donde r representa las races de la ecuacin caracterstica

q = poly(r)=1 6 11 6

Existe algn cambio entre el resultado de poly(A) y poly(r)? Explique adecuadamente.

Ambos dan los mismos resultados, con la diferencia que poly(A) aproxima 4 cifras decimales.

Operaciones con polinomios

Sea a(s) = s2 20.6 y b(s) = s2 + 19.6s + 151.2

5. Para multiplicar dos polinomios, se usa el comando conv(a,b). Cabe resaltar que el producto de polinomios es la convolucin de los coeficientes que tienen cada polinomio.

Para obtener la convolucin o multiplicacin se hace de esta manera

a = [1 0 -20.6];b = [1 19.6 151.2];c = conv(a,b);

Escriba el polinomio resultante de esta manera:

( 1 )s4 + ( )s3 + ( 19.6 )s2 + (130.6 )s + (3114.7 )

6. Para dividir (deconvolucin) entre polinomios use la funcin deconv():

[q,r]= deconv(c,a), donde: q es el cociente y r es el residuo

Explique el significado de los coeficientes de q como de r cuando haya ejecutado el comando deconv()

Es la divisin de los polinomios, q es el valor de la divisin directa y r es el polinomio residuo.

Cul es la diferencia de escribir el comando deconv(c,a) y [q,r]=deconv(c,a)?

El primero solo muestra el cociente directo, mientras el segundo nos muestra el cociente mas residuo.

7. Si se quiere evaluar una funcin en un valor especfico, se aplica el siguiente comando:

Si p(s) = 3s2 + 2s + 1. Y si s = 5, luego:

p = [3 2 1];polyval(p,5)ans = 86 (verificar)

Luego, si p = s5 + s4 + 2s3 + s2 +1, evale p en s = 2

69Matrices de utilidad

En Matlab existe una lista de matrices muy tiles para la programacin

ones(n)matriz de unos de orden n x nones (m,n)matriz de unos de orden m x nones(A)se escribe unos del mismo tamao de la matriz Azeros(n) me da una matriz nula de n columnas zeros (m,n) me da una mariz de n columnas y m filaszeros(A) diag([ones(1,n)])

Utilice el help de Matlab y explique y ponga ejemplos del uso de los comandos en mencin

8. Escriba la matriz despus de haber aplicado los siguientes comandos y dando una breve explicacin del caso :

a) eye(5)

es la matriz identidad de 5x5

b) Cul es la diferencia entre aplicar el comando x = [ones(1,5)] y diag([ones(1,5)])?

La diferencia es que la primera me muestra una matriz unidad de 1 fila y 5 coumnas, la siguiente me muestra la matriz identidad de 5x5.

9. Qu significa aplicar el comando diag(1:5), diag(0:4)?

En el primer caso me da una matriz diagonal creciente de razn uno que empieza en 1 y termina en 5; en el otro caso me da la misma matriz con la misma razn, pero esta empieza en 0 y termina en 4.

Representacin grfica de curvas

10. Se presentan tres cdigos fuente en Matlab. Grafique los resultados de estos programas Explicando el resultado, usando comentarios simbolizados con % (comando comentario).

a) t = 0:0.05:10;y = sin(t);z = cos(t);plot(t,y,o,t,z,x)gridtitle(Grficas del seno y coseno)xlabel(Seg)ylabel(y=sen(t); z=cos(t))text(3,0.45,sen(t))text(0.8,-0.3,cos(t))

%grafica dos funciones seno y coseno en un mismo grafico

b) t = 0:025:10;y = sin(t);z = cos(t);plot(t,y,t,z), text(t,y,y), text(t,z,z)gridtitle(Grficas del seno y coseno)xlabel(Seg)ylabel(y=sen(t); z=cos(t))

no hay ningn grafico.

c) x = 0:0.1:3;y = x.^2;plot(x,y)gridtitle(Grfica de y = x^2)xlabel(x)ylabel(y)%grafica de una funcin cuadrtica en el primer cuadrante.

Nota: es probable que tenga problemas de ejecucin por el tema de las comillas en Matlab

11. Qu modificaciones hara a la codificacin del programa 10.c para lograr la curva de la figura siguiente, sabiendo que la funcin y ha cambiado a y = x3 -20x.

El cambio que se hara es en la funcin, se define diferente la funcin y los parmetros y = x.^3 -20*x .

Observe que hay una serie de errores entre la codificacin y la informacin que muestra la grfica.

Modelos matemticos de sistemas lineales

Matlab tiene varios comandos muy tiles para transformar un modelo matemtico de un sistema lineal en otro modelo:

a) Funcin de transferencia a espacio de estado

[A,B,C,D] = tf2ss(num,den)espacio funcin de estado transferencia

Segn la informacin de A, B, C y D, la representacin de espacios de estado es:

b) Espacio de estado a funcin de transferencia

[num,den] = ss2tf(A,B,C,D) cuando el sistema tiene una entrada y una salida

[num,den] = ss2tf(A,B,C,D, iu) cuando el sistema tiene ms de una entrada (iu=1,2,3) y una salida

c) Descomposicin en fracciones parciales de la funcin de transferencia

Sea la funcin de transferencia:

num = [b(1) b(2) b(n)]den = [a(1) a(2) a(n)]

Donde a(1) es diferente de cero. Pero los otros coeficientes pueden ser ceros.

Luego la descomposicin de fracciones parciales se hace usando el comando:

[r,p,k] = residue(num,den). Segn esto:

+

12. Sea el siguiente sistema con entradas u1 y u2

Se quiere determinar la descomposicin en fracciones parciales, segn las entradas u1 y u2. Para ello use esta informacin:

A = [0 1; -2 -3];B = [1 0; 0 1];C = [1 0];D = [0 0];

Se aplicar el comando [num,den] = ss2tf(A,B,C,D,1) y [num,den] = ss2tf(A,B,C,D,2)Recordando que el parmetro 1 corresponde la funcin de transferencia respecto a la entrada u1 y el parmetro 2 corresponde la funcin de transferencia respecto a la entrada u2.

Segn el resultado de aplicar este comando, luego exprese:

13. Considere la siguiente funcin de transferencia

Donde num = [2 5 3 6] y den = [1 6 11 6]Luego [r,p,k] = residue(num,den)

Demuestre que el resultado de la descomposicin de fracciones parciales resulta

Solucin:

Aplicando lo planteado en Matlab obtenemos:

r =

-6.0000 -4.0000 3.0000

p =

-3.0000 -2.0000 -1.0000

k =

2

Que son los valores de las constantes en las ecuaciones parciales.

14. Si aplica el comando [num,den] = residue(r,p,k), qu resulta?

Justifique su respuesta

Aplicando la funcin [num,den] = residue(r,p,k); el Matlab nos muestra los valores del polinomio en el numerador y denominador de la funcin de transferencia.

num =

2.0000 5.0000 3.0000 6.0000

den =

1.0000 6.0000 11.0000 6.0000

Referencias: Ingeniera de Control, K. Ogata

Preparado por Ing. Gustavo Mesones Mlaga, MSc.Este laboratorio se entregar hasta el sbado 11 de abril de 2015 en horas de clase1