Documente Academic
Documente Profesional
Documente Cultură
TEORIA DE CONTROL 1
PRACTICA 1
USO de
MATLAB
La matriz * (1) es una matriz de cuatro filas y tres columnas ( de dimensin 4x3).
La matriz (2) es una matriz de
2 filas y 2 columnas (cuadrada, de dimensin 2x2). La matriz (3) es una matriz de
3 filas y 3 columnas (cuadrada, de dimensin 3x3). La matriz (4) tiene 3 filas y 4
columnas ( de dimensin 3x4).
El nmero en la fila i, columna j, ser denominado como aij.
La matriz A:
es una matriz general de dimensin 3x4 (tres filas, 4 columnas) cuyos elementos
se han denominado a11 , a12 ,a13 , etc., puesto que no se conocen sus valores.
La matriz A del ejemplo anterior se abreviar como:
A = ( aij ) 3x4
En general, la notacin
A = ( aij ) mxn
Denotar a la matriz:
Matriz cuadrada
La matriz cuadrada tiene el mismo nmero de filas que de columnas.
Los elementos de la forma aii constituyen la diagonal principal.
La diagonal secundaria la forman los elementos con i+j = n+1, siendo n el orden
de la matriz.
Matriz rectangular
Esto es:
Esto es:
Matriz diagonal
En una matriz diagonal todos los elementos que no estn situados en la diagonal
principal son nulos.
Se define como:
Matriz nula
MATRIZ 0 DE DIMENSIN mxn.
La matriz 0 de dimensin mxn, o matriz nula, es la matriz
0mxn = (a) ij mxn, donde a ij = 0, para cada i,,j.
(At)t = A
(A + B)t = At + Bt
( A)t = At
(A B)t = Bt At
Matriz simtrica
Diremos que una matriz A de orden mxn es una matriz simtrica si coincide con su
traspuesta, es decir A=A`
Es evidente que las matrices simtricas tienen que ser matrices cuadradas.
Matriz dispersa
Son matrices en las cuales la gran mayora de las entradas son cero. Sea A una
matriz dispersa de tamao nn. Definamos la notacin (A), que indica el nmero
de entradas no cero de A. Es una matriz de gran tamao en la que la mayor parte
de sus elementos son cero
Matriz llena
Vector fila
es una matriz de dimensiones
de elementos.
Vector columna
Matriz
conjugada
Matriz hermitiana
Una matriz
hermitiana (o hermtica)
es
una matriz
cuadrada de
elementos complejos que tiene la caracterstica de ser igual a su
propia traspuesta conjugada. Es decir, el elemento en la i-sima fila y j-sima
columna es igual al conjugado del elemento en la j-sima fila e i-sima columna,
para
todos
los
ndices i y j:
o,
escrita
con
la
traspuesta
conjugada A*:
=
= a11 a22 a33 + a12 a23 a 31 + a13 a21 a32
a13 a22 a31 a12 a21 a 33 a11 a23 a32.
Obsrvese que hay seis productos, cada uno de ellos formado por tres elementos
de la matriz. Tres de los productos aparecen con signo positivo (conservan su
signo) y tres con signo negativo (cambian su signo).
Ejemplo
=
3 2 4 + 2 (5) (2) + 1 0 1
1 2 (2) 2 0 4 3 (5) 1 =
= 24 + 20 + 0 (4) 0 (15) =
= 44 + 4 + 15 = 63
Cofactor
Se llama cofactor del elemento aik del determinante D, al
el signo (-1)i+k y se denota Aik, esto es
Ejemplo:
Obtenga los cofactores A13 y A21 del determinante D dado:
Y de la misma forma
Igualdad de matrices
Dos matrices son iguales si tienen las mismas dimensiones y cada elemento de la
primera es igual al elemento de la segunda que ocupa su misma posicin. Es
decir:
Mm,n
Ejemplo:
Matriz adjunta
La matriz adjunta es aquella en la que cada elemento se sustituye por su adjunto.
Se llama adjunto del elemento aij al menor complementario anteponiendo:
El signo es +
si i+j es par.
El signo es -
si i+j es impar.
Ejemplo
Rango
Si A es una matriz de orden m x n
,
Se puede considerar que cada una de sus filas es un vector de Rn y cada una de
sus columnas un vector de Rm . Al nmero mximo de vectores filas que son
linealmente independientes se denomina rango por filas y al nmero mximo de
vectores columna que son linealmente independientes se denomina rangopor
columnas.
Ambos nmeros coinciden. Por ello, podemos dar la siguiente definicin:
Se llama rango o caracterstica de una matriz al no de lneas (filas o columnas) que
son linealmente independientes. El rango de la matriz A se designa por rg(A).
Ejemplo:
A tiene rango dos, ya que las dos primeras filas son independientes y la tercera es
combinacin lineal de las otras dos.
donde la nica posibilidad que se cumpla esta ecuacin es que dichos escalares
sean todos nulos. En caso contrario, se dice que son linealmente dependientes.
Ntese que el smbolo a la derecha del signo igual no es cero, sino que simboliza
al vector nulo .
El conjunto de vectores nulos forma la matriz nula. Si tales nmeros no existen,
entonces los vectores son linealmente independientes. Tambin puede extenderse
a un conjunto infinito de vectores, concretamente un conjunto cualquiera de
vectores es linealmente dependiente si contiene un conjunto finito que sea
linealmente dependiente.
Un conjunto de vectores
si
Esta idea es importante porque los conjuntos de vectores que son linealmente
indepedientes, generan un espacio vectorial y forman una base para dicho
espacio. Entre las propiedades de los vectores linealmente dependientes e
independientes encontramos:
1. Un conjunto de vectores es linealmente dependiente si y solamente si
alguno de los vectores es combinacin lineal de los dems.
2. Si un conjunto de vectores es linealmente independiente cualquier
subconjunto suyo tambin lo es. Obviamente, si tenemos un conjunto de
vectores tales que ninguno de ellos es combinacin de los dems,
escogiendo solamente unos cuantos, no podrn ser combinacin de los
otros.
3. Si un conjunto de vectores es linealmente dependiente, tambin lo es todo
conjunto que lo contenga.
4. Un conjunto de vectores son linealmente dependientes si y slo si son
paralelos.
5. Un conjunto de vectores son linealmente dependientes si los componentes
entre ellos son proporcionales, bien sea directa o inversamente
proporcional. Ya que un conjunto de vectores es linealmente dependiente si
y solo si tiene algn vector que es combinacin lineal de los dems.
En general, una matriz acta sobre un vector cambiando tanto su magnitud como
su direccin. Sin embargo, una matriz puede actuar sobre ciertos vectores
cambiando solamente su magnitud.
Una funcin vectorial A es lineal si:
A(x + y) = Ax + Ay b) A(x) = Ax
donde x y y son vectores y es escalar.
Dada una transformacin lineal A, un vector e 0 es un eigenvector de A si
satisface la ecuacin:
Ae = e
Valores propios, valores caracteristicos o eigenvalores
Para algn escalar , llamado un eigenvalor de A correspondiente al eigenvector e.
Un eigenvalor y un eigenvector de una matriz cuadrada [A] satisfacen la
ecuacin: A = o de forma equivalente: (A I) =
Matriz jacobiano
Dada una funcin vectorial f:ARnRm, donde (f1,f2,...,fm) son las funciones
escalares componentes de f. Si fi(a)i=1,2,...,m.
Definimos la matriz Jacobiana de f en el punto aA, y la representamos por Jf(a),
mediante la matriz mn donde cada fila es el vector gradiente de la
correspondiente funcin componente, es decir:
Matriz hessiana
Matriz Aumentada
A+ B=
Por
lo
tanto:
En este ltimo caso diremos que la suma no est definida o que las matrices no
son conformes para la suma.
La suma slo estar definida para matrices de la misma dimensin.
Multiplicacin de matrices
como la matriz C de dimensin 2x4, donde cada elemento cij, de la fila i, columna j
del producto C, es el resultado de la siguiente operacin:
Elemento en fila i, columna j de C = Fila i de A x columna j de B
Por supuesto, el elemento c23, de la 2da. fila, 3ra. columna del producto
C = AB,
se calcular multiplicando la fila 2 de A, por la columna 3 de B (enmarcadas), as:
Debido a que:
Por lo tanto:
El producto
. En la que
, B=
AB
es la matriz m 1
. son columnas de B.
A=
Ejemplo:
B=
cuyos
columnas
1xn
nx1
[]
2
3 =
4
(1*2)+(2*-3)+(-1*4)= -8
vector coumna x vector fila = Matriz nx1 * Matriz 1xn = Matriz nxn
El
resultado
es
una
matriz
cuadrada
de
nxn
elementos
Ejemplo
[]
2
3
4
x[1 2 -1]=
][
( 21 )
(22)
(21)
2
4 2
=
(31) (32) (31) 3 6 3
4
8 4
( 41) ( 42)
(41)
Ejemplo:
k A = (k aij)
Matriz inversa.
F3 = F3 + F2
F2 = F2 F3
F1 = F1 + F2
F2 = (1) F2
Mtodo 2.
Ejemplo
2.
Comprobamos si tiene rango mayor o igual que 1, para ello se tiene que
cumplir que al menos un elemento de la matriz no sea cero y por tanto su
determinante no ser nulo.
|2|=20
3. Tendr rango mayor o igual que 2 si existe alguna submatriz cuadrada de
orden 2, tal que su determinante no sea nulo.
Como todos los determinantes de las submatrices son nulos tiene rango menor
que 3, por tanto r(B) = 2.
En general, los pasos a seguir para el clculo del rango por determinantes son:
El rango es el orden de la mayor submatriz cuadrada no nula.
1.
2.
3.
4.
5.
De este mismo modo se trabaja para comprobar si tiene rango superior a 4, hasta
que la submatriz (o las submatrices) del mayor orden posible tenga (o tengan)
determinante nulo.
Triangularizacion de una matriz usando eliminacin Gaussiana.
El mtodo de Gauss consiste en transformar un sistema de ecuaciones en otro
equivalente de forma que este sea escalonado.
Para facilitar el clculo vamos a transformar el sistema en una matriz, en la que
pondremos los coeficientes de las variables y los trminos independientes
(separados por una recta).
Ejemplo.
Sea el siguiente sistema de ecuaciones, resuelva mediante la eliminacin
Gaussiana.
3x
+ 2y
+z
5x
x
+ 3y
+y
+ 4z
z
=
=
2
1
Ejemplo 2.
Que
tenga
Que
Que
una
no
tenga
una
solucin
tenga
solucin
nica.
solucin.
infinita.
Existen diversos mtodos para encontrar las posiciones de interseccin entre los
elementos, tanto mtodos algebraicos como lineales:
Entre los mtodos algebraicos, destacan:
1.2.3.-
Mtodo
Mtodo
Mtodo
de
de
de
sumas
sustitucin.
igualacin.
restas.
4.-
Mtodo
grfico.
eliminacin
de
de
de
la
Gauss.
Gauss-Jordan.
inversa.
11
3x
+
=
=
3y
13
=
+
13
11
24
=
=
11
11
3x
9
Lo primero que haremos ser despejar en las dos ecuaciones la misma incgnita
3x
=
=
-13
5x
24
11
1.5000
2.0000
2.5000
3.0000
LA FUNCIN FPRINTF
Es otra funcin para mostrar un mensaje o un resultado, pero que permite mezclar
texto y valores numricos de las variables y tambin se puede ajustar el formato
de los nmeros. Esta funcin tiene muchas posibilidades por lo que empezaremos
con las ms sencillas.
0, aade ceros
5, indica cinco caracteres que es el ancho del campo donde ese imprime el
valor numrico, si el nmero es ms corto se aaden espacios o ceros
delante del nmero.
i, indica entero
g, formato corto
LA FUNCIN SPRINTF
La funcin sprintf es similar a printf salvo que imprime en una variable. Se utiliza
en combinacin con la funcin grfica text para mostrar valores de una variable en
un grfico
%cdigo para dibujar un grfico
plot(Vr,Pr,'r')
text(1,1.35,sprintf('presin %1.3f',p))
Vamos a ver como funciona en la ventana de comandos. Guardamos el valor que
imprime sprintf en la variablestr.
>> str=sprintf('el valor de pi es %1.3f',pi)
str =
el valor de pi es 3.142
Al final de fprintf se pone el carcter \n que indica una nueva lnea, no es
necesario en la funcin sprintf
CAPTURA DE ARREGLOS MULTIDIMENSIONALES.
Damos a continuacin una introduccin bsica a la definicin y manipulacin de
matrices. La definicin de una matriz es anloga a la definicin de un vector.
Podemos considerarla como una columna de vectores fila (los espacios son
necesarios):
>> A = [ 1 2 3; 3 4 5; 6 7 8]
A=
123
345
678
3
O como una fila de vectores columna:
>> B = [ [1 2 3] [2 4 7] [3 5 8]]
B=
123
245
378
(de nuevo, es importante incluir los espacios.)
Size
3 by 3
Elements
Bytes
Density
Complex
72
Full
No
3 by 3
72
Full
No
ans
1 by 3
24
Full
No
1 by 5
40
Full
No
end
>> n
USO DE ARCHIVOS M.
Matlab tienen especial importancia los ficherosM de extensin .m. Contienen
conjuntos de comandos a ejecutar o definicin de funciones y se ejecutan al
teclear su nombre en la lnea de comandos y pulsar intro (si se encuentra en el
Current Directory) o al pinchar sobre l en Current Directory con el botn derecho
del ratn y elegir run. Representan el centro de la programacin en Matlab.
Un fichero .m puede llamar a otros ficheros .m y ficheros de comandos pueden ser
llamados desde ficheros de funciones. En estos casos es importante tener en
cuenta la definicin de las variables a utilizar, en la lnea de que tengan un
tratamiento local o global.
Por defecto, Matlab considera las variables locales, es decir, aunque varias
funciones tengan la variable x, sta es diferente en cada caso a no ser que haya
sido definida como global. Son ficheros de texto sin formato y que pueden crearse
a partir de un editor de textos, no obstante, lo mejor es utilizar el editor del propio
programa al que se accede por defecto al abrir un nuevo fichero.
Para crear un nuevo fichero .m elegimos new M-File del men File o elegimos el
icono correspondiente. Aparece entonces la pantalla del editor/Debugger donde
podemos ir escribiendo las sentencias. En el caso de la figura el fichero contiene
comentario, dos sentencias y otro comentario. Las sentencias seguidas de (;) no
se mostrarn en pantalla al ejecutar el fichero.
Funciones
Matlab tiene definidas sus propias funciones, por ejemplo Sin, Cos, etc. En
general, el programa tiene un gran nmero de funciones incorporadas, bien se
trata de funciones intrnsecas, es decir, del propio cdigo ejecutable lo que las
hace muy rpidas y eficientes, o bien se trata de funciones definidas en ficheros,
normalmente .m, que vienen con el programa. A todo ello se 42 unirn las
funciones creadas por el propio usuario. La importante diferencia de estas ltimas
es que, para que el programa pueda trabajar con ellas, el correspondiente
fichero .m debe estar en el directorio actual o en el path.
El trabajo con funciones y el propio concepto de funcin en Matlab es parecido al
que se tiene en C y en otros lenguajes de programacin. Toda funcin tendr:
- Un nombre. Por ejemplo: f.
- Unos argumentos. Van a continuacin del nombre y entre parntesis, separados
por comas si son ms de uno. Por ejemplo: f(x) f(x,y).
- Unas salidas o retornos que son el resultado de la funcin.
La ventaja de Matlab es que pueden ser valores matriciales mltiples que se
recogern en diversas variables que se agruparn entre corchetes. Por ejemplo:
p=f(x)
[p,q]=f(x).
Funciones de librera
Ya conocemos, si no puede consultarse la ayuda, los diversos tipos de funciones
que tiene el programa. Se clasifican en:
- Funciones matemticas elementales.
- Funciones especiales.
- Funciones matriciales elementales.
- Funciones matriciales especficas.
- Funciones para la descomposicin y/o factorizacin de matrices.
- Funciones para anlisis estadstico de datos.
- Funciones para anlisis de polinomios
- Funciones para integracin de ecuaciones diferenciales ordinarias.
- Resolucin de ecuaciones no-lineales y optimizacin.
- Integracin numrica.
- Funciones para procesamiento de seales.
definido como parte de sus argumentos, stas deben definirse como globales
tanto en el programa principal como en los ficheros .m dnde se quiera tener en
cuenta.
SIMULINK
Simulink es una aplicacin que permite construir y simular modelos de sistemas
fsicos y sistemas de control mediante diagramas de bloques. El comportamiento
de dichos sistemas se define mediante funciones de transferencia, operaciones
matemticas, elementos de Matlab y seales predefinidas de todo tipo.
Simulink dispone de una serie de utilidades que facilitan la visualizacin, anlisis y
guardado de los resultados de simulacin. Simulink se emplea profusamente en
ingeniera de control.
El entorno de trabajo de Simulink
Simulink es una herramienta de gran utilidad para la simulacin de sistemas
dinmicos.
Principalmente, se trata de un entorno de trabajo grfico, en el que se especifican
las partes de un sistema y su interconexin en forma de diagrama de bloques. De
nuevo, se trata de una herramienta amplsima que adems se complementa con
numerosos elementos opcionales. Por tanto, nos limitaremos a dar unas
pinceladas de los elementos ms tiles en Regulacin Automtica.
Adems de las capacidades de simulacin de las que est dotado Simulink,
conviene destacar que contiene cmodas utilidades de visualizacin y
almacenamiento de resultados de simulacin.
Uso de Simulink
En primer lugar, lanzaremos la aplicacin escribiendo simulink en la lnea de
comandos de Matlab, o abriendo desde el Explorador de Windows cualquier
fichero con extensin .mdl. En el primero de los casos se abrir la ventana de la
figura a continuacin:
Una vez localizado el bloque Transfer Fcn arrastraremos dicho bloque hacia el
espacio de trabajo de Simulink. El arrastre de bloques se realiza seleccionando el
icono del bloque con el botn izquierdo del ratn, y manteniendo este pulsado se
desplazara el cursor hasta la ventana del modelo.
Repetiremos la operacin tres veces, para reproducir una estructura, dando lugar
a
la
ventana
mostrada
en
la
figura.
Una vez insertados los bloques de las funciones de transferencia, les asignamos
nombres especficos (G1,G2 y G3) editando el texto al pie de cada icono, y les
damos valores a dichas funciones, para que coincidan con los parmetros de las
funciones G1(s), G2(s) y G3(s) definidas anteriormente.
Con este fin, haremos doble click sobre cada bloque de funcin de transferencia, y
en la ventana que se abre en cada caso, introduciremos los vectores de
coeficientes de los polinomios numerador y denominador de cada funcin de
transferencia.
Operacin
Conectar bloques (I)
Bifurcar cables
Procedimiento
Para conectar las salidas de un bloque
a la entrada de otro, hacer click con el
botn izqdo. Del ratn en el bloque
origen. Pulsar y mantener la tecla
CTRL y hacer de nuevo click sobre el
bloque destino.
Tambin se puede extraer un cable de
seal haciendo click en el saliente
derecho del bloque origen y prolongar
la seal (pulsando y manteniendo el
botn izquierdo del ratn) hasta llegar
a la parte izquierda del bloque destino
Un cable de seal (que lleva la salida
de un bloque hacia otro bloque), puede
bifurcarse para distribuir la seal a
varios bloques pulsando con el botn
derecho en cualquier punto del cable.
Modelo completo.
Fuentes y sumideros de seal
Los bloques de suma y resta de seales y los de funciones de transferencia,
funcionan como procesadores de seal. Sin embargo, en las simulaciones han de
existir fuentes de seal externas, pues lo que se pretende en general es ver cmo
responden determinados sistemas a estmulos exteriores.
En nuestro ejemplo necesitamos una seal externa para generar una referencia a
seguir por el sistema controlado. Esta referencia debe ser, lgicamente, cambiante
con el tiempo. En nuestro caso emplearemos una seal de tipo escaln, que se
implementa, con sus parmetros especficos, mediante el bloque Step. Bloques
como este, que solo tienen salidas y ninguna entrada, se localizan en el rbol de
navegacin de Simulink en el nodo Simulink/Sources.
Por otro lado, existen bloques con entradas y sin ninguna salida: nodos sumidero.