Está en la página 1de 35

Instituto Politécnico Nacional

Escuela Superior de Ingeniería Mecánica y


Eléctrica

Unidad profesional “Culhuacán”

Ingeniería en Comunicaciones y Electrónica

Espacio de Estados 7EV24

Reporte de practica No.2

“Herramientas de Matlab para análisis en el


espacio de estados”

Integrantes:

Olvera De León Guadalupe Monserrat

Palacios Hernandez Zaid


Introducción

La herramienta de MATLAB nos proporciona diferentes herramientas que son


útiles para el desarrollo de prácticas que se componen con matrices, el conocer
estas herramientas y su funcionamiento de se gran utilidad para el estudiante y
en general para cualquier persona que desea simular, programar y aplicar los
comandos.

En esta práctica, se realizo una investigación de ciertos comandos que son


importantes para las operaciones entre matrices, así mismo, dos programas
que en su cuerpo tienen un contenido con esos comandos, con el fin de
entender su funcionamiento dentro de MATLAB y facilitar la programación
del mismo, finalmente, un circuito diseñado con ayuda de SIMULINK, en el
cual se ocupan las matrices, para su correcto funcionamiento.
Contenido
Marco teórico .................................................................................................... 4
Matrices ........................................................................................................... 4
Creación de arreglos .................................................................................... 4
Objetivos ........................................................................................................... 5
Objetivo General ........................................................................................... 5
Objetivos Específicos .................................................................................... 5
Desarrollo .......................................................................................................... 5
Desarrollo teórico. ........................................................................................... 5
1. ................................................................................................................... 5
2. ................................................................................................................... 8
3. ................................................................................................................... 8
4. ................................................................................................................... 9
Desarrollo practico ........................................................................................ 13
2 .................................................................................................................. 13
3 .................................................................................................................. 19
4. ................................................................................................................. 23
Conclusiones ................................................................................................... 34
Referencias Bibliográficas ............................................................................. 35
Marco teórico
Matrices
o Matlab es un lenguaje de programación basado en matrices.
o Una matriz es un arreglo bidireccional que contiene números reales o
complejos. Una matriz de dimensión n x m tiene n filas y m columnas.

Matlab es la abreviatura de “matrix laboratory” (laboratorio de


matrices). Aunque otros lenguajes de programación mayormente procesan los
números de uno en uno. MATLAB esta diseñado para funcionar
principalmente con matrices y arreglos complejos.

Todas las variables de MATLAB son arreglos multidimensionales, sin


importar el tipo de datos. Una matriz oes un arreglo bidimensional que a
menudo se utiliza para el algebra lineal.

Creación de arreglos
Para crear un arreglo con cuatro elementos en una fila única, se separa
con una coma (,) o un espacio.

a = [1 2 3 4]
1 2 3 4
Este tipo de arreglo es un vector fila.

Para crear una matriz con varias filas, se separa las filas con punto y coma.

a = [1 2 5, 2 4 6, 7 8 10]
a= 3x3
1 3 5
2 4 6
7 8 10
Objetivos
Objetivo General
o Investigar y analizar los comandos de Matlab que se aplican a matrices
y al espacio de estados.

Objetivos Específicos
o Aplicación de Matlab en el maneto y operaciones de matrices
o Simulación de la respuesta de 1er y 2do orden, con el coloque variables
de estado en simulink.

Desarrollo
Desarrollo teórico.
1.

Investigar el significado y forma de aplicar de los siguientes comandos.

Comando Descripción Aplicación


Inv Inversa de una matriz cuadrada Y = inv(x)
x = input(prompt)
Input Solicitar una entrada al usuario
txt = input (prompt, “s”)
d = eig(A)
Eig Encuentra valores y vectores propios
d = eig (A, B)
Obtener un polinomio a partir de sus
Poly p = poly (r)
raíces
Det Determinante matricial d = det (A)
Ones Crear un arreglo solo de unos x= ones
x= zeros
Zeros Crea arreglos solo de ceros

k=rank (A)
Rank Rango de matriz

Size Tamaño de arreglo Sz= size (A)


Eye Matriz de identidad I = eye
Devuelve numero de punto flotante entre
Rand 0 y 1 que se extraen de una función Rng (‘default’)
uniforme.
Ejecutar uno de varios grupos de
Switch Switch_expression
instrucciones.
Evalúa una expresión y elige ejecutar uno
case de varios grupos de instrucciones. Cada Case_expession
elección es un caso.

o Inv. Inversa de la matriz


Sintaxis: Y= inv (x)
Descripción
Y = inv (x) calcula la inversa de la matriz cuadrada X.
• X ˆ (-1) equivale a inv (x).
• X = A\b se calcula de forma diferente a x = inv (A)*b y se
recomienda para resolver sistemas de ecuaciones lineales.
o Input. Solicitar una entrada al usuario.
Sintaxis: x=input(prompt)
Descripción:
X= input (prompt) muestra el texto y espera que el usuario introduzca
un valor y pulse la tecla Return.
o Eig. Encuentra valores y vectores propios
Sintaxis. d = eig(A,B)
Descripción:
Devuelve un vector que contiene los valores propios generalizados si A
y B son matrices cuadradas.
o Poly. La función poly ayuda a obtener un polinomio a partir de sus
raíces.
Sintaxis: p = poly(r).
Descripción:
La función poli es la inversa de la función roots.
o Det. Determinante matricial.
Sintaxis. d = det (A)
Descripción:
d = det (A) devuelve el determinante de la matriz cuadrada A.
o Ones. Crear un arreglo solo de unos
Sintaxis. X=ones
Descripción:
Devuelve el escalar 1.
o Zeros. Crear arreglo solo de ceros.
Sintaxis. X = zeros
Descripción:
Devuelve el escalar 0.
o Rank. Rango de matriz.
Sintaxis. k = rank (A)
Descripción:
Devuelve el rango de matriz A
o Size. Tamaño de arreglo.
Sintaxis. sz= size (A)
Descripción:
Devuelve un vector fila cuyos elementos son las longitudes de las
dimensiones correspondientes de A.
o Eye. Matriz de identidad.
Sintaxis. I = eye (sz)
Descripción:
Devuelve una matriz con unos de la diagonal principal y ceros en el
resto.
o Rand. r1=rand(k)

2.

Realizar un programa para opciones entre matrices, donde se apliquen los


comandos del punto 1.

3.

Realizar un programa en archivo “m” que realice las siguientes operaciones


sobre la matriz B

1 2 3 4
𝐵 = (5 6 7 8)
4 10 11 12

Realizar

C = B’ D = B*C G = B.*D E = Bˆ3 F = B.ˆ3


4.

Empleando Simulink, obtener la respuesta de los sistemas de 1er y dodo orden


con el bloque de variables de estado.

Primer orden.

Salidas -i(t) y eL(t)


Segundo Orden
Desarrollo practico
2

Realizar un programa para operaciones entre matrices, donde se apliquen los


comandos del punto 1.

Código en MATLAB.
Respuestas

El primero punto, es definir las matrices A y B como se muestra en la


siguiente imagen, con el comando de input, en donde se definieron como a y
b.

El siguiente comando agregado es Y = Inv (x), el cual saco la inversa de la


matriz a y b
respectivamente, como se
muestra en la imagen:
El comando d = eig ( a,b) nos indica valores y vectores propios de las matrices
a y b, tal como se muestra en la siguiente imagen.

Con el comando p =poly (x), se obtiene un polinomio a partir de sus raíces, así
se obtuvieron los dos polinomios de a y b respectivamente.
Con el siguiente comando, se obtuvo el determinante de cada matriz.

En la línea 16 y 18 del programa que se muestra en la imagen de abajo, se


muestran los comando que crean arreglos de 1 y 0 respectivamente.
El comando k = rank (x) devuelve el rango de la matriz, así como las matrices
a y b son de orden 3, el comando nos lo indica.

Ahora bien, en la siguiente imagen, se muestra el comando para indicar el


tamaño de arreglo de la matriz, por eso se los dice que para a y b su arreglo es
[3 3].
El siguiente comando es utilizado para mostrar la matriz identidad, como se
muestra en la imagen siguiente

Por último, el comando r1=rand (k), muestra un arreglo de números aleatorios


con respecto a la variable k.
3

Realizar un programa en archivo “m”, que realice las siguientes operaciones


sobre la matriz “B”

1 2 3 4
𝐵 = (5 6 7 8)
4 10 11 12

Realizar

C = B’ D = B*C G = B.*D E = Bˆ3 F = B.ˆ3

Código en MATLAB
Operaciones

Como se muestra en la siguiente imagen, se define la matriz B

C = B’

En la imagen siguiente se muestra la matriz transpuesta B


D = B*C

La multiplicación de b x c

Matriz b1

Se propuso la matriz b1, debido a que el resultado D, es una matriz de orden


3x3, y la matriz B es de 4x3, y como no son cuadradas, la operación no es
posible.
G = B. *D

Una vez definida la matriz b1, se puede realizar la operación correctamente, B

E=Bˆ3

En esta operación, al igual que en la operación siguiente, se debe de usar la


matriz propuesta b1, ya que de igual manera no se puede elevar al cubo por el
orden de la matriz.
F = B.ˆ 3

Y por último, se eleva la matriz B. al cubo.

4.

Empleando SIMULINK obtener la respuesta de los sistemas de 1 er y 2do orden


con el bloque de variables de estado.
Primer orden
Simulación en SIMULINK
Para R = 0.02

Para R = 0.18
Para R = 0.2

Para R = 2
Segundo Orden
Diagrama en
SIMULINK
Para R = 0
Para R = 1.124
Para R = 0.62
Para R = 1.24
Para R = 12.4
Para R = 62
Conclusiones

Olvera De León Guadalupe Monserrat

Los comandos en MATLAB son importantes para su comprensión y


funcionamiento, debido a esto, es importante conocerlos y saber su comando
correcto para poder ingresarlo en MATLAB.
Igualmente, la simulación en SIMULINK, concluyendo con las graficas que se
mostraron anteriormente, el circuito nos da los datos correctos.

El conocer los comandos y saberlos aplicar es importante para cualquier


estudiante y profesional que necesite aplicarlos en algún problema que
requiera solución en cuanto a las matrices, así como las matrices que se
propusieron en el punto 2 y la solución del punto 3. Y el SIMULINK, para los
circuitos RL y RLC con el fin de obtener las salidas que se indicaban para
cada uno de los casos.

Palacios Hernandez Zaid

Por lo tanto, al tener un poco mas de conocimientos para simular en


MATLAB en código .m y SIMULINK para hacer programas de matrices y
ecuaciones de estado pueden resultar más fácil. En el código .m de investigo
los comandos para aplicar en matrices. Para SIMULINK se aplico un circuito
RL y RLC, en donde se metió la matriz de la ecuación de estado de los dos
circuitos y en la salida se reflejaban 3 señales que son la resistencia, la bobina
y el capacitor; se utilizo un demultiplexor para separar dichas señales en una
sola grafica.
Referencias Bibliográficas

Consultado en: https://la.mathworks.com/help/matlab/ref/inv.html

Consultado en: https://la.mathworks.com/help/matlab/math/create-arrays-of-


random-numbers.html

Consultado en: https://la.mathworks.com/help/matlab/ref/switch.html

Consultado en: https://la.mathworks.com/help/matlab/ref/switch.html

Consultado en: https://la.mathworks.com/help/matlab/ref/input.html#btt5u2a-


x

Consultado en: https://la.mathworks.com/help/matlab/ref/input.html#btt5u2a-


x

Consultado es: https://la.mathworks.com/help/matlab/ref/roots.html

Consultado en: https://www-mathworks-


com.translate.goog/help/matlab/ref/det.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr_
hl=es&_x_tr_pto=sc

Consultado en: https://la.mathworks.com/help/matlab/ref/ones.html

Consultado en: https://la.mathworks.com/help/matlab/ref/zeros.html

Consultado en: https://www-mathworks-


com.translate.goog/help/matlab/ref/rank.html?_x_tr_sl=en&_x_tr_tl=es&_x_t
r_hl=es&_x_tr_pto=sc

Consultado en: https://la.mathworks.com/help/matlab/ref/size.html

Consultado en: https://www-mathworks-


com.translate.goog/help/matlab/ref/eye.html?_x_tr_sl=en&_x_tr_tl=es&_x_tr
_hl=es&_x_tr_pto=sc

También podría gustarte