You are on page 1of 9

CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.

htm

Manual de Fundamentos de Matlab


Vectores
Funciones
Gráficos
Polinomios
Matrices
Impresión
Usando archivos de instruciones en Matlab
La ayuda de Matlab

Las funciones de Matlab usadas en este manual son: plot polyval roots conv deconv polyadd inv eig
poly
Nota: Las funciones no estandar de Matlab usadas en este manual se muestran resaltadas en verde.

Matlab es un programa interactivo para el cálculo numérico y la representación gráfica de datos. Su


uso está muy extendido entre los ingenieros en el ámbito del análisis y diseño de sistemas de control.
Hay muchas colecciones de funciones diferentes disponibles que aumentan la capacidad de Matlab
para diferentes áreas de aplicación. En este manual se usa frecuentemente la colección denominada
"Control System Toolbox". Matlab funciona en los entornos Unix, Macintosh y Windows; existe una
versión para estudiantes disponible para ordenadores personales. Para obtener más información
acerca de Matlab contactar con Mathworks.

La idea que subyace en estos manuales es que pueda verlos en una ventana mientras
ejecuta Matlab en otra. Usted debería ser capaz de reproducir todas las gráficas y todos
los cálculos realizados en estos manuales con sólo copiar el texto desde el manual a
Matlab o a un archivo de instrucciones.

Vectores
Empecemos creando algo tan simple como un vector. Introduzca cada elemento del vector (separado
por un espacio) entre corchetes y asígnelo a una variable. Por ejemplo, para crear el vector a,
introduzca en la ventana de instrucciones de Matlab (para hacerlo más fácil puede "copiar" y "pegar"
desde el navegador a Matlab):

a = [1 2 3 4 5 6 9 8 7]

Matlab devería devolver:

1 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

a =
1 2 3 4 5 6 9 8 7

Digamos que desea crear un vector con elementos entre 0 y 20 separados a incrementos de 2 (este
método se usa frecuentemente para crear un vector de tiempo):

t = 0:2:20

t =
0 2 4 6 8 10 12 14 16 18 20

Manipular vectores es casi tan fácil como crearlos. Primero, supongamos que desea añadir 2 a cada
elemento del vector 'a'. La instrucción que realiza este cálculo es:

b = a + 2

b =
3 4 5 6 7 8 11 10 9

Supongamos ahora que desea sumar dos vectores. Si los dos vectores tienen la misma dimensión es
fácil. Sencillamente sume los dos vectores como se indica a continuación:

c = a + b

c =
4 6 8 10 12 14 20 18 16

Restar vectores de la misma longitud funciona exactamente igual.

Funciones
Para facilitar las cosas Matlab incluye muchas funciones estandar. Cada función es un bloque de
código que desempeña una tarea específica. Matlab incorpora todas las funciones estandar tales como
seno (sin), conseno (cos), logaritmo (log), exponencial (exp), raíz cuadrada (sqrt), así como muchas
otras. También incorpora constantes tales como pi e i o j para la raíz cuadrada de -1.

sin(pi/4)

ans =

0.7071

Para averiguar como se usa una función escriba help [nombre de funcion] en la ventana de
instrucciones de Matlab.

Matlab incluso le permite escribir sus propias funciones con la instrucción function; siga el enlace
para aprender a escribir sus propias funciones y para ver la lista de las funciones creadas para este
manual.

Gráficos
También es muy sencillo crear gráficos en Matlab. Suponga que desea crear la gráfica de un seno en

2 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

función del tiempo. Primero cree un vector de tiempo (el punto y coma al final de una instrucción le
indica a Matlab que no muestre la respuesta) y evalue el seno para cada uno de esos valores de
tiempo.

t=0:0.25:7;
y = sin(t);
plot(t,y)

El gráfico contiene aproximadamente un periodo de una onda seno. Los fundamentos de las
representaciones gráficas en Matlab son muy sencillos y la función plot proporciona ciertas
características adicionales. Le recomendamos que visite la página gráficos para aprender más.

Polinomios
En Matlab un polinomio se representa como un vector. Para crear un polinomio en Matlab
simplemente introduzca cada coeficiente del polinomio en un vector en orden descendente. Por
ejemplo, digamos que tenemos el siguiente polinomio:

Para introducirlo en Matlab basta con crear un vector de la siguiente manera

x = [1 3 -15 -2 9]

x =
1 3 -15 -2 9

Matlab interpreta un vector de longitud n+1 como un polinomio de orden n. Así, si un polinomio no
posee algún coeficiente es preciso introducir un cero en el lugar apropiado del vector que lo
representa. Por ejemplo,

se representa en Matlab como:

y = [1 0 0 0 1]

Se puede evaluar el polinomio usando la función polyval. Por ejemplo para hallar el valor del
polinomio anterior en s=2,

3 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

z = polyval([1 0 0 0 1],2)

z =
17

También se pueden hallar las raíces de un polinomio. Esto es muy útil cuando se tiene un polonimio
de orden superior como

Hallar las raíces es tan sencillo como introducir la siguiente instrucción:

roots([1 3 -15 -2 9])

ans =
-5.5745
2.5836
-0.7951
0.7860

Digamos que desea multiplicar dos polinimios. El producto de dos polinomios se calcula realizando
la convolución de sus coeficientes. Matlab dispone de a función conv para realizar esta tarea.

x = [1 2];
y = [1 4 8];
z = conv(x,y)

z =
1 6 16 16

Dividir dos polinimios es igual de sencillo. La función deconv devuelve el cociente y el resto. Así, al
dividir z entre y obtendremos de nuevo x.

[xx, R] = deconv(z,y)

xx =
1 2

R =
0 0 0 0

Como puede ver se obtiene el mismo polinomio/vector x anterior. Si el polinomio y no fuese un


múltiplo de x, el vector correspondiente al polinomio resto contendría algo diferente a cero.

Si desea sumar dos poliminios del mismo orden basta con z=x+y (los vectores x e y deben tener la
misma longitud). En el caso más general puede usarse la función definida por el usuario polyadd.
Para usar polyadd copie la función en un archivo de instrucciones y úsela como si fuese cualquier
otra función Matlab. Si dispone de la función polyadd almacenada en un archivo de instruciones y
desea sumar dos polinomios cualesquiera x e y puede realizar esta operación escribiendo la siguiente
instrucción:

4 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

z = polyadd(x,y)

x =
1 2

y =
1 4 8

z =
1 5 10

Matrices
Introducir matrices en Matlab es igual que introducir vectores excepto en que cada fila de elementos
se separa de otra con un punto y coma o con un salto de línea:

B = [1 2 3 4;5 6 7 8;9 10 11 12]

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

B = [ 1 2 3 4
5 6 7 8
9 10 11 12]

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

Las matrices en Matlab se pueden manipular de muchas maneras. Por ejemplo, se puede obtener la
traspuesta de una matriz utilizando la tecla de apróstofo.

C = B'

C =
1 5 9
2 6 10
3 7 11
4 8 12

Se debe hacer notar que si C hubiese sido compleja, el apróstofo realmente hubiese dado la matriz
compleja conjugada traspuesta. Para obtener la traspuesta, utilice .' (los dos operadores realizan la
misma operación si la matriz no es compleja).

Se pueden multiplicar las dos matrices B y C. Recuerde que el orden de las matrices afecta al
resultado del producto.

D = B * C

D =
30 70 110
70 174 278
110 278 446

5 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

D = C * B

D =
107 122 137 152
122 140 158 176
137 158 179 200
152 176 200 224

También es posible multiplicar dos matrices elemento a elemento utilizando el operador .* (las dos
matrices deben tener el mismo tamaño).

E = [1 2;3 4]
F = [2 3;4 5]
G = E .* F

E =
1 2
3 4

F =
2 3
4 5

G =
2 6
12 20

Una matriz cuadrada, como la matriz E, puede multiplicarse por ella misma tantas veces como se
quiera elevando la matriz a una potencia dada.

E^3

ans =
37 54
81 118

Si se desea elevar al cubo cada elemento de la matriz basta con usar el operador potencia elemento a
elemento.

E.^3

ans =
1 8
27 64

También puede hallarse el inverso de una matriz:

X = inv(E)

X =
-2.0000 1.0000
1.5000 -0.5000

o sus autovalores:

6 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

eig(E)

ans =
-0.3723
5.3723

Incluso existe una función que calcula los coeficientes del polinimio característico de una matriz. La
función "poly" crea un vector que contiene los coeficientes del polinomio característico.

p = poly(E)

p =

1.0000 -5.0000 -2.0000

Recuerde que los autovalores de una matriz son las raíces de su polinomio característico:

roots(p)

ans =
5.3723
-0.3723

Impresión
Imprimir en Matlab es muy sencillo. Sólo siga los siguientes pasos.

Macintosh

Para imprimir una gráfica o un archivo de instrucciones desde un Macintosh haga clic en la
gráfica o en el archivo de instrucciones y seleccione la opción Print del menú File y pulse return.

Windows

Para imprimir una gráfica o un archivo de instrucciones desde un ordenador con Windows
seleccione la opción Print del menú File en la ventana de la gráfica o del archivo de
instrucciones y pulse return.

Unix

Para imprimir una gráfica desde una estación de trabajo Unix escriba la instrucción:

print -P<monbre de impresora>

Si desea guardar la gráfica e imprimirla posteriormente introduzca la instrucción:

print grafica.ps

Después podrá imprimir la gráfica utilizando la instrucción "lpr -P grafica.ps". Si está usando
una estación de trabajo HP utilice en su lugar la instrucción "lpr -d grafica.ps"

7 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

Los archivos de instrucciones se imprimen igual que los demás archivos usando la instrucción
"lpr -P <nombre de archivo>.m". Si está usando una estación de trabajo HP utilice en su lugar la
instrucción "lpr -d <nombre de archivo>.m"

Usando archivos de instrucciones


Hay ligeras diferencias que debe conocer en cuanto al uso de los archivos de instrucciones en las
diferentes plataformas.

Macintosh

Incorpora un editor para editar archivos de instrucciones; elija "Edit M-File" en el menú File.
También se puede usar cualquier otro editor (pero hay que asegurarse de guardar los archivos en
formato texto y cargarlo cuando se active Matlab).

Windows

Ejecutar Matlab en Windows es muy parecido a ejecutarlo en Macintosh. Sin embargo, debe
saber que los archivos de instruciones se guardan en el portapapeles. Así, debe asegurarse de
guardarlos como nombredearchivo.m.

Unix

Es preciso ejecutar un editor de forma separada a Matlab. La mejor estrategia es destinar una
carpeta para todos los archivos de instruciones e invocar la ejecución de Matlab desde esa
carpeta. Para ejecutar Matlab desde un ventana Xterm sencillamente escriba: matlab.

Es posible escribir las instrucciones directamente en Matlab o escribir todos las instrucciones juntas
en un archivo de instrucciones y ejecutarlo. Si se colocan todos los archivos de instrucciones en la
misma carpeta y se invoca la ejecución de Matlab desde esa carpeta, Matlab siempre los encontrará.

La ayuda de Matlab
Matlab dispone de una ayuda bastante buena; escriba

help monbredefunción

para obtener información acerca de una función. Para obtener información acerca de una función se
necesita conocer su nombre. El siguiente es un enlace a una lista de funciones con todos las
funciones usadas en estos manuales. Encontrará un enlace a esta página al final de cada manual y
cada ejemplo.

Aquí tiene unas breves notas para finalizar este manual.

Se puede obtener el valor de una variable concreta en cualquier momento escribiendo su nombre.

B =
1 2 3
4 5 6
7 8 9

8 of 9 25/2/00 17:59
CTM: Manual de Fundamentos de Matlab http://harpo.isa.uma.es/eugenio/ctm/es/basic/basic.htm

Se pueden incluir más de un instrucción en una sola línea separando las instruciones con coma.

Ya habrá notado que cuando no se asigna el resultado de un operación a ninguna variable Matlab lo
almacena en una variable temporal denominada "ans".

Enviar Mensaje
Nos gustaría conocer las dificultades que ha encontrado en este manual, sugerencias para mejorarlo,
los errores que haya encontrado o cualquier otro comentario que desee hacer. Este mensaje es
anónimo; incluya su dirección de correo electrónico si desea recibir contestación.

Enviar mensaje Descartar

Manuales
Fundamentos de Matlab| Modelado | PID | El lugar de las raíces | Respuesta en frecuencia | El espacio
de estado | Control digital | Ejemplos

8/11/97 dmt

9 of 9 25/2/00 17:59

You might also like