You are on page 1of 9

Automtica

Grado en Ingeniera Mecnica

Prctica 01
Introduccin a MATLAB
Introduccin
MATLAB fue inicialmente diseado como una herramienta para facilitar el
clculo matricial, de hecho el nombre MATLAB deriva de MATrix LABoratory
(Laboratorio de Matrices).
Hoy da, MATLAB es un sistema interactivo y un lenguaje de programacin de
carcter cientfico y tcnico que es utilizado, con xito, tanto en el mbito acadmico
como en el mbito industrial.
Las caractersticas principales de MATLAB son:
Orientado al clculo matemtico y cientfico.
Uso de las matrices como elemento principal.
Potencia grfica.
Sistema abierto.
Facilidad de uso.
Lenguaje de programacin.

El entorno MATLAB
La ventana de MATLAB se encuentra dividida en tres partes (subventanas)
fundamentales:
La subventana derecha de la pantalla se denomina ventana de comandos
(Command Window) y es en ella donde se introducen los comandos
propios de MATLAB.
Esta ventana tiene capacidad de memorizar los comandos que han sido
introducidos con anterioridad (uso de la tecla flecha arriba).
La subventana superior izquierda de la pantalla se denomina ventana del
espacio de trabajo (Workspace) y en ella aparecen todas las variables
que se han utilizado en la ventana de comandos.
Esta ventana tiene la capacidad de crear nuevas variables, eliminar
variables y de visualizar y editar los valores de las variables que ya
existen.

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

La subventana inferior izquierda de la pantalla se denomina ventana del


historial de comandos (Command History) y en ella aparece una lista
ordenada por fecha y hora de todos los comandos que se han utilizado
con anterioridad.
Esta ventana tiene la capacidad de copiar o guardar la totalidad o parte
del historial de comandos en un archivo o en la ventana de comandos.

Adems, existe la posibilidad de cambiar el directorio de trabajo actual (Current


Directory) para guardar y ejecutar comandos desde una carpeta definida por el propio
usuario.

Directorio Actual

Espacio de
Trabajo

Ventana de Comandos

Historial de
Comandos

Figura 1. Ventana de MATLAB

A continuacin se introducirn algunos comandos bsicos para el uso general de


MATLAB y algunos comandos especficos de control que se utilizarn y ampliarn en
prcticas posteriores.
Antes de comenzar, destacar la importancia del comando ayuda (help) que
muestra informacin relevante acerca del uso y de los parmetros necesarios para la
correcta ejecucin de los distintos comandos que se deseen utilizar.

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

Matrices y vectores
MATLAB slo trabaja con un tipo de objetos que son las matrices, para
MATLAB cualquier variable es considerada como una matriz rectangular que no
necesita ser dimensionada previamente para poder ser usada. La mayora de las
funciones de MATLAB estn diseadas para operar directamente con matrices.
Esto no quiere decir que MATLAB no trabaje con escalares (matrices 1 x 1) ni
con vectores filas o columnas (matrices 1 x n n x 1 respectivamente).
Los elementos de una matriz pueden ser nmeros enteros, reales o complejos o
expresiones matemticas entre muchas otras cosas.
Las matrices en MATLAB pueden ser creadas de diversas formas pero la ms
comn de todas es la introduccin como una lista explicita de elementos, es decir:
A = [16, 3, 2, 13; 5, 10, 11, 8; 9, 6, 7, 12; 4, 15, 14, 1]

En esta definicin cabe destacar:


El nombre de la variable ( A )
El smbolo de asignacin ( = )
El smbolo de inicio de definicin de matriz ( [ )
El smbolo de separacin de columna ( , )
El smbolo de separacin de fila ( ; )
El smbolo de fin de definicin de matriz ( ] )
Y como no, los distintos elementos de la matriz.

Una vez definida una matriz se pueden utilizar funciones tales como:
sum: suma de los elementos de cada columna de la matriz.
: traspuesta de la matriz.
diag: diagonal de la matriz.

MATLAB utiliza la notacin matemtica para referenciar un elemento de una


matriz. Es decir, para referenciar el elemento de la fila i y la columna j de la matriz A
se usara la expresin A(i,j). Por ejemplo, para referenciar el elemento de la fila 4 y la
columna 2 se usara la expresin A(4,2).

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

Si se intenta referenciar un elemento que no forma parte de la matriz, MATLAB


devuelve un error. Sin embargo, si se guarda un valor en un elemento que no forma
parte de la matriz, MATLAB redimensiona la matriz de forma adecuada para acomodar
al nuevo elemento.
El operador dos puntos ( : ), es uno de los operadores ms importantes de
MATLAB, ya que se puede utilizar para definir vectores, referenciar submatrices de una
matriz,
Por ejemplo, la expresin:
X = 1:10

Define un vector fila con los enteros 1 a 10.


Si se desea tener un espaciado distinto de uno se debe utilizar la siguiente
notacin v1:e:v2. Donde:
v1: valor del primer elemento del vector.
v2: valor del ltimo elemento del vector.
e: espaciado de los elementos del vector. Si el valor de e es negativo, el
valor de v1 tiene que ser mayor que el valor de v2.

Por ejemplo:
Y=0:0.1:100;
Z=10:-1:0;

El punto y coma ( ; ) que se ha aadido sirve para impedir que MATLAB


muestre por pantalla el resultado de la definicin de las variables, a esto se le denomina
no eco.
El operador dos puntos ( : ) tambin se puede utilizar para referenciar parte de
una matriz (submatriz), por ejemplo:
S1=A(1:3,[1 3])
S2=A(:,2:3)

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

Variables especiales, nmeros, expresiones y funciones


En MATLAB existen una serie de variables predefinidas que contiene valores
especiales, tales como:
pi

Inf

NaN

Los nmeros en MATLAB pueden ser enteros, reales o complejos (usando la


variable especial i o j) con o sin signo y pueden utilizar la notacin cientfica usando la
letra e como potencia de diez. Ejemplos de nmeros pueden ser:
3

-99

-0.0123

127.54

-4.35+2j

5.3-0.6i

3e5i

-7.0123e-8

Las expresiones son parte fundamental de MATLAB y pueden ser usadas en la


definicin de los elementos de los vectores y matrices. Ejemplos de expresiones pueden
ser:
rho=(1+sqrt(5))/2
a=abs(3+4i)
u=sin(pi/2)

Grficas
MATLAB dispone de gran cantidad de funciones grficas, aunque las ms
importantes quizs sean las denominadas grficas XY. Para obtener este tipo de grficas
se utiliza la funcin plot.
x=0:pi/100:2*pi;
y=sin(x);
plot(x,y)

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

Si se quiere que en una grfica aparezcan varias curvas simultneamente, se puede


realizar de la siguiente forma:
x=0:pi/100:2*pi;
y=sin(x);
z=cos(x);
plot(x,y,x,z)

Adems, estas grficas pueden ser configuradas por el usuario utilizando otras
funciones tales como:
xlabel

ylabel

title

grid

axis

Se puede encontrar ms informacin acerca del comando plot usando la ayuda de


MATLAB.

Polinomios
Los polinomios se representan en MATLAB mediante vectores fila, donde los
elementos del vector representan los coeficientes del polinomio ordenados de forma
decreciente. Por ejemplo, si se quiere definir el polinomio p(x) = x3 - 2x 5 se
debe introducir de la siguiente manera:
p = [1 0 -2 -5]

El polinomio se puede evaluar en un punto utilizando el comando polyval:


polyval(p,5)

Tambin se pueden obtener las races del polinomio con el comando roots:

r = roots(p)

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

Para multiplicar dos polinomios se utiliza el comando conv:


a = [1, 2, 3]
b = [4, 5, 6]
c = conv(a,b)

Funciones de transferencia
Las funciones de transferencias definidas como un cociente de polinomios en s se
pueden introducir en MATLAB utilizando el comando tf. Por ejemplo:
sis1_tf = tf([1, 2],[1, 3, 5])
sis2_tf = tf(1.7,[1, 4, 3, 8])

El primer parmetro del comando tf es el polinomio en s del numerador y el


segundo parmetro es el polinomio en s del denominador.
Tambin se pueden introducir las funciones de transferencias como cociente de
ceros y polos y ganancia utilizando el comando zpk. Por ejemplo:
sis1_zpk = zpk([-1, -2],[-1, -3, -5],2.1)
sis2_zpk = zpk([],[-1+1j, -1-1j, -2.5, -6],1)

El primer parmetro del comando zpk es un vector que contiene los ceros de la
funcin de transferencia, el segundo parmetro es un vector que contiene los polos de la
funcin de transferencia y el tercer parmetro corresponde a la ganancia de la funcin
de transferencia.
Los comandos tf y zpk se pueden utilizar tambin para realizar la conversin
entre ambas representaciones, es decir, convertir funciones de transferencias definidas
como cociente de polinomios a funciones de transferencias definidas mediante ceros,
polos y ganancia y viceversa . Por ejemplo:
sis1_zpk_a_tf = tf(sis2_zpk)
sis1_tf_a_zpk = zpk(sis1_tf)

Las variables que se definen como funciones de transferencia son un tipo de


variables especiales que no pueden ser utilizadas como vectores o matrices, si se quiere

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

utilizar la funcin de transferencia o parte de ella como vector se pueden utilizar los
siguientes comandos:
[num, den] = tfdata(sis2_tf,v)
[z, p, k] = zpkdata(sis1_zpk,v)

Utilizando el comando pzmap se obtiene una representacin grfica en el plano


complejo de los polos y ceros de la funcin de transferencia. Esta representacin grfica
se denomina mapa de polos y ceros.

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

Automtica

Grado en Ingeniera Mecnica

Actividades
3
4
1 2

6
7
8
5
1. Crear la matriz AA
9 10 11 12

13 14 15 16

2. Crear el vector v t 1 2 3 4
1 i 2 2i

3. Crear la matriz BB
3 3i 4 4i
4. Crear la matriz CC AAt
5. Aadir una nueva fila a la matriz CC con valores [5, 9, 13, 17]
6. Crear un vector u con valores reales en el rango [5, 0] en decrementos de una
dcima.
7. Obtener las filas 1 y 4 de la matriz AA.
8. Intercambiar las filas 1 y 3 de la matriz CC.
9. Representar grficamente la funcin f t 2e t en el intervalo de 0 a 5.
10. Representar grficamente la funcin f t e 2t en el intervalo de 0 a 4.
11. Crear el polinomio ps 2 s 4 5.1s 3 4.75s 2 s 7.5
12. Evaluar el polinomio p(s) en los valores 3, -3 y -1+2j.
13. Obtener las races del polinomio p(s).
14. Multiplicar el polinomio p(s) y el polinomio p1s 2s 2 1.3s 3
15. Definir la funcin de transferencia G s

3s 5
4

s 2 s 3s 2 3s 2

16. Definir la funcin de transferencia con cero (-3), polos (-2.3, -3.9 1.7j) y
ganancia 5.
17. Cambiar la forma de representacin de cada funcin de transferencia anterior.
18. Obtener el numerador y el denominador de la funcin de transferencia G(s) y
utilizando el denominador obtener los polos.
19. Representar los mapas de polos y ceros de las funciones de transferencia
anteriores.

Departamento de Ingeniera de Sistemas y Automtica

Universidad de Mlaga

You might also like