Está en la página 1de 41

Introduccin al uso de MATLAB

El Programa
Realiza clculos numricos con matrices.
Realiza una amplia variedad de grficos en dos y
tres dimensiones.

Current Directory
Comand Window
Y
Workspace

Comand History
Introduccin al uso de MATLAB
El Programa (II)
Comand window:
Es la ventana principal, sobre ella se trabajar.
Workspace:
Muestra informacin sobre los elementos que se han
creado.
Comand History:
Recoge todos los comandos introducidos.
Current Directory:
Fija el directorio personal de trabajo.

Introduccin al uso de MATLAB


El Programa (III)
Primera aproximacin a la potencia de MATLAB.
Ingresemos en la lnea de comandos:
>>A=rand(7), B=inv(A), B*A

Introduccin al uso de MATLAB


El Programa (IV)
Primera aproximacin a la potencia de MATLAB.
>>x=-4:.01:4; y=sin(x); plot(x,y), grid,
title(Funcin seno(x))

Introduccin al uso de MATLAB


Uso del Help
MATLAB Help:
Web: Equivale a los
manuales impresos.
Demos:

Introduccin al uso de MATLAB


Entorno de Trabajo
Los componentes ms importantes del entorno de
trabajo de MATLAB son:
Path Browser
Editor & Debugger
Workspace Browser
Utilizar y desarrollar programas para MATLAB
es mucho ms fcil si se conoce bien el entrono de
trabajo.

Introduccin al uso de MATLAB


Entorno de Trabajo (II).
Path Browser
MATLAB puede llamar funciones propias como
programadas por el usuario. Incluso funciones distintas
con el mismo nombre.
MATLAB utiliza un search path para buscar una funcin.
Cuando se utiliza un comando la ruta de busqueda es la
siguiente:
Comprueba si es una variable definida por el usuario
Comprueba si es sub-funcin o funcin privada del usuario
Comprueba si es funcin del usuario
Comprueba si es funcin interna de MATLAB
Comprueba si hay un fichero *.mex, *.dll, *.m en el directorio actual
Comprueba si hay un fichero *.mex, *.dll, *.m en los directorios del search path
Introduccin al uso de MATLAB
Entorno de Trabajo (II).
Path Browser
Path Browser: Sirve para modificar la lista de directorios en los que MATLAB busca los
ficheros de comandos y las funciones.

Introduccin al uso de MATLAB


Entorno de Trabajo (II).
Editor & Debugger
Ficheros-m: Son ficheros de texto ASCII con la
extensin *.m que pueden contener conjuntos de
comandos o definicin de funciones.

Introduccin al uso de MATLAB


Entorno de Trabajo (II).
Workspace Browser
Para obtener
informacin sobre el
Workspace se pueden
utilizar los comandos
who y whos.
Estas son las variables
del espacio de trabajo
base.

Introduccin al uso de MATLAB


Control de los Formatos de
Salida
Opciones de salida numrica:
Short: coma fija con 4 decimales (defecto)
Long: coma fija con 15 decimales
Hex: cifras hexadecimales
Bank: nmeros con 2 cifras decimales
Loose: introduce algunas lneas en blanco en la salida
(defecto)
Compact: elimina las lneas citadas
Rat: expresa los nmeros racionales como cocientes de
enteros

Introduccin al uso de MATLAB


Control de los Formatos de
Salida (II)

MATLAB trata de mantener el formato de los nmeros que


han sido definidos como enteros (sin punto decimal).
Introduccin al uso de MATLAB
Definicin de Matrices desde el
Teclado
No hace falta establecer de antemano su tamao.
Las matrices se definen por filas.
Los elementos de una misma fila estn separados por
blancos o comas.
Las filas estn separadas por punto y coma (;).
Ej. >>A=[1 2 3;4 5 6;7 8 9]

Introduccin al uso de MATLAB


Definicin de Matrices desde el
Teclado (II)
Para acceder a los elementos de las matrices se
pone los ndices entre parntesis.
Ej. A(1,2)
Las matrices se almacenan por columnas
(aunque se introduzcan por filas).
Ej. A(4)

Introduccin al uso de MATLAB


Operaciones con Matrices
+ adicin
- sustraccin
* multiplicacin Estos operadores se
traspuesta y conjugada aplican tambin a
^ potenciacin valores escalares
\ divisin-izquierda
/ divisin-derecha
Si se antepone un punto (.) se obtiene la operacin elemento por
elemento.

Introduccin al uso de MATLAB


Operaciones con Matrices (II).
Operador \
El operador \ encuentra la solucin al problema lineal
Ax=b.
Si la matriz A no es cuadrada o incluso si no es cuadrada,
la solucin (por lo general) es la que proporciona el
mtodo de los mnimos cuadrados.
En algunos casos se obtiene la solucin para la cual la
suma de los valores absolutos de sus componentes sea
mnimo.
Se cumple que:
c/B=(B\c)
>MATLAB slo tiene
implementado el operador \
Introduccin al uso de MATLAB
Tipos de Datos
MATLAB trabaja siempre en doble precisin, es
decir guardando cada dato en 8 bytes, con unas
15 cifras decimales exactas.
eps: devuelve la diferencia entre 1.0 y el
nmero de coma flotante inmediatamente
superior
realmin: devuelve el nmero ms
pequeo con que se puede trabajar
realmax: devuelve el nmero ms grande
con que se puede trabajar
Introduccin al uso de MATLAB
Tipos de Datos (II)
En la entrada de datos se pueden utilizar indistintamente la i
y la j para representar la unidad imaginaria.
Si la i o la j no estn definidas como variables puede
intercalarse el signo (*)

Introduccin al uso de MATLAB


Tipos de Matrices Predefinidos
eye(n) matriz identidad de 4x4
zeros(n) matriz de ceros
ones(n) matriz de unos
rand(n) matriz de n aleatorios entre 0 y 1, con
distribucin uniforme
randn(n) matriz de n aleatorios entre 0 y 1, con
distribucin normal, de valor medio 0 y varianza 1
magic(n) matriz con los n 1,2,...,n*n, tal que sus filas y
columnas suman lo mismo
compan(pol) matriz cuyo polinomio caracterstico tiene
como coeficientes los elementos del vector pol

Introduccin al uso de MATLAB


Formacin de una Matriz a
partir de otra
[m,n]=size(A) n de filas y columnas de A
length(A) n de elementos de A
A=diag(x) forma matriz diagonal A a partir de los
elementos del vector x
x=diag(A) forma vector x a partir de los elementos de la
diagonal de A
blkdiag(A,B) crea una matriz diagonal de submatrices a
partir de A y B
triu(A) matriz triangular superior a partir de A
rot90(A,k) gira en k*90 la matriz A en sentido
antihorario.
C=[A eye(3); zeros(3) B]

Introduccin al uso de MATLAB


Operadores relacionales

< menor que


> mayor que
<= menor o igual que
>= mayor o igual que
== igual que
~= distinto que

Introduccin al uso de MATLAB


Caractersticas generales de las
funciones de MATLAB
Una funcin tiene nombre,valor de retorno y
argumentos.
Una funcin se llama utilizando su nombre como
un comando ms.

Introduccin al uso de MATLAB


Caractersticas generales de las
funciones de MATLAB (II)
Las funciones que no tienen argumentos no llevan
parntesis, ej: eps.
Los nombres de las funciones no son palabras
reservadas del lenguaje, es posible crear una
variable llamada sin o cos, que ocultan las
funciones correspondientes, para acceder a las
funciones hay que eliminar (clear) las variables
del mismo nombre.

Introduccin al uso de MATLAB


Caractersticas generales de las
funciones de MATLAB (III)
MATLAB tiene diversos tipos funciones, a continuacin
se enumeran los tipos mas importantes, clasificadas
segn su finalidad:
1. Funciones matemticas elementales.
2. Funciones especiales.
3. Funciones matriciales elementales.
4. Funciones matriciales especficas.
5. Funciones para la descomposicin y/o factorizacin de
matrices.
6. Funciones para anlisis estadstico de datos.
7. Funciones para anlisis de polinomios.
Introduccin al uso de MATLAB
Caractersticas generales de las
funciones de MATLAB (continuacin)
8. Funciones para integracin de edo.
9. Resolucin de ecs. No lineales y optimizacin.
10. Integracin numrica.
11. Funciones de procesamiento de seal.

Introduccin al uso de MATLAB


Caractersticas generales de las
funciones de MATLAB
A continuacin se enumeran algunas
caractersticas de funciones en MATLAB:
1. Los argumentos actuales de estas funciones
pueden ser expresiones y tambin llamadas a
otra funcin.
2. MATLAB nunca modifica las variables que
pasan como argumentos. Si el usuario las
modifica dentro de la funcin, previamente se
sacan copias de esas variables.

Introduccin al uso de MATLAB


Equivalencia entre comandos y
funciones
Un comando de la forma,
>> comando arg1 arg2
Es equivalente a una funcin con el mismo nombre
que el comando a la que los argumentos se le pasan
como cadena de caracteres

>> comando(arg1, arg2)

Introduccin al uso de MATLAB


Funciones elementales que
operan de modo escalar
Algunas de las funciones ms importantes son:
sin(x) seno
cos(x) coseno
tan(x) tangente
log(x) logaritmo natural
exp(x) funcin exponencial
sqrt(x) raz cuadrada
floor(x) valor entero ms prximo hacia -

Introduccin al uso de MATLAB


Funciones que actan sobre
vectores
Las siguientes funciones actan sobre vectores (no
sobre matrices ni escalares):
[xm,im]=max mximo elemento de un vector.
devuelve el valor mximo xm y la
posicin im.
min(x) idem, pero con el mnimo.
sum(x) suma de los elementos de un vector.
mean(x) valor medio de los elemento de un vector
prod(x) producto de los elementos de un vector

Introduccin al uso de MATLAB


Funciones que actan sobre
matrices
Se clasificarn en varios subgrupos:
1. Funciones matriciales elementales:
B=A calcula la traspuesta (conjugada) de A.
B=A. calcula la traspuesta (sin conjugar) de A.
t=trace(A) devuelve la traza de una matriz cuadrada
A.
[m,n]=size(A) devuelve el nmero de filas m y de
columnas n de una matriz rectangular A.
n=size(A) tamao de una matriz cuadrada A.

Introduccin al uso de MATLAB


Funciones que actan sobre
matrices (continuacin)
2. Funciones matriciales especiales:
expm(A) si A=XDX, expm(A)=X*diag(exp(diag(
D)))*X
sqrtm(A) devuelve una matriz que multiplica por si
misma da la matriz A
logm() es la funcin recproca de expm(A)
A^n est definida si A es cuadrada y n un nmero
real.

Introduccin al uso de MATLAB


Funciones que actan sobre
matrices (continuacin)
3. Funciones de factorizacin y/o descomposicin
matricial:
- Funciones basadas en la factorizacin triangular
(eliminacin de Gauss):
[L,U]=lu(A) descomposicin de Crout (A=LU)
B=inv(A) calcula la inversa de A
d=det(A) devuelve el determinante d de una matriz cuadrada
A
U=chol(A) descomposicin de una matriz simtrica y
positivo-definida

Introduccin al uso de MATLAB


Funciones que actan sobre
matrices (continuacin)
- Funciones basadas en el clculo de valores y vectores
propios:
[X,D]=eig(A) valores propios (diagonal de D) y vectores propios
(columnas de X) de una matriz cuadrada A
[X,D]=eig(A,B) valores propios (diagonal de D) y vectores propios
(columnas de X) de dos matrices cuadradas A y B
- Funciones basadas en la descomposicin QR:
[Q,R]=qr() descomposicin QR de una matriz rectangular. Se utiliza
para sistemas con mas ecuaciones que incgnitas
B=null(A) devuelve una base ortonormal del subespacio nulo
( kernel, los x tales que Ax=0) de la matriz rectangular A
Q=orth(A) las columnas que son una base ortonormal del espacio de
columnas de A. El nmero de columnas de Q es el rango de A

Introduccin al uso de MATLAB


Funciones que actan sobre
matrices (continuacin)
- Funciones basadas en la descomposicin de valor
singular:
[U,D,V]=svd(A) descomposicin de valor singular de una
matriz rectangular (A=U*D*V)
r=rank(A) calcula el rango de una matriz rectangular A
nor=norm(A) calcula la norma sub-2 de una matriz ( el mayor
valor singular)

Introduccin al uso de MATLAB


Funciones que actan sobre
matrices (continuacin)
4. Clculo del rango, normas y condicin numrica
Normas de matrices:
norm(A) norma sub-2, mximo valor singular de A
norm(A,2) lo mismo que el anterior
norm(A,1) norma sub-1 de A, mxima suma de valores absolutos
por columnas
norm(A,inf) norma sub- de A, mxima suma de valores absolutos
por filas
Normas de vectores
norm(x,p) norma sub-p
norm(x) norma eucldea, equivale al mdulo
norm(x,inf) norma sub-
norm(x,1) norma sub-1

Introduccin al uso de MATLAB


Otras funciones que actan sobre
vectores y matrices
Las siguientes funciones pueden actuar sobre vectores y
matrices y sirven para chequear ciertas condiciones:
exist(var) comprueba su la variable var existe
isfinite() chequea si los valores son infinitos
isempty() chequea si un vector o matriz esta vaco
ischar() chequea si una variable es una cadena de
caracteres (string)
isglobal() cheque si una variable es global

Introduccin al uso de MATLAB


Hipermatrices (arrays de ms
dos dimensiones)
MATLAB permite trabajar con hipermatrices, es
decir con matrices de ms de dos dimensiones.
Una posible aplicacin es almacenar con un nico
nombre distintas matrices del mismo tamao
(resulta una hipermatriz de 3 dimensiones). Los
elementos de una hipermatriz pueden ser nmeros,
caracteres, estructuras y vectores o matrices de
celdas.

Introduccin al uso de MATLAB


Hipermatrices (arrays de ms
dos dimensiones)
Definicin de hipermatrices
Las funciones para trabajar con
hipermatrices estn en el sub-directorio
toolbox\matlab\datatypes. Las
funciones que operan con matrices de
ms de dos dimensiones son anlogas a
las funciones vistas previamente,
aunque con alguna diferencias. Por
ejemplo, las siguientes sentencias
generan, en dos pasos, una matriz de
2x3x2

Introduccin al uso de MATLAB


Hipermatrices (arrays de ms
dos dimensiones)
Funciones que trabajan con
hipermatrices
Algunas funciones de MATLAB
para generar matrices admiten
ms de dos subndices y pueden
ser utilizadas para generar
hipermatrices. Entre ellas estn
rand(), randn(), zeros() y ones().
Por ejemplo, vase la siguiente
sentencia y su resultado:

Introduccin al uso de MATLAB


Hipermatrices (arrays de ms
dos dimensiones)
La funcin cat() permite
concatenar matrices segn
las distintas dimensiones,
como puede verse en el
siguiente ejemplo

Introduccin al uso de MATLAB