You are on page 1of 17

Nociones bsicas - Pg.

1

M A T L A B



1. INTRODUCCIN.

Inicialmente fue desarrollado para facilitar el estudio en cursos
de teora de matrices, lgebra lineal y anlisis numrico (MATrix
LABoratory), pero actualmente va ms all, ya que es un sistema
interactivo y un lenguaje de programacin con capacidad de ejecucin
tcnica y cientfica en general.

Su elemento bsico es una matriz, que no requiere
dimensionamiento previo y se escribe tal como se hace
matemticamente, lo cual aporta facilidad y rapidez de uso.

Es, adems, una herramienta potente para la representacin
grfica.

Se utiliza en muchos campos, nos centraremos en su utilidad
como herramienta de control.
Nociones bsicas - Pg. 2
2. FUNDAMENTOS DE MATLAB.

2.1. Cmo empezar a trabajar.

Nada ms ejecutar el programa, aparece un indicador de espera
para la introduccin de los comandos propios de Matlab:

>>_

2.2. Expresiones.

Se introducen como se escriben matemticamente:

>> a = 4/3 respuesta: a =
1.3333
se ha creado una variable "a" en el entorno de trabajo, cuyo valor se
puede consultar escribiendo su nombre:

>> a respuesta: a =
1.3333

Matlab reconoce hasta 19 caracteres como nombre de variable y
es sensible a las maysculas (a A).

Al introducir una expresin sin crear una variable, se genera la
variable ans que equivale a answer :

>> 4/3 respuesta: ans =
1.3333
Nociones bsicas - Pg. 3
Para que no aparezca la respuesta en pantalla, se aade un punto
y coma (;) al final de la expresin:

>> b = 4+7;
>>

Los comandos who o whos muestran las variables de memoria,
indicando, en el segundo caso, el tipo y tamao de la mismas:

>> who
a b ans

Si la expresin no cabe en una lnea se utilizan tres puntos
seguidos (...) y se contina en la siguiente lnea:

>> p = 1 + 2 + 3 + 4 + ...
5 + 6 + 7

Las expresiones pueden formarse con secuencias de nmeros,
operadores, funciones y variables definidas previamente:

>> c = a
*
( b - 1) respuesta: c =
13.3333

Operadores:
*
(multiplicacin)
Los ms usuales: \ (divisin por la izquierda)
^ (potencia)

Nociones bsicas - Pg. 4
Variables predefinidas: i, j, pi, Inf, NaN.

Matlab contiene funciones que se pueden incorporar a
expresiones:

>> y = sqrt(1+4*i) respuesta: y =
1.6005 + 1.2486 i

Se obtiene informacin general con help y ayuda sobre una
funcin, operador, etc. especificando el nombre:

>> help sqrt


Nociones bsicas - Pg. 5
2.3. Creacin de ficheros de trabajo.

Un fichero de trabajo (script) contiene secuencias de comandos
ejecutables en el entorno de trabajo Matlab.

Se crean con un editor de texto y se nombran con extensin
".m".

Cuando se escribe el nombre del fichero en el indicador de
Matlab, se ejecutan los comandos que contiene.

Nociones bsicas - Pg. 6
Por ejemplo, sea el siguiente fichero de nuestro directorio:

% Ejemplo1.m
% Ejecuta magnitud y fase de la funcin de transferencia
% G(jw) = 1/(jw + 2) evaluada en w = 1.
w = 1;
G = 1 / (j*w + 2);
mag = abs(G)
fase = atan ( imag(G) / real(G) )

Cuando escribamos el nombre de este fichero en el indicador de
Matlab, la respuesta ser:

>> Ejemplo1
mag =
0.4472
fase =
-0.4636

Todas las variables creadas en un fichero script permanecen en
el espacio de trabajo una vez ejecutado ste.

>> G respuesta G =
0.4000 - 0.2000 i

Las lneas que empiezan con % son comentarios.


Nociones bsicas - Pg. 7
2.4. Matrices, vectores y polinomios.

Una matriz se introduce enumerando sus elementos entre
corchetes [ ]:

- Los elementos de una fila (columnas) se separan por comas o
blancos.
- Las filas se separan por punto y coma o CR.

>> A = [1 2; 3 4] respuesta: A =
1 2
3 4
Los elementos de una matriz pueden ser cualquier expresin
Matlab.

Se reconocen slo matrices rectangulares, con igual nmero de
columnas en cada fila.

Para obtener la dimensin de una matriz se utiliza la funcin
size:

>> size(A) respuesta: ans =
2 2
>> size(A,1) respuesta: ans =
2
>> size(A,2) respuesta: ans =
2



Nociones bsicas - Pg. 8

Los elementos individuales de una matriz se referencian
mediante ndices entre parntesis:

>> A(2,2) = 5 respuesta: A =
1 2
3 5

Al aadir un elemento en una posicin cuyos ndices son
superiores al tamao de la matriz, se insertan ceros automticamente
para mantenerla rectangular:

>> A(3,3) = 6 respuesta: A =
1 2 0
3 5 0
0 0 6

Un vector es una matriz de dimensin 1xn o nx1:

>> v = [sin(pi/3) -7^3 a+1]
v =
[0.8660 -343.0000 2.3333]

Se pueden crear vectores especiales utilizando ":"

>> n = 1:10; genera un vector fila con elementos
de 1 a 10, con incremento 1.
>> nuevo = 1:0.25:2
nuevo =
1.00 1.25 1.50 1.75 2.00
Nociones bsicas - Pg. 9

La funcin logspace(x,y,n) genera vectores con n elementos
espaciados logartmicamente entre
10
x

y

10

y
.

La funcin linspace(x,y,n) genera vectores con n elementos
linealmente espaciados entre x e y.

Se pueden manipular matrices de forma muy flexible:

- Aadir una fila a la matriz A:

>> A = [A; [7 8 9]] respuesta: A =
1 2 0
3 5 0
0 0 6
7 8 9

- Extraer una submatriz de A:

>> B = A(2:3,1:3) respuesta: B =
3 5 0
0 0 6

- Se utiliza ":" como ndice para designar "todos los elementos"

>> A(1,:) devuelve la 1 fila entera.
>> A(:) devuelve todos los elementos de A en una nica
columna.


Nociones bsicas - Pg. 10

Se pueden utilizar tambin vectores de ndices de filas o
columnas para seleccionar elementos de una matriz:

>> B = B(:,[2 3]) respuesta: B =
5 0
0 6

Los vectores de 0s y 1s pueden ser creados con operadores
relacionales:

>> L = A(:,3) > 5;
>> A = A(L,:); reemplaza las filas de A cuyos
elementos de la 3 columna sean > 5.

Funciones que generan matrices especiales:

diag: genera una matriz diagonal.
eye: genera la matriz identidad (1s en la diagonal)
zeros, ones, rand, ...


Los polinomios se describen en Matlab mediante vectores con
los coeficientes del polinomio en orden de potencias decrecientes:

Por ejemplo, p = s
2
+ 5s + 6

>> p = [1 5 6]

Nociones bsicas - Pg. 11
Se evalan con la funcin polyval:

>> polyval(p,1) respuesta: ans =
(evala p en s=1) 12

Las races se obtienen con la funcin roots:

>> r = roots(p) respuesta: r =
-3
-2

La funcin poly permite construir polinomios a partir de sus
races:

>> t = poly([-4 -5]) respuesta: t =
1 9 20



2.5. Operaciones con matrices.

La aritmtica es la misma que la utilizada con escalares:

>> B = [5,0; 0,6]; D = [1,0; 0 2];
>> B + D respuesta: ans =
6 0
0 8
>> B
*
D respuesta: ans =
5 0
0 12


Nociones bsicas - Pg. 12
La divisin puede ser izquierda (\) derecha (/):

P
.
x = Q x = P
-1.
Q x = P \ Q
y
.
P = Q y = Q
.
P
-1
y = Q / P

Los ndices tienen que coincidir, y en caso de un escalar (1x1),
se realiza la operacin del escalar con cada uno de los elementos de la
matriz.

Para obtener la traspuesta de una matriz o vector se utiliza el
apstrofe ():

>> A = [1,2;3,4];
>> A respuesta: ans =
1 3
2 4

Funciones Matlab para operar sobre matrices:

det(X), inv(X), rank(X), eig(X), expm(x), ...

Para operar sobre una matriz o un vector, elemento a elemento,
se utiliza un punto delante del operador:

>> Datos = [1 2 3];
>> Datos.^2 respuesta: ans =
1 4 9

>> Datos .* [4 5 6] respuesta: ans =
4 10 18
Nociones bsicas - Pg. 13

Algunas funciones operan elemento a elemento
automticamente, por ejemplo: exp, abs, sqrt, real, log.

Se pueden utilizar tambin operadores relacionales y lgicos con
matrices.


2.6. Creacin de funciones.

Las funciones son secuencias de sentencias que ejecutan una
tarea independiente.

function [argumentos salida] = nombre(argumentos entrada);

Una funcin se diferencia de un fichero script:
- bsicamente en su primera lnea.
- puede ser usada como parte de una expresin
- las variables generadas por una funcin son locales.

Control de flujo: for, while, if, break, error.








Nociones bsicas - Pg. 14

3. GRFICOS.

Matlab suministra una importante coleccin de funciones
grficas debido a la facilidad de comprensin que aporta la percepcin
visual de datos.

3.1. Creacin de grficos bidimensionales.

La funcin plot genera grficos bidimensionales:

PLOT Dibuja vectores o matrices.

PLOT(X,Y) dibuja el vector X frente al vector Y. Si X o Y es una
matriz, el vector es dibujado frente a fila o columna de la matriz.

PLOT (X1,Y1,X2,Y2) permite mostrar varias grficas en una
nica ventana.

PLOT(X1,Y1,':',X2,Y2,'+') emplea una lnea de puntos para
representar la primera curva y el smbolo + para la segunda. Otros
posibles tipos de lneas son:

slida - puntos . roja r
discontnua -- ms + verde g
punteada : asterisco * azul b
lnea/punto -. crculo o blanca w
marca x

Nociones bsicas - Pg. 15
PLOT(Y) dibuja las columnas de Y frente a sus ndices (orden en
el que aparecen en el vector).

PLOT(real(Y),imag(Y)) si Y es un vector de nmeros complejos.
En cualquier otro caso la parte imaginaria es ignorada.

Una vez dibujado el grfico ginput permite obtener las
coordenadas de un punto del mismo pinchando con el ratn:

>> [x, y] = ginput; (para finalizar pulsar CR)

Otros comandos para grficos bi-dimensionales son:

loglog, semilogx, semilogy: escalan los ejes logartmicamente.
polar: coordenadas polares.
bar, stairs: grficos de barras y escalonados.


3.2. Adaptacin de grficos.

Incluye nombrar los ejes (xlabel, ylabel), poner ttulo (title),
escribir texto (gtext), cambios de escala, etc. para aportar legibilidad.

El comando subplot permite dividir la ventana de grficos en
varias partes.




Nociones bsicas - Pg. 16

Otros comandos para adaptar grficos son hold y axis:

HOLD ON : Bloquea el grfico de salida actual. Los
siguientes comandos PLOT aadirn nuevas
curvas utilizando los ejes actuales y
manteniendo las curvas anteriores.

HOLD OFF : Desbloquea el grfico actual. El siguiente
comando PLOT reemplaza a la curva actual.


AXIS: Permite el escalado de los ejes de una grfica.

AXIS(V): donde V es un vector de 4 elementos que
contiene los lmites de los ejes (x e y)

AXIS OFF: elimina los ejes.











Nociones bsicas - Pg. 17
3.3. Grficos tridimensionales.

Existen dos formas: contour y mesh.

Ejemplo: Dibujar z = x
4
+ (y/2)
4
.
x = [-1:.1:1];
y = [-2:.1:2];
[X,Y] = meshdom(x,y);
z = X.^4 + (Y/2).^4;
subplot(121), contour(z); subplot(122), mesh(z)

10
20
30
40
20


Cada curva del dibujo del contorno representa los valores de x e
y que corresponden a un valor fijo de z.

El plano xy coincide con el plano de la hoja, y el eje z estara
representado hacia fuera.

Como los valores de z van creciendo, las curvas encierran reas
cada vez mayores.

El dibujo con mesh ayuda a ver la forma tridimensional
asignando alturas a los contornos.

You might also like