Práctica No. 2. Matlab Aplicada a Matrices. Teoria del control III. ICA

download Práctica No. 2. Matlab Aplicada a Matrices. Teoria del control III. ICA

of 28

description

Reporte de la segunda práctica de control III. Con el profesor Edgar Maya.El presente reporte de práctica se refiere al tema de operaciones con matrices, en especifico de la aplicacion de matlab a en matrices.Matlab es un lenguaje de programacion que cuenta con un potente lenguaje de alto nivel y la incorporacion de funciones gráficas más alla de los lenguajes de programacion C y Fortlan.Una matriz es un arreglo bidimencional o tabla bidimencional de numeros consistente en cantidades abstractas que pueden sumarse y multiplicarse entre si.

Transcript of Práctica No. 2. Matlab Aplicada a Matrices. Teoria del control III. ICA

  • INSTITUTO POLITCNICO NACIONAL

    ESCUELA SUPERIOR DE INGENIERA MECNICA Y ELCTRICA

    UNIDAD ADOLFO LPEZ MATEOS

    INGENIERA EN CONTROL Y AUTOMATIZACIN

    TEORA DEL CONTROL III

    PRCTICA No. 2

    Matlab aplicada a matrices

    Integrantes del equipo:

    Becerril Snchez Ivn

    Galeana Hernndez Maritza Ahide

    Valadez Escobar Edgar Omar

    Profesor: Edgar Maya Prez

    Grupo: 7AM1

    Fecha de entrega: 11 de enero de 2015

  • 2

    NDICE

    Introduccin 3

    Objetivo general. 4

    1. Marco terico.. 4

    Matriz... 4

    Operaciones con Matrices.. 4

    2. Procedimiento y desarrollo de la prctica... 7

    3. Conclusiones... 28

  • 3

    INTRODUCCIN

    El presente reporte de prctica se refiere al tema de operaciones con

    matrices, en especfico de la aplicacin de Matlab en matrices.

    Matlab es un lenguaje de programacin desarrollado por The Mathworks, Matlab

    nace como el resultado de tratar de satisfacer las necesidades computacionales de

    cientficos, ingenieros y matemticos, por lo que el desarrollo de Matlab comprende

    un potente lenguaje de alto nivel y la incorporacin de funciones grficas ms all

    de los lenguajes de programacin C y Fortran.

    Una matriz es un arreglo bidimensional o tabla bidimensional de nmeros

    consistente en cantidades abstractas que pueden sumarse y multiplicarse entre s.

    Es una disposicin de valores numricos y/o variables (representadas por letras),

    en columnas y filas, de forma rectangular.

    Matlab est fundamentalmente orientado al trabajo y el clculo matricial.

    Como en casi todos los lenguajes de programacin, en Matlab las matrices y

    vectores son variables a las que se les puede dar nombres. Para definir una matriz

    no hace falta establecer de antemano su tamao (de hecho, se puede definir un

    tamao y cambiarlo posteriormente). Matlab determina el nmero de filas y de

    columnas en funcin del nmero de elementos entre corchetes y por filas; los

    elementos de una misma fila estn separados por espacios en blanco y comas,

    mientras que las filas estn separadas por pulsaciones intro o por caracteres punto

    y coma.

  • 4

    OBJETIVO GENERAL

    Aplicacin de MATLAB en el manejo y operaciones de matrices.

    Simulacin de variables de estado de MATLAB.

    MARCO TERICO

    MATRIZ

    Se denomina matriz a todo conjunto de nmeros o expresiones dispuestos en forma rectangular, formando filas y columnas.

    Figura 1.1. Ejemplo de una matriz.

    Cada uno de los nmeros de que consta la matriz se denomina elemento. A su vez un elemento se distingue de otro por la posicin que ocupa, es decir, la fila y la columna a la que pertenece.

    El nmero de filas y columnas de una matriz se denomina dimensin de una matriz.

    As, una matriz de dimensin mxn es una matriz que tiene m filas y n columnas. De

    este modo, una matriz puede ser de dimensin: 2x4 (2 filas y 4 columnas), 3x2 (3

    filas y 2 columnas), 2x5 (2 filas y 5 columnas), etc. Igualmente si la matriz tiene el

    mismo nmero de filas que de columnas, se dice que es de orden: 2, 3, 4, etc.

    Dos matrices son iguales cuando tienen la misma dimensin y los elementos que

    ocupan el mismo lugar en ambas, son iguales.

    Operaciones con matrices.

    Suma y resta de matrices

    No todas las matrices se pueden sumar o restar entre s. Como condicin necesaria

    para sumar o restar dos matrices es que tengan la misma dimensin, es decir, que

    tengan el mismo nmero de filas y de columnas. Para sumar matrices de la misma

    dimensin se suman entre s los elementos que ocupan el mismo lugar en cada

    matriz.

  • 5

    Figura 1.2. Suma de matrices.

    Anlogamente para la resta, se restan entre s los elementos que ocupan el mismo

    lugar.

    Figura 1.3. Resta de matrices.

    Multiplicacin de matrices

    Dos matrices A y B son multiplicables si el nmero de columnas de A coincide con el nmero de filas de B.

    Mm x n x Mn x p = M m x p

    El elemento cij de la matriz producto se obtiene multiplicando cada elemento de la

    fila i de la matriz A por cada elemento de la columna j de la matriz B y sumndolos.

    = (2 0 13 0 05 1 1

    ) (1 0 11 2 11 1 0

    ) =

    = (2 1 + 0 1 + 1 1 2 0 + 0 2 + 1 1 2 1 + 0 1 + 1 03 1 + 0 1 + 0 1 3 0 + 0 2 + 0 1 3 1 + 0 1 + 0 05 1 + 1 1 + 1 1 5 0 + 1 2 + 1 1 5 1 + 1 1 + 1 0

    ) = (3 1 23 0 37 3 6

    )

    Figura 1.4. Multiplicacin de matrices

  • 6

    Matriz inversa

    El producto de una matriz por su inversa es igual a la matriz identidad.

    A A-1 = A-1 A = I

    Se puede calcular la matriz inversa por dos mtodos:

    a) Calculo por determinantes:

    Para este mtodo se calcula el determinante de la matriz, en el caso que el

    determinante sea nulo la matriz no tendr inversa. Posteriormente se halla la matriz

    adjunta, que es aquella en la que cada elemento se sustituye por su adjunto. Se

    calcula la traspuesta de la matriz adjunta. De esta manera la matriz inversa es igual

    al inverso del valor de su determinante por la matriz traspuesta de la adjunta.

    b) Calculo de la matriz inversa por el mtodo de Gauss:

    Sea A una matriz cuadrada de orden n. Para calcular la matriz inversa de A, que

    denotaremos como A-1, seguiremos los siguientes pasos:

    -Construir una matriz del tipo M = (A | I), es decir, A est en la mitad izquierda de M

    y la matriz identidad I en la derecha.

    -Utilizando el mtodo Gauss vamos a transformar la mitad izquierda, A, en la matriz

    identidad, que ahora est a la derecha, y la matriz que resulte en el lado derecho

    ser la matriz inversa: A-1.

    Matriz por un escalar:

    Dada una matriz A=(aij) y un nmero real k R, se define la multiplicacin de un nmero real por una matriz a la matriz del mismo orden que A, en la que cada elemento est multiplicado por k. k A=(k aij).

    Figura 1.5. Matriz por un escalar.

  • 7

    PROCEDIMIENTO Y DESARROLLO DE LA PRCTICA

    1. Investigar el uso y la forma de aplicacin de los siguientes comandos.

    inv:

    Sintaxis:Y =inv (X)

    Descripcin: Y =inv (X) devuelve la inversa de la matriz cuadrada X siempre que

    esta exista .Un mensaje de advertencia se imprime si X est mal escalada o es casi

    singular. En la prctica, rara vez es necesaria para formar la inversa explcita de

    una matriz. Un mal uso frecuente de inv surge cuando la solucin del sistema de

    ecuaciones lineales es Ax=b. Una manera de resolver esto es con x =inv(A)*b. Una

    mejor manera, tanto desde el punto de vista del tiempo de ejecucin y precisin

    numrica, es el uso de la divisin de la matriz del operador x= A\b. Esto produce la

    solucin con la eliminacin de Gauss, sin formar la inversa.

    input:

    Sintaxis: x=input (indicador).

    Descripcin: input (indicador) muestra el texto rpido y espera a que el usuario

    introduzca un valor y pulse la tecla Intro. Si el usuario presiona la tecla Intro sin

    introducir nada, entonces de entrada devuelve una matriz vaca. Si el usuario

    introduce una expresin no vlida en el smbolo, entonces MATLAB muestra el error

    correspondiente, y luego muestra el smbolo.

    eig:

    Descripcin y Sintaxis:

    e = eig(X) es un vector que contiene los valores propios de una matriz cuadrada X.

    [V, D]= eig(X) produce una matriz diagonal D de valores propios y una matriz V

    completa cuyas columnas son los vectores propios correspondientes de manera

    que X*V=V*D.

    [V,D,W]=eig(A) tambin devuelve la matriz W completa cuyas columnas son los

    vectores propios correspondientes a la izquierda, de modo que W'*A =D*W'.

    e =eig(A,B) devuelve un vector columna que contiene los valores propios

    generalizados de matrices cuadradas A y B.

    [V, D]=eig(A,B) devuelve matriz diagonal D de valores propios generalizados y

    matriz V completa cuyas columnas son los correspondientes vectores propios

    adecuados, de forma que A *V=B *V*D.

    [V, D, W]=eig(A,B)tambin devuelve la matriz completa W cuyas columnas son los

    correspondientes vectores propios izquierdos, De modo que W'*A =D*W'*B.

  • 8

    poly:

    Sintaxis: p =poli (r); p =poli (A).

    Descripcin: p =poli (r), donde r es un vector, devuelve los coeficientes del polinomio

    cuyas races son los elementos de r.

    p=poli (A), donde A es una matriz de n por n, devuelve los n + 1coeficientes del

    polinomio caracterstico de la matriz, det(I A).

    case:

    Descripcin: case es parte de la sintaxis de la sentencia SWITCH.

    det:

    Sintaxis: d = det(A)

    Descripcin: d=det (A) devuelve el determinante de la matriz cuadrada A.

    ones:

    Descripcin y sintaxis:

    ones(n):es una matriz N por N de unos.

    ones(M,N) o ones([M,N]) es una matriz M por N de unos.

    ones(SIZE(A)) es del mismo tamao que A y todos unos.

    ones sin argumentosesel escalar1.

    zeros:

    Descripcin y sintaxis:

    zeros(N) es una matriz N por N de ceros.

    zeros(M,N) o zeros([M,N])es una matriz M por N de ceros.

    zeros(M,N,P,...) o zeros([M N P ...]) es una matriz M por N por P por... de ceros.

    zeros(SIZE(A)) es del mismo tamao que A y todos ceros.

    zeros sin argumentos es el escalar0.

    rank:

    Sintaxis: k = rank(A); k = rank(A,tol).

    Descripcin: La funcin de rango proporciona una estimacin del nmero de filas o

    columnas linealmente independientes de una matriz completa.

    k=rango (A) devuelve el nmero de valores singulares de A que son ms grandes

    que la tolerancia predeterminada, max(size(A))*eps(norm(A)).

  • 9

    k=rango (A,tol)devuelve el nmero de valores singulares de A que son mayores que

    tol.

    size:

    Sintaxis: size(TR).

    Descripcin: size(TR) proporciona informacin de tamao para una matriz de

    triangulacin. La matriz es de tamao MTRI por nv, donde MTRI es el nmero de

    simplices y nv es el nmero de vrtices por simplex(tringulo/tetraedro, etc.).

    eye:

    eye(N) es la matriz identidad N por N.

    eye(M,N) o eye([M,N]) es una matriz M por N con unos en la diagonal y ceros en

    otros espacios.

    eye(SIZE(A)) es del mismo tamao que A.eye sin argumentos es el escalar 1.

    rand:

    Descripcin y sintaxis:

    R =rand (N) devuelve una matriz N por N que contiene valores pseudoaleatorios

    extrados de la distribucin uniforme estndar en el intervalo abierto (0,1).

    rand(M, N)o rand ([M, N]) devuelve una matriz de M por N.

    rand devuelve un escalar.

    rand(SIZE(A))devuelve una matriz del mismo tamao que A.

    switch:

    Descripcin y sintaxis:

    SWITCH switch_expr

    case case_expr,

    statement, ..., statement

    case {case_expr1, case_expr2, case_expr3,...}

    statement, ..., statement

    NOTA: Ms adelante se ejemplifica el uso de cada comando.

  • 10

    2. Realizar un problema en archivo ".m" que realice las siguientes

    operaciones sobre la matriz "B. Adems ejemplificar el uso de cada

    comando del punto 1.

    = [ 1 2 3 45 6 7 89 10 11 12

    ]

    C=B

    Tabla 2.2.1

    Cdigo Resultado

    Este comando se utiliza para obtener la transpuesta de la matriz.

    D=B*C

    Tabla 2.2.2

    Cdigo Resultado

    Este comando sirve para realizar la multiplicacin de dos matrices

  • 11

    E=B.*D

    Tabla 2.2.3

    Cdigo Resultado

    Error utilizando. * Las dimensiones de la matriz deben estar de acuerdo

    F=B^3

    Tabla 2.2.4 Cdigo Resultado

    Error usando ^. Las entradas deben ser un escalar y una matriz cuadrada.

    G=B.^3

    Tabla 2.2.5

    Cdigo Resultado

  • 12

    Debido a que no se poda hacer uso de algunos comandos, se propone una nueva matriz y un valor escalar:

    2 = [

    1 2 3 45 6 7 89 10 11 12

    13 14 15 16

    ] 3 = 2

    E=B3.*D

    Tabla 2.2.6

    Cdigo Resultado

  • 13

    A continuacin se ejemplifican los comandos del punto uno, considerando las

    matrices B1, B2, proponiendo unas nuevas matrices en algunos puntos y el

    escalar B3.

    Inv

    Tabla 2.2.7

    Cdigo Resultado

    Input: Tabla 2.2.8

    Cdigo Resultado

    Eig:

    Tabla 2.2.9

    Cdigo Resultado

  • 14

    Case, SWITCH:

    Tabla 2.2.10

    Cdigo Resultado

    En este ejemplo es necesario introducir valores.

    Det:

    Tabla 2.2.11

    Cdigo Resultado

    Ones:

    Tabla 2.2.12

    Cdigo Resultado

    Zeros:

    Tabla 2.2.13

    Cdigo Resultado

  • 15

    Rank

    Tabla 2.2.14

    Cdigo Resultado

    Size

    Tabla 2.2.15

    Cdigo Resultado

    Eye

    Tabla 2.2.16

    Cdigo Resultado

  • 16

    Rand

    Tabla 2.2.17

    Cdigo Resultado

    3. Empleando el bloque de variables de estado simulink, obtener la respuesta

    para los sistemas de 1 y 2 orden.

    Para el sistema de primer orden.

    Figura 2.3.1. Circuito RC

    Ecuacin de equilibrio.

    () = +

    Sustituyendo el comportamiento de cada elemento:

    () = () +1

    ()

    Aplicando :

    = +1

    (

    1

    )

    = ( +1

    )

    = ( + 1

    )

    =

    + 1

  • 17

    =

    + 1

    ( + 1) =

    Utilizando la funcion de transferencia:

    =

    1

    +1

    Para el caso 1:

    T=100; R=20; C=5

    Cdigo

    Figura 2.3.2. Primer caso sistema de primer orden

  • 18

    Grafica 2.3.1. Respuesta caso1 sistema de primer orden.

    Para el caso 2:

    T=10; R=2; C=5

    Cdigo

  • 19

    Figura 2.3.3. Segundo caso sistema de primer orden

    Grafica 2.3.2. Respuesta caso 2 sistema de primer orden.

    Para el caso 3:

    T=1; R=0.2; C=5

    Cdigo

  • 20

    Figura 2.3.4. Tercer caso sistema de primer orden

  • 21

    Grafica 2.3.3. Respuesta caso 3 sistema de primer orden.

    Para el caso 4:

    T=0.1; 0.02; 5

    Cdigo

    Cdigo

  • 22

    Figura 2.3.5. Cuarto caso sistema de primer orden

    Grafica 2.3.4. Respuesta caso 4 sistema de primer orden.

  • 23

    Para el sistema de segundo orden.

    Figura 2.3.6. Circuito RCL

    Ecuacin de equilibrio.

    () = + +

    Sustituyendo el comportamiento de cada elemento:

    () = () +1

    () +

    ()

    Aplicando :

    = +1

    (

    1

    ) +

    = ( +1

    + )

    = ( + 2 + 1

    )

    =

    2 + + 1

    =

    2 + + 1

    (2 + + 1) =

    =1

    [ ]

    =1

    [

    2

    2

    1

    2]

  • 24

    =1

    [

    1

    ]

    La primera variable de estado es:

    ()

    = 1 = 1 = ()

    Sustituyendo:

    1 =1

    [() 1 2]

    La segunda variable de estado es:

    2 =1

    2 =

    2 =1

    ()

    1

    1

    2

    2 = 1

    () = 1

    La funcin de Transferencia es:

    =

    2++1 =

    1

    2+

    +

    1

    =

    Tabla 2.3.1

    Casos R L C

    Primer caso 0 5 5

    Segundo caso 0.4 5 5

    Tercer caso 1.6 5 5

    Cuarto caso 2 5 5

    Quinto caso 20 5 5

    Sexto caso 200 5 5

  • 25

    Para el primer caso:

    Figura 2.3.7. Respuesta caso 1, sistema de segundo orden,

    Para el segundo caso:

    Figura 2.3.8. Respuesta caso 2, sistema de segundo orden,

  • 26

    Para el tercer caso:

    Figura 2.3.9. Respuesta caso 3, sistema de segundo orden,

    Para el cuarto caso:

    Figura 2.3.10. Respuesta caso 4, sistema de segundo orden,

  • 27

    Para el quinto caso:

    Figura 2.3.11 Respuesta caso 5, sistema de segundo orden,

    Para el sexto caso:

    Figura 2.3.12. Respuesta caso 6, sistema de segundo orden,

  • 28

    CONCLUSIONES

    Becerril Snchez Ivn

    En esta prctica realizamos operaciones con Matlab y nos pudimos dar cuenta de

    lo rpido que el software realiza operaciones que a nosotros nos tomara mayor

    tiempo. Tambin obtuvimos respuestas de un sistema RC y RCL, con simulink

    obtuvimos las curvas de respuesta.

    Galeana Hernndez Maritza Ahide

    En esta prctica utilizamos comandos de los cuales desconocamos su

    funcionamiento, pero que son importantes debido a que la mayora de ellos se

    aplican a matrices. A su vez las matrices tienen un papel muy importante en una

    representacin de espacio de estados, estos son vectores formados por n variables

    de estado, mismas que son necesarias para describir por completo el sistema de un

    sistema, en este caso analizamos dos sistemas, un circuito RC y uno RCL,

    comparando las variables de estado con sus funciones de transferencia de

    correspondientes.

    Valadez Escobar Edgar Omar

    Una representacin de espacios de estados es un modelo matemtico de un

    sistema fsico descrito mediante un conjunto de entradas, salidas y variables de

    estado relacionadas por ecuaciones diferenciales de primer orden que se combinan

    en una ecuacin diferencial matricial de primer orden. Para prescindir del nmero

    de entradas, salidas y estados, las variables son expresadas como vectores y las

    ecuaciones algebraicas se escriben en forma matricial.