You are on page 1of 21

Introducción a MATLAB

Departamento de Teoría de la Señal y Comunicaciones


Universidad Rey Juan Carlos

Eduardo Morgado Reyes


eduardo.morgado@urjc.es
Índice:
Introducción
Pasos Iniciales
Operaciones sobre Vectores
Operaciones sobre Matrices
Nociones sobre Programación en Matlab
Lectura y Grabado de Datos en Ficheros
Presentación de Gráficos
Listado de Funciones Fundamentales

Introducción a MATLAB 2
Introducción (I)
MATLAB MATrix LABoratory

Características:
Programa específico para cálculo numérico, de carácter interactivo y
orientado a matrices.
“Calculadora programable” de gran potencia.
Capacidades gráficas potentes a la par que sencillas.
Lenguaje de programación de alto nivel sencillo de aprender.

Acceso a MATLAB:
Doble click sobre icono “MATLAB X.X” de menú de
Inicio/Programas/Matlab.
En la ventana principal (Command Window) aparecerá el prompt (>>) y es
donde se escribirán las instrucciones o cálculos.
Existen ventanas secundarias (Current Directory, Workspace…) que se
podrán ocultar o mostrar a través del menú Desktop de la barra de
herramientas.
Para salir se debe teclear >> quit o >> exit cerrar la ventana directamente.
Introducción a MATLAB 3
Introducción (y II)
Normas Fundamentales:
Distingue entre mayúsculas y minúsculas.
Los espacios en blanco tienen significado.
Paréntesis y corchetes tienen significados distintos:
[] para definir matrices.
() para agrupar comandos.
Las flechas ↑ y ↓ permiten recuperar mandatos anteriores.
Las flechas ← y → permiten mover el cursor en el mandato actual.
Para obtener ayuda sobre un comando: help
Ejemplos: >> help help >> help if >> help +
Para obtener un listado sobre funciones: lookfor
Ejemplo: >> lookfor sum >> lookfor hist
Finalizando una expresión con ; el resultado no se muestra por pantalla.

Introducción a MATLAB 4
Pasos Iniciales (I)
Operaciones Básicas:
+ = suma - = resta
* = multiplicación ^ = potencia
/ = división derecha \ = división izquierda
exp log log10
sin cos tan
asin acos atan
abs
sqrt
sign
round floor ceil

Introducción a MATLAB 5
Pasos Iniciales (y II)
Variables:
Se definen mediante nombres (nombre = expresión).
Ejemplo: >> Var1 = pi/180
El nombre debe comenzar por una letra pero puede contener letras,
dígitos y subrayados.
Si no se asigna un nombre a una expresión, la salida de la
expresión se asigna de forma automática a la variable ans.
Se pueden borrar mediante el comando clear.
Ejemplo: >> clear Var1

Formato:
El formato de la salida se modifica mediante el comando format.
Ejemplo: >> fotmat long >> format short >> format bank

Introducción a MATLAB 6
Operaciones sobre Vectores (I)
Vector = colección ordenada de números n1, n2, … , nn

Definición mediante corchetes:


Vector fila: elementos separados por espacios o por comas.
Ejemplo: >> Vector1 = [1 2 3] >> Vector2 = [1,2,3]
Vector columna: elementos separados por saltos de línea o por puntos y
comas.
Ejemplo: >> Vector3 = [1;2;3]

Transposición (pasar de vector fila a columna y viceversa)


mediante operador .’
Ejemplo: >> Vector4 = Vector3.’
Atención: el operador ’ realiza el transpuesto y conjugado.

Introducción a MATLAB 7
Operaciones sobre Vectores (y II)
Referencia a los elementos de un vector:
Mediante paréntesis ().
Los elementos de un vector se numeran desde 0 hasta length(vector).
Ejemplo: >> A1 = [10,20,30] >> A1(2) ans = 20
>> length(A1) ans = 3

Generación mediante :
Notación: Inicio:Incremento:Fin
Inicio:Fin Incremento = 1
Ejemplo: >> V1 = 0:10 >> V2 = 0:2:10 >> V3 = 3:-0.1:-3

Generación de vectores por bloques:


Ejemplo: >> V4 = [1,3] >> V5 = 10:15
>> V6 = [V4 V5 4:5:20 [3,1]]

Introducción a MATLAB 8
Operaciones sobre Matrices (I)
Matriz = colección de números ordenada por filas y columnas
n11, n12, … , n1n
... ... ...
nm1, nm2, … , nmn

Definición mediante corchetes:


Ejemplo: >> Mat1 = [1,2,3; 4,5,6]
Se puede utilizar también la notación de : para definir sus elementos.
Se pueden definir por bloques:
Ejemplo: >> Mat2 = [Mat1;Mat1] >> Mat3 = [Mat1,Mat1]

Transpuesta con operador .’

Referencia a sus elementos:


Las filas y columnas se numeran comenzando por 1.
Ejemplo: >> Mat1(2,2) ans = 5 >> Mat1(2,[1,3]) ans = [4,6]
>> Mat1(1,:) ans = [1,2,3]
Tamaño: >> size(Mat1) ans = [2,3]

Introducción a MATLAB 9
Operaciones sobre Matrices (y II)
Funciones para la construcción de matrices:
eye = matriz identidad
zeros = matriz de ceros
ones = matriz de unos
rand = matriz generada de forma aleatoria (fdp uniforme en intervalo [0,1])
randn = matriz generada de forma aleatoria (fdp gaussiana de media 0 y
varianza 1)

Operaciones vectoriales: + - * / \ ^ ’

Operaciones puntuales (elemento a elemento): + - .* ./ .\ .^ .’

Introducción a MATLAB 10
Nociones sobre
Programación en MATLAB (I)
Normas generales:
Los ficheros ejecutables en MATLAB tienen extensión .m (m-files).
Son ASCII.
Pueden incluir referencias a otros m-files.
El símbolo % indica que el resto de la línea es de comentario.
Si el archivo comienza por una o varias líneas de comentario, estas serán las que
se muestren al solicitar >> help nombre_fichero
Pueden contener líneas en blanco.
Las líneas acabadas en ; no muestran sus resultados por pantalla.
El directorio de trabajo se puede elegir navegando mediante el Current
Directory o mediante la instrucción cd.
Existen dos tipos de m-files:
Archivos de instrucciones.
Archivos de funciones.

Introducción a MATLAB 11
Nociones sobre
Programación en MATLAB (II)
Archivos de instrucciones:
Secuencia de instrucciones dentro de un m-file.
Permiten depurar y reutilizar sentencias.
Operan de forma global en el espacio de trabajo.
Para ejecutarlo: >> nombre_fichero

Archivos de funciones:
Para crear nuevas funciones definidas por el usuario.
Una vez creadas, se utilizarán como cualquier otro función de MATLAB.
La primera línea (después de los posibles comentarios) debe ser la cabecera del
programa: function [lista_salidas] = nombre_fichero(lista_entradas)
nombre_fichero = nombre del fichero sin .m.
lista_entradas = lista de parámetros de entrada o argumentos de la función (entre
paréntesis). Sus nombres son variables mudas (es decir, su nombre puede ser cualquiera).
lista_salidas = lista de parámetros o variables de salida de la función. Sus nombres son
variables mudas.
Las variables definidas dentro de estos ficheros son locales (sólo existen dentro de la
función; fuera no existen).
Para ejecutarlo: >> nombre_fichero(lista_entradas)
Introducción a MATLAB 12
Nociones sobre
Programación en MATLAB (y III)
Control de flujo:
Ejecución secuencial de las instrucciones excepto con la utilización de las clásicas
estructuras for, if y while:
for contador = vector_valores if condición1
instrucciones instrucciones
end elseif condición2
instrucciones
while condición else
instrucciones instrucciones
end end

Operadores relacionales (<, <=, ==, >=, >, ~=) y operadores lógicos (&, |, ~)
Se pueden utilizar con esclares o matrices (en este caso, actúan componente a
componente).

Mejora de velocidad de ejecución del programa y uso de memoria:


Trabajar con vectores y matrices siempre que sea posible (sustituir bucles for y while
por operaciones con matrices o vectores).
Preasignar valores a los vectores y matrices.
Introducción a MATLAB 13
Grabado y Lectura de Datos
en Ficheros
Salvar datos en archivo (binario) de extensión .mat:
save nombre_archivo salva todas las variables actuales del workspace
save nombre_archivo x y salva sólo las variables x e y

Cargar datos desde archivo .mat:


load nombre_archivo carga todas las variables contenidas en el archivo
save nombre_archivo x y carga sólo las variables x e y

También se puede trabajar con ficheros ASCII mediante la opción


–ascii de load y save.

Introducción a MATLAB 14
Presentación de Gráficas
Nuevo cuadro para representación figure

Gráficos 2D: >> plot(x,y)


Otras: bar, stem, semilogy, semilogx, loglog

Gráficos 3D: meshgrid mesh

hold on para modificar último gráfico


hold off para desactivar esta opción

Edición: >> plot(x,y,’opciones’)


Ver en help plot grid, axis, title, xlabel, ylabel, text

Introducción a MATLAB 15
Listado de Funciones
Fundamentales (I)

Introducción a MATLAB 16
Listado de Funciones
Fundamentales (II)

Introducción a MATLAB 17
Listado de Funciones
Fundamentales (III)

Introducción a MATLAB 18
Listado de Funciones
Fundamentales (IV)

Introducción a MATLAB 19
Listado de Funciones
Fundamentales (V)

Introducción a MATLAB 20
Listado de Funciones
Fundamentales (y VI)

Introducción a MATLAB 21

You might also like