Вы находитесь на странице: 1из 35

INSTITUTO POLITCNICO NACIONAL

Escuela Superior de Ingeniera##Mecnica y


de Marzo de 2017
Elctrica
Unidad Zacatenco

Ingeniera en Control y Automatizacin.

PRCTICA 2:

Teora del Control III


Profesor: Edgar Maya Perz

Grupo: 6AV1
Integrantes del Equipo:

Bernardino Durn Efrn


Hernndez Guerrero Rolando
Oviedo ngeles Carlos Hern
INDICE

I. Pgina | 1
OBJETIVO........................................................................................................................2
II. OBJETIVO ESPECIFICO.................................................................................................2
III. MARCO TERICO...........................................................................................................2
IV. DESARROLLO..................................................................................................................2
V. RESULTADOS................................................................................................................12
VI. ANLISIS DE RESULTADOS.........................................................................................32
VII. CONCLUSIONES...........................................................................................................32
VIII. REFERENCIAS Y BIBLIOGRAFA.................................................................................32
IX. APENDICE......................................................................................................................32
I. OBJETIVO

Aplicar el software Matlab para el manejo y operacin entre matrices.


Pgina | 2

II. OBJETIVO ESPECIFICO

Invetigar aplicaciones de comandos empleados en Matlab para matrices.


Obtener la respuesta en Matlab se distemas representados en variables de
estado.

III. MARCO TERICO

Qu es una matriz?

Es algo muy simple, se trata de un conjunto de elementos (casi siempre nmeros)


debidamente colocados en filas y columnas.

Esta matriz consta de 20 nmeros colocados en filas y columnas.

El nmero de filas es 5 y el de columnas 4.


Matriz fila:
La que consta de una sola fila:

Pgina | 3

Matriz columna:
La que consta de una columna:

Matriz cuadrada:
La que tiene tantas filas como columnas:

Matriz rectangular:
La que tiene distinto nmero de filas que de columnas:

Matriz traspuesta:
La que se obtiene a partir de otra pero que tiene las filas por columnas. Fjate
bien en el ejemplo:
Tenemos la matriz siguiente:
Pgina | 4

Su traspuesta es:

La traspuesta se representa con una t o T por ndice de la letra que representa el


nombre de la matriz.

Matriz nula:
La que todos sus elementos son iguales a cero:

Se la conoce tambin con el nombre de matriz cero.

Matriz opuesta:
Sabemos que el opuesto de 4 es 4.
El opuesto de - 3 es 3
La matriz opuesta a otra es la que obtiene al cambiar de signo a cada uno de sus
elementos. Por supuesto, su nombre aparecer con el signo opuesto:
Pgina | 5

Matriz diagonal:
Es la que todos sus elementos, excepto los que componen su diagonal
principal son nulos o ceros:

Matriz identidad:
Si todos los elementos son ceros o nulos excepto los que componen su diagonal
principal que han de ser iguales a 1:

Matriz identidad:
Si todos los elementos son ceros o nulos excepto los que componen su diagonal
principal que han de ser iguales a 1:

Matriz triangular superior:


Es la que todos los elementos por debajo de la diagonal principal son nulos:
Pgina | 6

Matriz triangular inferior:


Es la que todos los elementos por encima de la diagonal principal son nulos:

Existen otros tipos de matrices que proceden como resultado de operaciones entre
ellas.
Sumar y restar matrices
Para sumar y restar matrices, stas pueden ser, las dos cuadradas o las dos
rectangulares. El nmero de filas y columnas de una han de ser igual al nmero de
filas y columnas de la segunda.
Sumar:
Sumamos los valores que ocupan la misma posicin.
El valor que se halla en la posicin (1 1) de A con el valor de la posicin (1 1) de
la matriz B.
El valor que se halla en la posicin (1 2) de A con el valor de la posicin (1 2) de
la matriz B.
El valor que se halla en la posicin (1 3) de A con el valor de la posicin (1 3) de
la matriz B. De este modo haremos con el resto de las filas.
Vamos a sumar las matrices A y B:
Pgina | 7

Restar matrices:
Es lo mismo que en el caso anterior pero restando los valores que ocupan las
mismas posiciones:

Ejercicio #8 Cunto vale:

Respuesta:

Multiplicar matrices:
Vamos a considerar 2 casos:
1) Multiplicar una matriz por un escalar
Pgina | 8
Multiplicamos cada elemento por el escalar:

2) Multiplicar dos matrices es preciso que la 1 tenga tantas columnas como filas
la 2 matriz. El resultado ser una matriz que tiene el mismo nmero de filas como
tiene la 1 y tantas columnas como tiene la 2:

Multiplicamos las matrices:

Tenemos que multiplicar el primer elemento de la 1 fila de A (3) por el primer


elemento de la fila de B (2).
El segundo elemento de la fila 1 de A (2) por el 2 elemento de la fila de B (-4).
El tercer elemento de la 1 fila de A (6) por el tercer elemento de la fila de B (6).

Hago lo mismo con los elementos de la 2 fila de A:


Multiplico el primer elemento de la 2 fila de A ( 2) por el primer elemento de la fila
de B (2).
El segundo elemento de la fila 2 de A (4) por el 2 elemento de la fila de B (-4).
El tercer elemento de la 2 fila de A (6) por el tercer elemento de la fila de B (6).
Pgina | 9

Quiz te resulte algo complicado la operacin de multiplicar.

Posiblemente te ayude saber:

1) Slo se pueden multiplicar matrices cuando el nmero de columnas del


multiplicando coincide con el de filas del multiplicador.

2) Un procedimiento sencillo de llevar a cabo esta operacin es colocar cada fila


del multiplicando en forma de columna y colocarla enfrente del multiplicador y
hacer el producto de los elementos que hallen uno frente al otro:

Ejemplo:

Y lo mismo con la 2 fila que sera:


Pgina | 10

3) El resultado de un producto de matrices es una matriz con el nmero filas igual


al multiplicando y el nmero de columnas igual a las que tiene el multiplicador.
ORDEN DE UNA MATRIZ
Como has visto hasta aqu, las matrices se componen de filas y columnas a las
que generalmente se las representan con las letras m y n. La m para las filas y
la n para las columnas.
El nmero de elementos de una matriz lo obtendremos de multiplicar el nmero de
filas por el de columnas: m x n

Al producto m x n llamamos orden de matriz


Cuando decimos que una matriz es de orden 4x5 ya podemos afirmar que se trata
de una matriz de 4 filas y 5 columnas.
Te dars cuenta que una matriz de 3x2 es ms pequea que otra matriz de 7x4.
Esto quiere decir que el orden, el tamao, la dimensin significan lo mismo.
Matriz inversa (I):
La matriz inversa de una matriz es la que multiplicada por sta
se obtiene una matriz identidad.
Por si no recuerdas:
Si todos los elementos son ceros o nulos excepto los que componen su diagonal
principal que han de ser iguales a 1:
IV. DESARROLLO

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


Pgina | 11
Inv Ranck
Input Size
Eig Eye
Poly Rand
Det Switch
Ones Case
Zeris

2) Realizar un programa en Matlab que realice las siguientes operaciones


sobre la matriz B. Ademas de ejemplificar el uso de los comandos del punto
1).

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

C=B G=B-E
D=B+C H=B+F
E=B. *C I=B. ^3
F=B^3

3) Obtener las curvas de respuesta de los sistemas de 1er y 2do orden de la


practica 1, empleando simulink y el bloque de variables de estado.

Bu
x= Ax+
y=Cx+ Du
V. RESULTADOS

1) Se realizo la investigacin de los comandos indicados en el desarrollo, en


Pgina | 12
los siguientes renglones se presenta la informacin.

COMANDOS
Comando inv
Sintaxis
Y = inv(X)
Descripcin
Y = inv(X) calcula la inversa de la matriz cuadrada X.

X^(-1)es equivalente a inv(X).


x = A\bse calcula de manera diferente que x = inv(A)*by se recomienda para
sistemas de ecuaciones lineales.

X = [1 0 2; -1 5 0; 0 3 -9]
X=

102
-1 5 0
0 3 -9

Y = inv (X)
Y=

0,8824 0,1961 -0,1176


0.1765 0.1765 0.0392
0,0588 0,0588 -0,0980

Comando input
Sintaxis
x = input(prompt)
str = input(prompt,'s')
Descripcin Pgina | 13

x = input(prompty) muestra el texto en prompty espera a que el usuario introduzca


un valor y pulse el regreso clave. El usuario puede introducir expresiones, y se
puede utilizar variables en el espacio de trabajo.

Solicitar una entrada numrica, y luego multiplicar por 10 la


entrada.

prompty = "Cul es el valor original? ' ;

x = input (indicador)

y = x * 10

En el indicador, introduzca un valor o matriz numrica, como


por ejemplo 42.

x=

42

y=

420

Comando eig

Calcula los valores y vectores propios (ortovalores y ortovectores) de la matriz.


La sintaxis de la orden es:
[Vectores, Diagonal] = eig( Matriz );
(Los smbolos [ ] se escriben.)
tambin:
Valores = eig( Matriz );
Matriz es la matriz (cuadrada) a la que se le desea calcular los valores o vectores
propios.
Diagonal es una matriz diagonal que contiene los valores propios de Matriz.
Vectores es una matriz en la que se devuelven los vectores propios (unitarios)
donde cada columna de la matriz Vector es un vector propio de matriz; tal que el
primer vector corresponde al primer valor propio y as sucesivamente.
Valores es un vector columna que contiene los valores propios de Matriz.
Pgina | 14

%Ejemplo de uso de eig.


A = [1 2; 3 4]
y = eig(A)
[V, D] = eig(A);
V %Al escribir una expresin sin punto y coma final MATLAB
% muestra el valor por pantalla D

Al correr el programa se obtiene la siguiente salida:


A=
1 2
3 4
y = -0.3723
5.3723
V= -0.8246 -0.4160
0.5658 -0.9094

D= -0.3723 0
0 5.3723

Comando inv
Sirve para invertir una matriz.
La sintaxis de la orden es:
matriz1 = inv(matriz2);
matriz2 es la matriz que se desea invertir
En matriz1 se almacena la matriz inversa de matriz 2.
El siguiente ejemplo ilustra el uso de inv:

Pgina | 15

%Ejemplo de uso de inv.


A = [1 2; 3 4]
I = inv(A);
I % Al escribir una expresin sin punto y coma al final
% MATLAB muestra su valor en pantalla.
Al correr el programa se obtiene como salida la matriz que se desea invertir (A), y su inversa
( I ). La salida se ve as:

A= 1 2
3 4

I= -2.0000 1.0000
1.5000 -0.5000

Comando poly
Se calcula el polinomio caracterstico asociados a la matriz A dada.
p=poly(A)
>> poly(A)
ans =
1 -7 6
El resultado son los coeficientes del polinomio caracterstico ordenado de
acuerdo a las potencias decrecientes de la variable , es decir:
P( ) = 2 7 +6

Comando det Pgina | 16

Sirve para calcular el determinante de una matriz.


La sintaxis de la orden es:
Valor = det (Matriz)
Matriz es la matriz (cuadrada) a la que se le desea calcular el determinante.
Valor es donde se almacena el valor del determinante.
El siguiente ejemplo ilustra el uso de det:

% Ejemplo de uso de det


A = [1 2 7; 4 5 8; 6 -7 10]
d = det(A)

Al correr el programa se obtiene la siguiente salida:


A= 1 2 7
4 5 8
6 -7 10

d = -284

Comando ones
Una matriz toda de unos se genera con ones(m,n); por ejemplo
>> ones(4,3)
ans =
1111
1111
1111
Comando zeros Pgina | 17

Una matriz toda de ceros, con zeros(m,n); por ejemplo


>> zeros(1,7)

ans = 0 0 0 0 0 0

Comando rank
El rango de una matriz es el mximo nmero de filas linealmente independientes.
La funcin rank calcula el rango de una matriz. Sea la matriz A
A=
>> A=[1 -1 0 -1; 3 1 2 0; 2 -3 2 -1];
>> rank(A)
ans = 2

Comando size
Devuelve el tamao de la matriz (dimensiones).
La sintaxis de la orden es:
[Filas, Columnas] = size(Matriz);
(Los smbolos [ ] se escriben.)
tambin:
Tamao = size(Matriz);
Matriz es la matriz a la que se le desea determinar el tamao (dimensiones).
En Filas se almacena el nmero de filas.
En Columnas se almacena el nmero de columnas.
Tamao es un vector (fila) en cuyas componentes se almacenan el nmero de filas
y de columnas, siempre en ese orden.
El siguiente ejemplo ilustra el uso de size:

%Ejemplo de uso de size.


A= [1 2 3; 4 5 6]
y = size(A)
Pgina | 18

Comando eye

Matrices especiales con Matlab


Para generar la matriz identidad cuadrada
>>eye(3)
ans =
100
010
001

Comando rand
Generacin de nmeros aleatorios
>> x=rand genera un nmero aleatorio entre 0 y 1
>> a=rand(5) genera una matriz 5x5 con nmeros aleatorios
>> b=rand(4,5) genera una matriz 4x5 con nmeros aleatorios Pgina | 19

Comando switch & case


Switch-case
Se usa cuando queremos ver si una variable (numerica o de caracteres) tiene uno
de varios valores posibles
Ejemplo:
nota = 9;
%nota = input('nota del control, de 0 a 10')
switch nota
case 10
disp('SOBRESALIENTE')
case 9
disp('SOBRESALIENTE')
case 8
disp('NOTABLE')
case 7
disp('NOTABLE')
case 6
disp('BIEN')
case 5
disp('SUFICIENTE')
otherwise
disp('SUSPENSO')
end
2) Para dar cumplimiento con el punto dos de nuestro desarrollo en un archivo
.m se programaron las operaciones utilizando algunos de los comandos del
punto 1 (Veas cdigo en Apndice)
La primera operacin es la transpuesta C=B.
Pgina | 20

Se prosigue con la siguente operacin la cual es una suma D=B+C

Nota: Como podemos ver la operacin D=B+C, no se puede realizar


debido a que para realizar una suma entre matrices es necesario,
que la dimencion de ambas sea la misma, y en este caso no lo son,
asi que se utilizo una matriz auxiliar.
Continuamos con la siguiente operacin la cual es una multiplicacin
de matrices termino por termino de cada una E=B. *C, pero como
vimos anteriormente, la matriz B y C no son de las mismas
dimensiones, y no se puede realizar la operacin termino por
Pgina | 21
termino, asi que en este caso tambin se ocupa una matriz auxiliar a
las dimenciones de B.

De esta manera se pudo realizar la multiplicacin de termino por


termino.

Se prosigue con la siguiente operacin la cual es elevar una matriz a


una potencia F=B^3
Pgina | 22

Nota: Para poder elevar una matriz a una potencia es necesario que
las dimensiones de la matriz sean de forma cuadrada, en este caso
como la matriz B, no es cuadrada se hace una matriz auxiliar, y para
poder tener el resultado al cubo, es necesario multiplicar tres veces
la matriz auxiliar para obtener el resultado al cubo.

Continuando con las operaciones, proseguimos con la siguente


operacin la cual es resta y suma de matrices de matrices G=B-E y
H=B+F, se pueden realizan debido a que son de las mismas
dimensiones.

Pgina | 23

La siguente operacin es realizar elevar la matriz B al cubo, pero


termino por termino, en este caso, es posible obtener la matriz ya
que a cada termino de esta se eleva a una potencia, y se obtiene la
misma matriz con las mismas dimensiones, se podra decir que es
como una matriz multiplicada por un numero.
3) Para el ultimo punto se nos pide obtener las curvas de lo sistemas del 1 y
2 orden de la prctica 1, primero se realizo el procedimiento en el cuaderni
para determinar las variables de estado de ambos sistemas
Primer circuito:

Modelado de Equilibrio

(LVK)

V ( t )=V R +V c

Sustituir la ecuacin de campo de cada elemento

V ( t )=i ( t ) . R+V c

Despejamos i(t) de la ecuacin

V ( t )V c =i ( t ) . R

V ( t )V c
=i (t ) .. Ec. 1
R

Para Vc
1
C
V c= i ( t ) dt
Derivando
dVc 1
= i (t )
dt C

Sustituyendo Ec. 1 en i(t)

1
V ( t ) V c
dVc C
=
dt R

Definiendoo las variables de estado

d Vc
X 1=V c X 1=
dt

Formando modelo de estado matricial

( )( ) ()
1 1
i (t )
y ( t )= R X 1 + R u (t)
v (t )
1 1

1
X 1= ( 1
RC ) X +(1
RC )
u(t )

Realizamos el modelo de estados en simulink para los siguientes valores tomados


de la Prctica No.1

k R () C (F)
0.1 1 0.2 0.5
0.9 1 1.8 0.5
10 1 20 0.5
100 1 200 0.5
Para =0.1

Diagrama de Simulacin 1 Para valores de R=0.2

Parametros de Entrada 1
Para =0.9

Grfica 1 Corriente con R=0.2 Grfica 2 Tensin con R=0.2


Diagrama de Simulacin 2 Para valores de R=1.8

Grfica 3 Comportamiento de Corriente con R=1.8

Para =10

Grfica 4 Comportamiento de Tensin con R=1.8


Diagrama de Simulacin 3 Para valores de R=20

Grfica 5 Comportamiento de Corriente con R=20

Grfica 6 Comportamineto de Tensin con R=20

Para =100
Diagrama de Simulacin 4 Con valores de R=200

Grfica 7 Comportamiento de corriente con R=200

Grafica 8 Comportamiento de Tensincon R=200


Nota 1: Para los valores de salida del
voltaje o tensin se matuvo el valor de 1
para todos los diagramas tal commo resulto
en el modelo matricial hecho a mano, puesto que se obervo que si el valor se
modificaba a 10 la grfica no se apreciaba competamente. llegando a 5 como
valor limite, y en el valor de 1 pudimos observar completamete el comportamiento
de la tensin

Nota 2: La entrada de parmetros al bloque de espacio de estados es similar a la


mostrada en el primer caso (cuando =0.1) nicamente se fue modificando el
valor de la resistencia, se decidio omitir en los dems casos por cuestiones de
optimizacin.

Segundo Circuito

Modelado de Equilibrio

(LVK)

V ( t )=V R +V C +V L

Sustituir por la ecuacin de comportamiento

di(t ) 1
V ( t )=i ( t ) . R+ L + i ( t ) dt
dt C

di(t )
V ( t )=i ( t ) . R+ L +V C
dt

di (t)
Despejamos de la ecuacin
dt

di(t ) 1 R 1
= V ( t ) i (t )+ V
dt L L L C
V ( t )V c
=i (t )
R

Para Vc

1
C
V c= i ( t ) dt
Derivando
dVc 1
= i (t )
dt C

Definiendoo las variables de estado

d i(t )
X 1=i(t ) X 1=
dt
dVc
X 2=V C X 2=
dt

Sustituyendo
1 R 1
X 1= u ( t ) X 1 + X 2
L L L
1
X 2= X 1
C

Formando modelo de estado matricial

y ( t )=
( ) ( )( )
i (t ) 1 1 X 1
v (t ) 0 1 X2
+ ( 0 ) u(t )

( )( ) ( )
R 1
1
( )
X 1
X 2
= L
1
C
C
0
X1
X2
+ L u(t)
0
VI. ANLISIS DE RESULTADOS

VII. CONCLUSIONES

VIII. REFERENCIAS Y BIBLIOGRAFA

IX. APNDICE

%Definimos la matriz B
fprintf('\n Matriz B es: \n');
B=[1 2 3 4 ; 5 6 7 8 ; 9 10 11 12]

%Matriz traspuesta
fprintf('\n Matriz traspuesta de B es: \n');
C=B'

%Suma de matrices
fprintf('\n Suma de B+C es: \n');
fprintf('\n Las matrices no son iguales, no se pueden sumar \n');
B1=(B*31)'; %Usamos una matriz auxiliar
fprintf('\n Suma de B+C1 es: \n');
D=B1+C

%Multiplicacion de matrices termino a termino


fprintf('\n Multiplicacion termino a termino de B Y C: \n');
fprintf('\n Las matrices no son iguales, no se pueden multiplicar termino
a termino\n');
ai=(C*45)
C1=(ai)'
fprintf('\n Multiplicacion termino a termino de B.*C1 es: \n');
E=B.*C1

%Elevar una matriz a una potencia


fprintf('\n Matriz B elevada al cubo es: \n');
B2=rand(3) %Variable auxiliar
F=B2*B2*B2 %No se puede hacer B^3

%Resta de matrices
fprintf('\n Resta de matrices B-E: \n');
G=B-E
%Suma de matrices
fprintf('\n Suma de matrices B+F: \n');
H=B-E

%Elevar terminos de una matriz a una potencia


fprintf('\n Matriz B elevada al cubo termino a termino es: \n');
I=B.^3

Вам также может понравиться