You are on page 1of 20

INSTITUTO POLITCNICO NACIONAL

Escuela Superior de Ingeniera Mecnica y Elctrica


Unidad Culhuacan

Espacio de Estados
Prctica No.2 Matlab aplicado a Matrices
Alumnos:
o
o
o
o

Mora Valencia Itzel Amparo


Marck Pelez Martn Enrique
Aguilar Salazar Isaas Fernando
Morales Rosales Vctor Manuel

Grupo: 7EV1

Profesor: Ing. Maya Prez Edgar

Mxico D.F. a 21 de Enero del 2015


INTRODUCCIN
Se aplicara conocimientos bsico de Matlab pero enfocado a Matrices, basado en
teoras de espacio de estados. Se realizara algunas operaciones de matrices utilizando
las herramientas de Matlab como son los archivos m y Simulink, para obtener su
grafica de respuesta.

MARCO TERICO

Para seguir avanzando hacia el lgebra Lineal es necesario definir el concepto


de Matriz en Matlab. Tcnicamente no hay ninguna diferencia entre vectores,
matrices o tensores. De hecho todos los tipos numricos en Matlab son arrays
sin distincin, cada dimensin que no exista no es ms que un ndice que se
mantiene en 1.
Desde este punto de vista, todos los vectores son en realidad matrices que
tienen slo una fila o una columna. La concatenacin de vectores fila o
vectores columna generar una matriz. El inconveniente es que hasta ahora
slo conocemos vectores fila.

Al igual que con los vectores, Matlab dispone de una ingente coleccin
de funciones que, combinadas adecuadamente, nos serviran para
generar prcticamente cualquier matriz.
Los operadores de suma, resta, multiplicacin, divisin y potencia tambin
funcionan con matrices siempre que sean del mismo tamao. Tambin
podemos aplicar las funciones elementales a matrices, lo que nos dar el
mismo resultado que si hubiramos aplicado la funcin a cada uno de los
elementos.
En el caso de las matrices existen operaciones propias como la multiplicacin
matricial o la inversa. Estas operaciones tambin tienen limitaciones: la
multiplicacin matricial exige que los tamaos de los operandos sean
compatibles y slo las matrices cuadradas no singulares tienen inversa. Caso
aparte son las divisiones matriciales puesto que tenemos dos.

Si el sistema posee mltiples entradas, para un conjunto especificado de polos


en lazo cerrado la matriz de ganancias de realimentacin del estado K no es
nica y se dispone de un grado de libertad adicional (o de varios grados de
libertad) para determinar K. Un uso comn es maximizar el margen de
estabilidad. La asignacin de polos basada en este mtodo se llama asignacin
de polos robusta. La orden de MATLAB para la asignacin de polos robusta es
place.
Aunque la orden place se puede utilizar tanto para sistemas de una nica
entrada como de mltiples entradas, requiere que la multiplicidad de los polos
en los polos en lazo cerrado deseados no sea mayor que el rango de B. Esto es,
si la matriz B es una matriz n # 1, la orden place necesita que no haya polos
mltiples en el conjunto de polos en lazo cerrado deseado.
Para sistemas de una nica entrada, acker y place dan la misma K. (Pero para
sistemas con mltiples entradas, se debe emplear la orden place en lugar de
acker.)
Se observa que cuando el sistema de entrada nica es poco controlable,
pueden surgir algunos problemas de clculo si se utiliza la orden acker. En tal
caso es preferible utilizar la orden place siempre que no existan polos mltiples
en el conjunto deseado de polos en lazo cerrado.
Para utilizar la orden acker o place, se introducen en primer lugar las siguientes
matrices en el programa:
matriz A, matriz B, matriz J

donde J es la matriz consistente de los polos en lazo cerrado deseados, tal que:

J =[ 1 2 n ]
A continuacin se introduce

K = acker(A, B, J)
O bien:
K = place(A,B,J)
Se observa que la orden eig (AB*K) se puede utilizar para verificar que la
matriz K as obtenida da los valores propios deseados.
OBJETIVO

Aplicar Matlab en el manejo y operaciones de matrices. Simulacin de la


respuesta de un sistema de 1er y 2do orden con el bloque de variables de
estado de Simulink.
DESARROLLO
1. Investigar la funcin y la forma de aplicar las siguientes comandos.

Inv
Input
Eig
Poly
Det
Ones
Zeros
Rank
Disp.
Size
Eye
Rand
Switch
Case

Inv-----------Matriz inversa
Y=inv(x)
Input-------------Dato de entrada del usuario
evalResponse=input (prompt)
strResponse=input (prompt, s)
eig--------------eigen-valores y eigen-vectores
d=eig(A)
d=eig(A,B)
[V,D]=eig(A)
[V,D]=eig{A,nobalance}
Poly----------------polinomio de datos especificos
p= poly (A)
p= poly(r)
det--------------determinante de matriz

d=det (x)
ones-----------------crea un arreglo de todos los unos
zeros-----------------crea un arreglo de todos los ceros
Rank----------------- rango de matriz
K=Rank(A)
K=Rank(A,tol)
Size------------------- arreglo de dimension
d=size(x)
[m,n]=size (x)
m=size(x,dim)
[d1,d2,d3,.dn]=size (x)
Eye----------Matriz de identidad
Y=eye (n)
Y=eye(m,n)
Y=eye([m,n])
Y=eye (size(A))
Y=eye (m,n,classname)
Rand----------------uniformalidad distribuida de numerous.
Disp.------------despliega texto o arreglo
Disp(x)
Case------------ejecuta un bloque de cdigos si la condicin es cierta
2. Realizar un programa en archivo m, que ejecute las siguientes
operaciones sobre la matriz B
Adems ejemplificar el uso de cada comando del punto 1
B=[1 2 3 4;5 6 7 8;9 10 11 12]
C=B
D=B*C
E=B*D
F=B^3

Inv

Entrega el inverso de una matriz cuadrada

Input
Permite al usuario introducir el valor a la variable declarada

Eig
Entrega los eigenvalores y eigenvectores de una matriz, en este caso
B1

Poly
Convierte races a polinomios. Cuando trata a una matriz de NxN, es
un vector de nmero de elementos N+1 los cuales son los coeficientes
del polinomio caracterstico.

Det
Entrega el determinante de la matriz cuadrada B1.

Ones
Entrega un arreglo de 1s de tamao NxN NxM.

Zeros
Entrega un arreglo de 0s de tamao NxN NxM.

Rank
Proporciona el rango de la matriz, un estimado del numero de
renglones independientes de una matriz.

Disp

Despliega el arreglo sin imprimir el nombre del arreglo. Funciona igual


que declarar una variable sin punto y coma.

Size
Despliega el tamao del arreglo de una matriz de NxM, en este caso
de una matriz cuadrada, B1

Eye
Despliega una matriz identidad del tamao que se identifique

Rand

Distribuye uniformemente nmeros pseudoaleatorios en una matriz de


NxM

Switch y Case
Funcionan como un if/else, de manera que despliega el valor de una
variable declarada si el caso establecido se cumple.

Realizar un programa en archivo .m que ejecute las siguiente


operaciones sobre la matriz B.

C = B

D = B*C
E = B.*D
F=B^3
Cdigo en Matlab:
B=[1 2 3 4; 5 6 7 8; 9 10 11 12]
C=B'
D=B*C
B1=[1 2 3 ; 5 6 7 ; 9 10 11]
%Se tuvo que crear una nueva matriz diferente a B porque no
coincidan los tamaos
E= B1 * D
F=B.^3

3.- Empleando simulink obtener la respuesta de los sistemas de 1 er y


2do orden.
1er orden.

F . T .1

er

orden

Cs
CRs +1

Sustituyendo los siguientes valores en la F.T.


Con R=0.25; C=4 y =1

Y la grfica queda como:

Con R=0.1; C=4 y =0.4

Y la grfica queda de la siguiente forma:

Con R=0.1; C=4 y =0.4

Y la grfica queda como:

2do orden.

F . T .2

do

orden

s
L

=
s2+

R
1
s+
L CL

Sustituyendo los siguientes valores en la F.T.


Con R=0; C=4; L=3 ;=0 y n=0.28

Y la Grfica es:

En este caso logramos ver que es un sistema sin amortiguamiento ya que


=0

Con R=5; C=0.4; L=5 ;=0.707 y n=0.707

Y la grfica queda de la siguiente forma:

Con R=10; C=3; L=5 ;=3.81 y n=0.2581

La grafica es:

Con R=10; C=3; L=50 ;=1.23 y n=0.081

La grafica es:

CONCLUSIONES

Victor Manuel Morales Rosales


Aplicar en software de MatLab para realizar las frmulas matemticas
para las matrices, fue un poco
difcil porque algunas sentencias
utilizadas para el archivo m son utilizadas en programacin de c y
recordar cmo se realizan y aplican fue el investigar para realizar el
programa.
Las grficas obtenidas en esta prctica reflejan los conocimientos
obtenidos en clase con respecto a las funciones de primer y segn orden
de un sistema de ellas. Viendo as los distintos casos de salida de una
seal.
Itzel Amparo Mora Valencia
En la prctica pudimos repasar temas como simulink, que es una funcin
que MatLab proporciona para hacer ms sencillo el estudio de una
funcin de transferencia, as tambin conocimos nuevas funciones tanto
para qu sirven como la forma correcta de aplicarlas. Lo que me cost
un poco de trabajo fue el programa en archivo m ya que no soy muy
buena programando pero en general fue una prctica muy productiva.
Martn Enrique Marck Plaez.
En la elaboracin de la prctica aprend a usar simulink, la cual me
ayuda mucho ya que este programa es muy fundamental para un
ingeniero. En la prctica no. 1 trabajamos con funciones de transferencia
pero no se us simulink. Entonces ahora al usar simulink me doy cuenta
que es ms sencillo y ms fcil con el usuario. Tambin se us MATLAB
para poder resolver las matrices y se aprendieron las funciones de los
comandos.
saas Fernando Aguilar Salazar.
Al empezar investigar sobre las instrucciones para aplicar Matlab a las matrices
se poda determinar rpidamente las variables de estado, ya que obtenindolas
manualmente se puede tardar mucho ms y con errores y con Matlab pas lo
contrario. El problema es como generalmente sucede es aprender como
aplicarlo en Matlab ya que al ser nuevas funciones causa cierta confusin y
como consecuencia tener errores.