SlideShare a Scribd company logo
1 of 52
Download to read offline
1
CURSO
INTRODUCTORIO
Dr. Ing. Carlos R. Vázquez Seisdedos
cvazquez6d2@gmail.com
2
TEMA 1. INTRODUCCIÓN AL MATLAB
• MATLAB: AMBIENTE DE CALCULO NUMÉRICO
CIENTÍFICO Y DE INGENIERÍA.
• MATRIX LABORATORY.
• SISTEMA INTERACTIVO.
• LENGUAJE DE PROGRAMACIÓN.
• INCLUYE CÁLCULO, VISUALIZACIÓN Y PROGRAMACIÓN.
¿QUÉ ES MATLAB?
3
TEMA 1. INTRODUCCIÓN AL MATLAB
¿PARA QUE MATLAB?
• CÁLCULOS MATEMÁTICOS
• DESARROLLO DE ALGORITMOS
• ADQUISICIÓN , ANÁLISIS Y EXPLORACIÓN DE DATOS
• MODELADO, SIMULACIÓN Y PROTOTIPOS
• GRÁFICAS CIENTÍFICAS E INGENIERILES
• DESARROLLO DE APLICACIONES, A TRAVÉS DE
INTERFASE GRÁFICA DE USUARIOS.
4
TEMA 1. INTRODUCCIÓN AL MATLAB
BREVE HISTORIA
• INICIO DE MATLAB (A FINALES DE 1970)
DISEÑADO POR CLEVE MOLER PARA DAR ACCESO A
PAQUETES DE SOFT LINPACK Y EISPACK A SUS
ESTUDIANTES SIN QUE TUVIERAN APRENDER FORTRAN.
• APARICIÓN COMERCIAL
JACK LITTLE,MOLER Y STEVE BANGERT REESCRIBEN
MATLAB EN C (1983).
SE FUNDA MATHSOFT (1984) PARA SU DESARROLLO
5
TEMA 1. INTRODUCCIÓN AL MATLAB
VENTAJAS
• MATLAB ES RELATIVAMENTE FÁCIL DE APRENDER
• MATLAB ESTA OPTIMIZADO PARA CÁLCULO MATRICIAL
• MATLAB ES UN INTERPRETE, ES FÁCIL CORREGIR LOS
ERRORES.
• AUNQUE FUNDAMENTALMENTE PREOCEDURAL TIENE
ELEMENTOS ORIENTADO A OBJETOS.
• MATLAB TIENE CÓDIGO ABIERTO.
6
TEMA 1. INTRODUCCIÓN AL MATLAB
DEBILIDADES
• MATLAB NO ES UN LENGUAJE DE PROPÓSITO GENERAL.
• MATLAB ES UN INTERPRETE: CORRE MÁS LENTO QUE
LOS LENGUAJE COMPILADOS COMO C, C++
7
TEMA 1. INTRODUCCIÓN AL MATLAB
AMBIENTE DE DESARROLLO MATLAB
• ESPACIO DE TRABAJO (Workspace)
• DIRECTORIO ACTUAL (Current Directory)
• HISTORIA DE COMANDO(Command History)
• VENTANA DE COMANDOS(Command Window)
• AYUDA (Help)
8
TEMA 1. INTRODUCCIÓN AL MATLAB
9
TEMA 1. INTRODUCCIÓN AL MATLAB
FUNCIONAMIENTO
• MATLAB ES UN INTERPRETE DE COMANDOS.
• PROCESA INFORMACIÓN DE FORMA SECUENCIAL.
1. LAS EXPRESIONES SE ESCRIBEN EN LA VENTANA DE
COMANDO O EN UN FICHERO (*.m).
2. SE PRESIONA RETORNO PARA LA EJECUCIÓN.
3. MATLAB DEVUELVE LOS RESULTADOS POR PANTALLA Y/O
GRÁFICOS (DE HABERLOS).
10
TEMA 1. INTRODUCCIÓN AL MATLAB
AYUDA DE MATLAB
• COMANDO HELP
• VENTANA HELP
• DOCUMENTACIÓN MATLAB ( .PDF)
• Busqueda a ciegas: Usar lookfor palabra_clave
11
TEMA 1. INTRODUCCIÓN AL MATLAB
AYUDA DE MATLAB
• COMANDO HELP
COMANDO DE AYUDA EN LÍNEA.
- Help por si solo lista todos los tópicos de la ayuda
- Help <comando> lista la ayuda de un comando en específico.
- Adicionalmente muestra otras funciones relacionadas.
Ejemplos: help
help power
12
TEMA 1. INTRODUCCIÓN AL MATLAB
AYUDA DE MATLAB
• COMANDO HELPWIN
COMANDO DE LA VENTANA DE AYUDA
- documentos de ayuda en paginas html.
- organiza la documentación por producto, índice, contenido,
demostraciones, búsqueda y favoritos.
- helpwin por si solo muestra una ventana con todos los tópicos de la
ayuda.
- helpwin <comando> muestra en la ventana de ayuda la ayuda de un
comando en específico.
Ejemplos: helpwin
helpwin plot
13
TEMA 1. INTRODUCCIÓN AL MATLAB
14
TEMA 1. INTRODUCCIÓN AL MATLAB
AYUDA DE MATLAB
• DOCUMENTACIÓN EN FORMATO .PDF
- El MATLAB tiene un conjunto de documentación en formato pdf específico
para cada uno de los tópicos que contiene.
- Cada uno de estos documentos es una extensión de la ayuda en línea.
- Incluyen desde información teórica, ejemplos de aplicación, detalles de las
funciones etc.
- Usualmente se encuentran en helppdf_doc<tópico específico>
15
TEMA 1. INTRODUCCIÓN AL MATLAB
SINTAXIS
• EXPRESIONES
- Formadas por variables, números ,operadores y funciones.
- Las cadenas de caracteres pueden ser símbolos de variables (matrices) o
funciones de Matlab.
- Sensibilidad a mayúsculas y minúsculas.
- Podemos distinguir dos tipos de expresiones: numéricas y simbólicas
16
TEMA 1. INTRODUCCIÓN AL MATLAB
SINTAXIS
• EXPRESIONES
VARIABLES
- Crea las variables automáticamente y le asigna la cantidad apropiada de
memoria.
- Si la variable existe Matlab cambia su contenido y si es necesario le asigna
una nueva cantidad de memoria.
- Sintaxis de variables:
<var> -> <letra><alfanum>
<alfanum> -> <letra>| <número> | <_>
Ejemplos:
A35, R_5
17
TEMA 1. INTRODUCCIÓN AL MATLAB
SINTAXIS
• EXPRESIONES
NÚMEROS
- Formato largo (long) del estándar IEEE para punto flotante.
Precisión: 16 dígitos decimales Rango: [10-308, 10308].
- Los números complejos usan el sufijo i o j.
- Para utilizar la notación científica se usa la letra e
Ejemplo:
3 –99 0.0001
9.6397238 1.60210e–20 6.02252e23
1i –3.14159j 3e5i
18
TEMA 1. INTRODUCCIÓN AL MATLAB
SINTAXIS
• EXPRESIONES
OPERADORES
- Para matrices + , - , * , / , ^ ,
- Para matrices elemento a elemento .+ , .- , .* , ./ , .^
- Relacionales == , ~= , < , > , <= , >=
como resultado 1(cierto), ó 0 (falso).
- lógicos and( & ) , or( | ) , not( ~ ) , xor , any , all
- Especiales [ ] , () , {} , : , ; , . , = , % , ; , ‘ , !
- Conjunto union , unique , intersect, setdiff , setxor , ismember
19
TEMA 1. INTRODUCCIÓN AL MATLAB
SINTAXIS
• EXPRESIONES
FUNCIONES
< [Argumentos de Salida, ...] >< => NombreFunción< (Argumentos de entrada, ...) >
Algunas Funciones
- Trigonométricas: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh...
- Lógicas: any, all, and, exist, isnan, nite, isempty, isstr, strcomp...
- Otras: abs, angle, sqrt, real, imag, conj, round, x, oor, ceil, sign...
- Especiales: bessel, gamma, rat, ert, invertf, ellipk, ellipj ...
Ejemplo: [ B , A ] = butter(5,.7);
20
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• ENTRADA POR TECLADO
- Todas las variables numéricas son matrices (en general, complejas).
- No es necesario definirlas ni dimensionarlas.
- Los elementos de una fila se separan por espacio ‘ ’ o coma ‘,’
- Las columnas se separan por punto y coma ‘;’
- La lista de elementos se limitan por ‘[‘ y ‘]’
Ejemplo: x = 1; y = [2 , 1]; ó y = [ 2 , -j ];
z = [3 ; 7 ; -1];
w =[ 4 , 5 , 6 ; 7 , 8 , 9 ]; whos
21
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• VECTORES CUYOS ELEMENTO SE DISTRIBUYEN LINEALMENTE
OPERADOR :
- Sintaxis: Valor_inicial : Incremento : Valor_Final
- Valor_inicial , Incremento y Valor_Final son expresiones
aritméticas.
- Si valor inicial < valor final, => Incremento < 0, en tal caso los
elementos aparecen en orden decreciente.
Ejemplo t = 0:2:6
x= 7:-2:-1
y = linspace(0,6,4)
22
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• VECTORES Y MATRICES DE CEROS, UNOS Y UNITARIA
- Funciones que reciben las dimensiones de la matriz a generar.
- Función zeros devuelve una matriz de ceros.
- Función ones devuelve una matriz de unos.
- Función eye devuelve una matriz unitaria.
Ejemplo: A = zeros(3,4);
B = ones(1,5);
C = eye(3);
23
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• MATRICES Y VECTORES GENERADOS DE FORMA ALEATORIA.
- Conjunto de funciones que generan números aleatorios.
- rand , randn , random , betarnd , etc
Ejemplo:
Ruido con distribución normal uniforme
y = rand(1,2000);
plot(y,'r'),
figure(2); hist (y)
Ruido con distribución normal gaussiana
y = randn(1,2000);
plot(y,'r'),
figure(2); hist (y)
24
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• ENTRADA DE DATOS DESDE FICHEROS ASCII Y MAT
- Permite cargar al espacio de trabajo de datos de ficheros ASCII ó MAT
- Para ficheros .MAT lee las variables existentes en el fichero.
- Para ficheros –ASCII carga los datos en una variables con el nombre del
fichero.
- Sintaxis
load Nombre_fichero<.ext> <-ASCII>/<-MAT>
Ejemplo: load matriz.txt
load vectores.mat
25
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• ENTRADA DE DATOS DESDE FICHEROS BINARIOS
- Permite cargar al espacio de trabajo de datos de ficheros binarios (señales
*DAT, *.BIN)
- funciones asociadas: fopen, fread, fclose.
Ejemplo: Se conoce que en la señal JUAN1.DAT se encuentra almacenada un
canal con el electrocardiograma de un paciente y la respiración del mismo
medida a través de la impedancia en el tórax. Visualizar ambas señales.
Pasos:
1. Abrir el fichero: fid=fopen('JUAN1.DAT','r'); % “fid” es negativo > problemas.
2. x=fread(fid,'ushort'); %ushort = entero de 16 bits (2 bytes por muestra)
3. fclose(fid)
4. ecg=x(1:2:length(x));
5. resp=x(2:2:length(x));
26
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• ENTRADA DE FICHEROS DE AUDIO *.WAV
- Permite cargar al espacio de trabajo datos de un fichero de audio *.wav.
- Devuelve los valores normalizados en el rango [ -1,1].
- Sintaxis
[ señal ,< Fs>,< Nbits> ] = wavread(‘Nombre del fichero’)
Ejemplo: : [y, Fs] = wavread('sin2k.wav');
27
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• ENTRADA DE DATOS DE FICHEROS DE IMÁGENES ( *.BMP ,*.JPG,...)
- Permite cargar al espacio de trabajo datos de un fichero de imagen.
- Varios tipos de formato de imagen.
- Sintaxis:
[ Imagen <, Mapa>] = imread(‘Nombre del fichero’ ,’Formato’)
Ejemplos:
I = imread('Faro.jpg');
image(I) ;%Visualiza la imagen
28
TEMA 1. INTRODUCCIÓN AL MATLAB
ENTRADA DE DATOS
• ENTRADA DE DATOS A TRAVÉS DE LA MULTIMEDIA
- Conjunto de objetos y funciones que permiten almacenar datos
digitalizados por la multimedia.
- daqrecord y daqplay
Ejemplo: daqscope
29
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• MANIPULACIÓN DE MATRICES Y VECTORES
CONCATENACIÓN
- Formar matrices ó vectores a partir de matrices y o vectores ya existentes.
- Atención en las dimensiones de las matrices combinadas.
Ejemplo: A = [ 1 -3; 7.5 5j ]
B = [ 2 6 ]
C = [ A ; B ] % Añadir una fila
D = [B' A ] %Añadir una columna (B’ = transpuesta de B)
30
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• MANIPULACIÓN DE MATRICES Y VECTORES
ELIMINACIÓN DE FILAS O COLUMNAS.
- Se asigna a la fila o columna a borrar una fila (o columna) vacía .
- No se pueden eliminar elementos en la matriz.
Ejemplo: A = [ 1 -3; 7.5 5j; 4 0 ]
A( 3 , : ) = [ ] ; %Borrar la fila 3
A(2,1) = [ ] ; % No permitido
B = A(:), % Convertir A en un vector columna
31
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• MANIPULACIÓN DE MATRICES Y VECTORES
OPERACIONES UNITARIAS SOBRE MATRICES CUADRADAS
- Función det() (determinante) recibe como argumento una matriz cuadrada
y devuelve un escalar.
- Función inv() inversa de una matriz, recibe como argumento una matriz
cuadrada y devuelve una matriz cuadrada de la misma dimensión.
- Si la matriz es singular, la inversa resulta una matriz de inf.
- Se puede sustituir por el operador ^-1
Ejemplo: A = [ 1 -3; 4 5]; B = inv(A); C = A*B
det(A)
inv([1 2 3; 2 4 6; 23 -1 9]) % Ejemplo de matriz singular
32
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• MANIPULACIÓN DE MATRICES Y VECTORES
OPERACIONES DEL ÁLGEBRA DE MATRICES
- Las matrices deben cumplir las reglas de las operación con matrices.
- Operadores: +, - , * , ^ , / ,  ,
Ejemplo: A = [ 1 -3; 7.5 5j]
B = [ 2 3 ; 4 -56]
C = [ 2 ; -1]
A + B
B – A
B * C
A / B
B ^ 2
C + 5
C’
33
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• MANIPULACIÓN DE MATRICES Y VECTORES
OPERACIONES BINARIAS ELEMENTO A ELEMENTO.
- Las matrices deben tener la misma dimensión.
- Operadores: .+, .- , .* , .^ , ./ , . ,
Ejemplo:
x = -1 :2:9
y = x.^2
A = [ 1 -3; 2 5j]
B = [ 2 3 ; 4 -5]
B .* A
A ./ B
34
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• MANIPULACIÓN DE MATRICES Y VECTORES
RESOLUCIÓN DE UN SISTEMA DE ECUACIONES LINEALES
- A X = B
- Solución X = B  A ó X = inv(A) * B ó X = A ^ -1 * B
Ejemplo: A = rand(3)
B = rand(3,1)
X = inv(A) * B
35
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• OPERACIONES CON POLINOMIOS
VECTORES COMO POLINOMIOS
- Polinomios se representan como vectores fila.
- 3x3 – 4x2 + 6x -1 equivale a p =[-3 -4 6 -1].
- Funciones roots , conv , deconv , residue , polyval , polyfit
Ejemplo: p1 = [ -1 -3 3 4]; % -x3 – 3x2 + 3x -4
p2 = [ 1 2 4 0]; % x3 + 2x2 + 4x
p = conv( p1,p2)
p3 = [1 3 -10] ; %x2+3x-10 = (x+5)(x-2)
roots(p3) %Raíces de p1 (valores que hacen 0 a p1)
36
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• FUNCIONES
- Las funciones están orientadas a matrices.
- Cada función maneja de forma particular las filas y columnas
Ejemplo: >> A = [1 2 3; 4 5 6 ; 7 8 9]
sum(A)
max(A)
37
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• PROGRAMACIÓN
ESTRUCTURA IF – ELSE , IF – ELSEIF – ELSE
- Si expresión_lógica cierta ejecuta conjunto_intrucciones correspondiente
- Sintaxis:
if expresión_lógica1 conjunto_intrucciones1
<elseif expresión_lógica2 conjunto_intrucciones2 >
<else conjunto_intrucciones3 >
end
Ejemplo: n = 3;
if rem(n,2) ~= 0
M = magic(n)
elseif n> 0
M = rand(n)
else
M = eye(n)
end
38
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• PROGRAMACIÓN
ESTRUCTURA FOR
- Repite un conjunto de sentencias un número predeterminado de veces.
- Sintaxis:
for variable = expresión
conjunto_intrucciones
end
Ejemplo: for n = 3:32
r(n) = rank(magic(n));
end
r
39
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• PROGRAMACIÓN
ESTRUCTURA SWITCH - CASE
- Ejecuta grupo de sentencias basado en el valor de una expresión.
- Sintaxis:
switch expresión
case 1
conjunto_intrucciones1
case 2
conjunto_intrucciones1
end
Ejemplo: n=5, switch (rem(n,2) ==0)
case 0
M = randn(n+1);
case 1
M = eye(n)/magic(n)
end
40
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• PROGRAMACIÓN
OTRAS ESTRUCTURAS
- While :repite un conjunto de sentencias un número indefinido de veces.
- Sintaxis while expresión
sentencias
end
OTROS COMANDOS
- break: permite salir de un ciclo for o while
- continue: salta a la próxima iteración.
41
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• RECOMENDACIONES
VECTORIZACIÓN
- Las operaciones con matrices y vectores son más eficientes.
Ejemplo: x = 1; % código ineficiente
for k = 1:1001
y(k) = log10(x);
x = x + .01;
end
x = 1:.01:10; % código eficiente
y = log10(x);
42
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• OTROS TIPOS DE DATOS
ARREGLOS MULTIDIMENSIONALES
- Arreglo de datos de más de una dimensión.
- sintaxis similar a las matrices.
Variable (dim1, dim2 , .., dimN)
Ejemplos: p = perms(1:4);
A = magic(4);
M = zeros(4,4,24);
for k = 1:24
M(:,:,k) = A(:,p(k,:));
end
43
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• OTROS TIPOS DE DATOS
CELDAS
- arreglos multidimensionales cuyos elementos son copia de otros arreglos.
- sintaxis
Variable { dim1 , dim2 , .., dimN } = { elementos ...}
Ejemplos: C = {A sum(A) prod(prod(A))}
44
TEMA 1. INTRODUCCIÓN AL MATLAB
PROCESADO DE LOS DATOS
• OTROS TIPOS DE DATOS
TEXTO
- Sentencia entre comillas.
- Sintaxis
Variable = 'caracteres alfanumericos'
Ejemplos: cadena = ‘cadena de prueba'
45
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS POR PANTALLA.
- Omitir el operados punto y coma ‘;’ en una asignación o sentencia que
devuelva algún valor.
Ejemplo: x = [ 3 4 ]
y = log10 ( x )
x = z
46
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS DE FORMA GRÁFICA
GRÁFICOS EN DOS DIMENSIONES (2D)
- Conjunto de funciones que permite visualizar datos en dos dimensiones.
- grafican los valores de dos vectores. vector de eje X y de eje Y .
- los vectores deben tener las mismas dimensiones.
- plot , stem , bar , stairs ...
- sintaxis del plot
plot(<Vector_X>, Vector_Y,<'texto de formato'>)
Ejemplo:
t = 0:.5:10; x = 5 - t.^2;
plot( t , x, 'r'); grid on;
stem(x);
47
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS DE FORMA GRÁFICA
GRÁFICOS EN TRES DIMENSIONES (3D)
- Grafican superficies a partir de 3 o 4 matrices.
- Matriz de eje X, matriz de eje Y, matriz de eje Z y matriz de color (C).
- Los elementos en posición i, j de estas matrices definen el lugar espacial y
color de cada punto en la superficie.
- Las matrices deben tener el mismo tamaño.
- surf , mesh , surfl , contour
sintaxis surf surf(mat_X, mat_Y, mat_Z , <mat_C>)
Ejemplo: [x,y,z] = peaks; surf(x,y,z), shading interp
48
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS POR PANTALLA
IMÁGENES
- visualizan arreglos de tamaño N x M ó N x M x 3 como una imagen.
- si el arreglo es de tamaño N x M cada elemento de la matriz puedes ser un
índice al mapa de colores ó un nivel de gris entre blanco y negro.
- Si el arreglo es de tamaño N x M x 3 cada trío de valores en las posiciones
( i , j , : ) definen la cantidad de rojo , verde y azul del punto.
Ejemplo: Imagen = imread('saturn.tif');
image(Imagen)
49
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS POR FICHEROS TEXTOS
SAVE
- Permite salvar datos del espacio de trabajo hacia ficheros ASCII ó MAT:
• Para ficheros .MAT escribe las variables especificadas hacia el fichero.
- para ficheros – ASCII escribe los datos en forma de texto en el fichero.
- sintaxis
save Nombre_fichero<.ext> <lista de variables>
Ejemplo: a = [1 4 -2; 4 6 7]
save fichero a % Salva la variable “a” en fichero.mat
save pepe.txt a % Salva la variable “a” en fichero pepe.txt
load pepe.txt %Lee el fichero
50
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS EN FICHEROS DE AUDIO (*.WAV)
WAVWRITE
- Permite almacenar (hacia disco) vectores o matrices de dos columnas
(estereofónico ) en formato de audio (.wav).
- Recorta los valores si exceden en el rango [ -1,1].
- Sintaxis
wavwrite( Variable ,‘Nombre del fichero’ , Fs , Nbits)
Ejemplo: load ejemplo_audio
y_beep_reb = filter( b , a ,x_beep);
wavwrite( y_beep_reb, Fs, 'reb.wav');
51
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• Salida de datos en ficheros de imagen (*.bmp ,*.tif, *.jpg)
IMWRITE
- Permite almacenar en disco, arreglos en formato de imagen.
- Varios tipos de formato de imagen.
- Sintaxis:
imwrite( MatrizImagen ,‘Nombre del fichero’ ,’Formato’)
Ejemplos:
imwrite(Imagen, 'imagen1.jpg','jpg')
52
TEMA 1. INTRODUCCIÓN AL MATLAB
SALIDA DE DATOS
• SALIDA DE DATOS A TRAVÉS DE LA MULTIMEDIA
SOUND
- Permite reproducir un vector o matriz de dos columnas por la multimedia.
Ejemplo: sound(x_beep,Fs);
sound(y_beep_reb);

More Related Content

What's hot (18)

Tema 0 Repaso Programación en Java
Tema 0 Repaso Programación en JavaTema 0 Repaso Programación en Java
Tema 0 Repaso Programación en Java
 
Matlab
MatlabMatlab
Matlab
 
Intro matlab msantos
Intro matlab msantosIntro matlab msantos
Intro matlab msantos
 
I1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en HaskellI1M2011-T4: Definición de funciones en Haskell
I1M2011-T4: Definición de funciones en Haskell
 
Graficas con Matlab
Graficas con Matlab Graficas con Matlab
Graficas con Matlab
 
Tema 7: Funciones de orden superior en Haskell
Tema 7: Funciones de orden superior en HaskellTema 7: Funciones de orden superior en Haskell
Tema 7: Funciones de orden superior en Haskell
 
resumen matlab
resumen matlabresumen matlab
resumen matlab
 
Matlab2
Matlab2Matlab2
Matlab2
 
cap9.pdf
cap9.pdfcap9.pdf
cap9.pdf
 
Matlab
MatlabMatlab
Matlab
 
Documento
DocumentoDocumento
Documento
 
Boletin3
Boletin3Boletin3
Boletin3
 
cap8.pdf
cap8.pdfcap8.pdf
cap8.pdf
 
cap11.pdf
cap11.pdfcap11.pdf
cap11.pdf
 
cap12.pdf
cap12.pdfcap12.pdf
cap12.pdf
 
cap10.pdf
cap10.pdfcap10.pdf
cap10.pdf
 
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
Curso de R: 1.1. introducción al lenguaje (Objetos y operadores básicos)
 
Matlab (1)
Matlab (1)Matlab (1)
Matlab (1)
 

Similar to Pds0 a introducción al matlab (20)

Curso matlab básico semestre 1 - 2017
Curso matlab básico   semestre 1 - 2017Curso matlab básico   semestre 1 - 2017
Curso matlab básico semestre 1 - 2017
 
Tutorial de MatLab
Tutorial de MatLabTutorial de MatLab
Tutorial de MatLab
 
Trabajo matlab
Trabajo matlabTrabajo matlab
Trabajo matlab
 
Matlab
MatlabMatlab
Matlab
 
Curso matlab
Curso matlabCurso matlab
Curso matlab
 
MATLAB Tutorial
MATLAB TutorialMATLAB Tutorial
MATLAB Tutorial
 
Computacion3
Computacion3Computacion3
Computacion3
 
Computacion3
Computacion3Computacion3
Computacion3
 
clases de herramientas lorenita
clases de herramientas lorenitaclases de herramientas lorenita
clases de herramientas lorenita
 
matlab (2).pptx
matlab (2).pptxmatlab (2).pptx
matlab (2).pptx
 
Taller processing arduino
Taller processing arduinoTaller processing arduino
Taller processing arduino
 
Copiade documento(2)
Copiade documento(2)Copiade documento(2)
Copiade documento(2)
 
Diapositivas matlab
Diapositivas matlabDiapositivas matlab
Diapositivas matlab
 
Matlab scientific scilab_mathematics
Matlab scientific scilab_mathematicsMatlab scientific scilab_mathematics
Matlab scientific scilab_mathematics
 
LIDIA
LIDIALIDIA
LIDIA
 
Diapositivas matlab
Diapositivas matlabDiapositivas matlab
Diapositivas matlab
 
Computacion ii cap i
Computacion ii cap iComputacion ii cap i
Computacion ii cap i
 
computacion
computacioncomputacion
computacion
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 
Tutorial matlab
Tutorial matlabTutorial matlab
Tutorial matlab
 

Recently uploaded

c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxMartín Ramírez
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Angélica Soledad Vega Ramírez
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDUgustavorojas179704
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfromanmillans
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfNataliaMalky1
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptxJunkotantik
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfCESARMALAGA4
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docxAgustinaNuez21
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas123yudy
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaLuis Minaya
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 

Recently uploaded (20)

c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptxc3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
c3.hu3.p1.p2.El ser humano y el sentido de su existencia.pptx
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...Contextualización y aproximación al objeto de estudio de investigación cualit...
Contextualización y aproximación al objeto de estudio de investigación cualit...
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDUFICHA DE MONITOREO Y ACOMPAÑAMIENTO  2024 MINEDU
FICHA DE MONITOREO Y ACOMPAÑAMIENTO 2024 MINEDU
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
Estrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdfEstrategia de Enseñanza y Aprendizaje.pdf
Estrategia de Enseñanza y Aprendizaje.pdf
 
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdfLA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
LA OVEJITA QUE VINO A CENAR CUENTO INFANTIL.pdf
 
La Función tecnológica del tutor.pptx
La  Función  tecnológica  del tutor.pptxLa  Función  tecnológica  del tutor.pptx
La Función tecnológica del tutor.pptx
 
La luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luzLa luz brilla en la oscuridad. Necesitamos luz
La luz brilla en la oscuridad. Necesitamos luz
 
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdfBIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
BIOLOGIA_banco de preguntas_editorial icfes examen de estado .pdf
 
CIENCIAS NATURALES 4 TO ambientes .docx
CIENCIAS NATURALES 4 TO  ambientes .docxCIENCIAS NATURALES 4 TO  ambientes .docx
CIENCIAS NATURALES 4 TO ambientes .docx
 
periodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicasperiodico mural y sus partes y caracteristicas
periodico mural y sus partes y caracteristicas
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsaManejo del Dengue, generalidades, actualización marzo 2024 minsa
Manejo del Dengue, generalidades, actualización marzo 2024 minsa
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 

Pds0 a introducción al matlab

  • 1. 1 CURSO INTRODUCTORIO Dr. Ing. Carlos R. Vázquez Seisdedos cvazquez6d2@gmail.com
  • 2. 2 TEMA 1. INTRODUCCIÓN AL MATLAB • MATLAB: AMBIENTE DE CALCULO NUMÉRICO CIENTÍFICO Y DE INGENIERÍA. • MATRIX LABORATORY. • SISTEMA INTERACTIVO. • LENGUAJE DE PROGRAMACIÓN. • INCLUYE CÁLCULO, VISUALIZACIÓN Y PROGRAMACIÓN. ¿QUÉ ES MATLAB?
  • 3. 3 TEMA 1. INTRODUCCIÓN AL MATLAB ¿PARA QUE MATLAB? • CÁLCULOS MATEMÁTICOS • DESARROLLO DE ALGORITMOS • ADQUISICIÓN , ANÁLISIS Y EXPLORACIÓN DE DATOS • MODELADO, SIMULACIÓN Y PROTOTIPOS • GRÁFICAS CIENTÍFICAS E INGENIERILES • DESARROLLO DE APLICACIONES, A TRAVÉS DE INTERFASE GRÁFICA DE USUARIOS.
  • 4. 4 TEMA 1. INTRODUCCIÓN AL MATLAB BREVE HISTORIA • INICIO DE MATLAB (A FINALES DE 1970) DISEÑADO POR CLEVE MOLER PARA DAR ACCESO A PAQUETES DE SOFT LINPACK Y EISPACK A SUS ESTUDIANTES SIN QUE TUVIERAN APRENDER FORTRAN. • APARICIÓN COMERCIAL JACK LITTLE,MOLER Y STEVE BANGERT REESCRIBEN MATLAB EN C (1983). SE FUNDA MATHSOFT (1984) PARA SU DESARROLLO
  • 5. 5 TEMA 1. INTRODUCCIÓN AL MATLAB VENTAJAS • MATLAB ES RELATIVAMENTE FÁCIL DE APRENDER • MATLAB ESTA OPTIMIZADO PARA CÁLCULO MATRICIAL • MATLAB ES UN INTERPRETE, ES FÁCIL CORREGIR LOS ERRORES. • AUNQUE FUNDAMENTALMENTE PREOCEDURAL TIENE ELEMENTOS ORIENTADO A OBJETOS. • MATLAB TIENE CÓDIGO ABIERTO.
  • 6. 6 TEMA 1. INTRODUCCIÓN AL MATLAB DEBILIDADES • MATLAB NO ES UN LENGUAJE DE PROPÓSITO GENERAL. • MATLAB ES UN INTERPRETE: CORRE MÁS LENTO QUE LOS LENGUAJE COMPILADOS COMO C, C++
  • 7. 7 TEMA 1. INTRODUCCIÓN AL MATLAB AMBIENTE DE DESARROLLO MATLAB • ESPACIO DE TRABAJO (Workspace) • DIRECTORIO ACTUAL (Current Directory) • HISTORIA DE COMANDO(Command History) • VENTANA DE COMANDOS(Command Window) • AYUDA (Help)
  • 9. 9 TEMA 1. INTRODUCCIÓN AL MATLAB FUNCIONAMIENTO • MATLAB ES UN INTERPRETE DE COMANDOS. • PROCESA INFORMACIÓN DE FORMA SECUENCIAL. 1. LAS EXPRESIONES SE ESCRIBEN EN LA VENTANA DE COMANDO O EN UN FICHERO (*.m). 2. SE PRESIONA RETORNO PARA LA EJECUCIÓN. 3. MATLAB DEVUELVE LOS RESULTADOS POR PANTALLA Y/O GRÁFICOS (DE HABERLOS).
  • 10. 10 TEMA 1. INTRODUCCIÓN AL MATLAB AYUDA DE MATLAB • COMANDO HELP • VENTANA HELP • DOCUMENTACIÓN MATLAB ( .PDF) • Busqueda a ciegas: Usar lookfor palabra_clave
  • 11. 11 TEMA 1. INTRODUCCIÓN AL MATLAB AYUDA DE MATLAB • COMANDO HELP COMANDO DE AYUDA EN LÍNEA. - Help por si solo lista todos los tópicos de la ayuda - Help <comando> lista la ayuda de un comando en específico. - Adicionalmente muestra otras funciones relacionadas. Ejemplos: help help power
  • 12. 12 TEMA 1. INTRODUCCIÓN AL MATLAB AYUDA DE MATLAB • COMANDO HELPWIN COMANDO DE LA VENTANA DE AYUDA - documentos de ayuda en paginas html. - organiza la documentación por producto, índice, contenido, demostraciones, búsqueda y favoritos. - helpwin por si solo muestra una ventana con todos los tópicos de la ayuda. - helpwin <comando> muestra en la ventana de ayuda la ayuda de un comando en específico. Ejemplos: helpwin helpwin plot
  • 14. 14 TEMA 1. INTRODUCCIÓN AL MATLAB AYUDA DE MATLAB • DOCUMENTACIÓN EN FORMATO .PDF - El MATLAB tiene un conjunto de documentación en formato pdf específico para cada uno de los tópicos que contiene. - Cada uno de estos documentos es una extensión de la ayuda en línea. - Incluyen desde información teórica, ejemplos de aplicación, detalles de las funciones etc. - Usualmente se encuentran en helppdf_doc<tópico específico>
  • 15. 15 TEMA 1. INTRODUCCIÓN AL MATLAB SINTAXIS • EXPRESIONES - Formadas por variables, números ,operadores y funciones. - Las cadenas de caracteres pueden ser símbolos de variables (matrices) o funciones de Matlab. - Sensibilidad a mayúsculas y minúsculas. - Podemos distinguir dos tipos de expresiones: numéricas y simbólicas
  • 16. 16 TEMA 1. INTRODUCCIÓN AL MATLAB SINTAXIS • EXPRESIONES VARIABLES - Crea las variables automáticamente y le asigna la cantidad apropiada de memoria. - Si la variable existe Matlab cambia su contenido y si es necesario le asigna una nueva cantidad de memoria. - Sintaxis de variables: <var> -> <letra><alfanum> <alfanum> -> <letra>| <número> | <_> Ejemplos: A35, R_5
  • 17. 17 TEMA 1. INTRODUCCIÓN AL MATLAB SINTAXIS • EXPRESIONES NÚMEROS - Formato largo (long) del estándar IEEE para punto flotante. Precisión: 16 dígitos decimales Rango: [10-308, 10308]. - Los números complejos usan el sufijo i o j. - Para utilizar la notación científica se usa la letra e Ejemplo: 3 –99 0.0001 9.6397238 1.60210e–20 6.02252e23 1i –3.14159j 3e5i
  • 18. 18 TEMA 1. INTRODUCCIÓN AL MATLAB SINTAXIS • EXPRESIONES OPERADORES - Para matrices + , - , * , / , ^ , - Para matrices elemento a elemento .+ , .- , .* , ./ , .^ - Relacionales == , ~= , < , > , <= , >= como resultado 1(cierto), ó 0 (falso). - lógicos and( & ) , or( | ) , not( ~ ) , xor , any , all - Especiales [ ] , () , {} , : , ; , . , = , % , ; , ‘ , ! - Conjunto union , unique , intersect, setdiff , setxor , ismember
  • 19. 19 TEMA 1. INTRODUCCIÓN AL MATLAB SINTAXIS • EXPRESIONES FUNCIONES < [Argumentos de Salida, ...] >< => NombreFunción< (Argumentos de entrada, ...) > Algunas Funciones - Trigonométricas: sin, cos, tan, asin, acos, atan, sinh, cosh, tanh... - Lógicas: any, all, and, exist, isnan, nite, isempty, isstr, strcomp... - Otras: abs, angle, sqrt, real, imag, conj, round, x, oor, ceil, sign... - Especiales: bessel, gamma, rat, ert, invertf, ellipk, ellipj ... Ejemplo: [ B , A ] = butter(5,.7);
  • 20. 20 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • ENTRADA POR TECLADO - Todas las variables numéricas son matrices (en general, complejas). - No es necesario definirlas ni dimensionarlas. - Los elementos de una fila se separan por espacio ‘ ’ o coma ‘,’ - Las columnas se separan por punto y coma ‘;’ - La lista de elementos se limitan por ‘[‘ y ‘]’ Ejemplo: x = 1; y = [2 , 1]; ó y = [ 2 , -j ]; z = [3 ; 7 ; -1]; w =[ 4 , 5 , 6 ; 7 , 8 , 9 ]; whos
  • 21. 21 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • VECTORES CUYOS ELEMENTO SE DISTRIBUYEN LINEALMENTE OPERADOR : - Sintaxis: Valor_inicial : Incremento : Valor_Final - Valor_inicial , Incremento y Valor_Final son expresiones aritméticas. - Si valor inicial < valor final, => Incremento < 0, en tal caso los elementos aparecen en orden decreciente. Ejemplo t = 0:2:6 x= 7:-2:-1 y = linspace(0,6,4)
  • 22. 22 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • VECTORES Y MATRICES DE CEROS, UNOS Y UNITARIA - Funciones que reciben las dimensiones de la matriz a generar. - Función zeros devuelve una matriz de ceros. - Función ones devuelve una matriz de unos. - Función eye devuelve una matriz unitaria. Ejemplo: A = zeros(3,4); B = ones(1,5); C = eye(3);
  • 23. 23 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • MATRICES Y VECTORES GENERADOS DE FORMA ALEATORIA. - Conjunto de funciones que generan números aleatorios. - rand , randn , random , betarnd , etc Ejemplo: Ruido con distribución normal uniforme y = rand(1,2000); plot(y,'r'), figure(2); hist (y) Ruido con distribución normal gaussiana y = randn(1,2000); plot(y,'r'), figure(2); hist (y)
  • 24. 24 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • ENTRADA DE DATOS DESDE FICHEROS ASCII Y MAT - Permite cargar al espacio de trabajo de datos de ficheros ASCII ó MAT - Para ficheros .MAT lee las variables existentes en el fichero. - Para ficheros –ASCII carga los datos en una variables con el nombre del fichero. - Sintaxis load Nombre_fichero<.ext> <-ASCII>/<-MAT> Ejemplo: load matriz.txt load vectores.mat
  • 25. 25 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • ENTRADA DE DATOS DESDE FICHEROS BINARIOS - Permite cargar al espacio de trabajo de datos de ficheros binarios (señales *DAT, *.BIN) - funciones asociadas: fopen, fread, fclose. Ejemplo: Se conoce que en la señal JUAN1.DAT se encuentra almacenada un canal con el electrocardiograma de un paciente y la respiración del mismo medida a través de la impedancia en el tórax. Visualizar ambas señales. Pasos: 1. Abrir el fichero: fid=fopen('JUAN1.DAT','r'); % “fid” es negativo > problemas. 2. x=fread(fid,'ushort'); %ushort = entero de 16 bits (2 bytes por muestra) 3. fclose(fid) 4. ecg=x(1:2:length(x)); 5. resp=x(2:2:length(x));
  • 26. 26 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • ENTRADA DE FICHEROS DE AUDIO *.WAV - Permite cargar al espacio de trabajo datos de un fichero de audio *.wav. - Devuelve los valores normalizados en el rango [ -1,1]. - Sintaxis [ señal ,< Fs>,< Nbits> ] = wavread(‘Nombre del fichero’) Ejemplo: : [y, Fs] = wavread('sin2k.wav');
  • 27. 27 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • ENTRADA DE DATOS DE FICHEROS DE IMÁGENES ( *.BMP ,*.JPG,...) - Permite cargar al espacio de trabajo datos de un fichero de imagen. - Varios tipos de formato de imagen. - Sintaxis: [ Imagen <, Mapa>] = imread(‘Nombre del fichero’ ,’Formato’) Ejemplos: I = imread('Faro.jpg'); image(I) ;%Visualiza la imagen
  • 28. 28 TEMA 1. INTRODUCCIÓN AL MATLAB ENTRADA DE DATOS • ENTRADA DE DATOS A TRAVÉS DE LA MULTIMEDIA - Conjunto de objetos y funciones que permiten almacenar datos digitalizados por la multimedia. - daqrecord y daqplay Ejemplo: daqscope
  • 29. 29 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • MANIPULACIÓN DE MATRICES Y VECTORES CONCATENACIÓN - Formar matrices ó vectores a partir de matrices y o vectores ya existentes. - Atención en las dimensiones de las matrices combinadas. Ejemplo: A = [ 1 -3; 7.5 5j ] B = [ 2 6 ] C = [ A ; B ] % Añadir una fila D = [B' A ] %Añadir una columna (B’ = transpuesta de B)
  • 30. 30 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • MANIPULACIÓN DE MATRICES Y VECTORES ELIMINACIÓN DE FILAS O COLUMNAS. - Se asigna a la fila o columna a borrar una fila (o columna) vacía . - No se pueden eliminar elementos en la matriz. Ejemplo: A = [ 1 -3; 7.5 5j; 4 0 ] A( 3 , : ) = [ ] ; %Borrar la fila 3 A(2,1) = [ ] ; % No permitido B = A(:), % Convertir A en un vector columna
  • 31. 31 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • MANIPULACIÓN DE MATRICES Y VECTORES OPERACIONES UNITARIAS SOBRE MATRICES CUADRADAS - Función det() (determinante) recibe como argumento una matriz cuadrada y devuelve un escalar. - Función inv() inversa de una matriz, recibe como argumento una matriz cuadrada y devuelve una matriz cuadrada de la misma dimensión. - Si la matriz es singular, la inversa resulta una matriz de inf. - Se puede sustituir por el operador ^-1 Ejemplo: A = [ 1 -3; 4 5]; B = inv(A); C = A*B det(A) inv([1 2 3; 2 4 6; 23 -1 9]) % Ejemplo de matriz singular
  • 32. 32 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • MANIPULACIÓN DE MATRICES Y VECTORES OPERACIONES DEL ÁLGEBRA DE MATRICES - Las matrices deben cumplir las reglas de las operación con matrices. - Operadores: +, - , * , ^ , / , , Ejemplo: A = [ 1 -3; 7.5 5j] B = [ 2 3 ; 4 -56] C = [ 2 ; -1] A + B B – A B * C A / B B ^ 2 C + 5 C’
  • 33. 33 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • MANIPULACIÓN DE MATRICES Y VECTORES OPERACIONES BINARIAS ELEMENTO A ELEMENTO. - Las matrices deben tener la misma dimensión. - Operadores: .+, .- , .* , .^ , ./ , . , Ejemplo: x = -1 :2:9 y = x.^2 A = [ 1 -3; 2 5j] B = [ 2 3 ; 4 -5] B .* A A ./ B
  • 34. 34 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • MANIPULACIÓN DE MATRICES Y VECTORES RESOLUCIÓN DE UN SISTEMA DE ECUACIONES LINEALES - A X = B - Solución X = B A ó X = inv(A) * B ó X = A ^ -1 * B Ejemplo: A = rand(3) B = rand(3,1) X = inv(A) * B
  • 35. 35 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • OPERACIONES CON POLINOMIOS VECTORES COMO POLINOMIOS - Polinomios se representan como vectores fila. - 3x3 – 4x2 + 6x -1 equivale a p =[-3 -4 6 -1]. - Funciones roots , conv , deconv , residue , polyval , polyfit Ejemplo: p1 = [ -1 -3 3 4]; % -x3 – 3x2 + 3x -4 p2 = [ 1 2 4 0]; % x3 + 2x2 + 4x p = conv( p1,p2) p3 = [1 3 -10] ; %x2+3x-10 = (x+5)(x-2) roots(p3) %Raíces de p1 (valores que hacen 0 a p1)
  • 36. 36 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • FUNCIONES - Las funciones están orientadas a matrices. - Cada función maneja de forma particular las filas y columnas Ejemplo: >> A = [1 2 3; 4 5 6 ; 7 8 9] sum(A) max(A)
  • 37. 37 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • PROGRAMACIÓN ESTRUCTURA IF – ELSE , IF – ELSEIF – ELSE - Si expresión_lógica cierta ejecuta conjunto_intrucciones correspondiente - Sintaxis: if expresión_lógica1 conjunto_intrucciones1 <elseif expresión_lógica2 conjunto_intrucciones2 > <else conjunto_intrucciones3 > end Ejemplo: n = 3; if rem(n,2) ~= 0 M = magic(n) elseif n> 0 M = rand(n) else M = eye(n) end
  • 38. 38 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • PROGRAMACIÓN ESTRUCTURA FOR - Repite un conjunto de sentencias un número predeterminado de veces. - Sintaxis: for variable = expresión conjunto_intrucciones end Ejemplo: for n = 3:32 r(n) = rank(magic(n)); end r
  • 39. 39 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • PROGRAMACIÓN ESTRUCTURA SWITCH - CASE - Ejecuta grupo de sentencias basado en el valor de una expresión. - Sintaxis: switch expresión case 1 conjunto_intrucciones1 case 2 conjunto_intrucciones1 end Ejemplo: n=5, switch (rem(n,2) ==0) case 0 M = randn(n+1); case 1 M = eye(n)/magic(n) end
  • 40. 40 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • PROGRAMACIÓN OTRAS ESTRUCTURAS - While :repite un conjunto de sentencias un número indefinido de veces. - Sintaxis while expresión sentencias end OTROS COMANDOS - break: permite salir de un ciclo for o while - continue: salta a la próxima iteración.
  • 41. 41 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • RECOMENDACIONES VECTORIZACIÓN - Las operaciones con matrices y vectores son más eficientes. Ejemplo: x = 1; % código ineficiente for k = 1:1001 y(k) = log10(x); x = x + .01; end x = 1:.01:10; % código eficiente y = log10(x);
  • 42. 42 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • OTROS TIPOS DE DATOS ARREGLOS MULTIDIMENSIONALES - Arreglo de datos de más de una dimensión. - sintaxis similar a las matrices. Variable (dim1, dim2 , .., dimN) Ejemplos: p = perms(1:4); A = magic(4); M = zeros(4,4,24); for k = 1:24 M(:,:,k) = A(:,p(k,:)); end
  • 43. 43 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • OTROS TIPOS DE DATOS CELDAS - arreglos multidimensionales cuyos elementos son copia de otros arreglos. - sintaxis Variable { dim1 , dim2 , .., dimN } = { elementos ...} Ejemplos: C = {A sum(A) prod(prod(A))}
  • 44. 44 TEMA 1. INTRODUCCIÓN AL MATLAB PROCESADO DE LOS DATOS • OTROS TIPOS DE DATOS TEXTO - Sentencia entre comillas. - Sintaxis Variable = 'caracteres alfanumericos' Ejemplos: cadena = ‘cadena de prueba'
  • 45. 45 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS POR PANTALLA. - Omitir el operados punto y coma ‘;’ en una asignación o sentencia que devuelva algún valor. Ejemplo: x = [ 3 4 ] y = log10 ( x ) x = z
  • 46. 46 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS DE FORMA GRÁFICA GRÁFICOS EN DOS DIMENSIONES (2D) - Conjunto de funciones que permite visualizar datos en dos dimensiones. - grafican los valores de dos vectores. vector de eje X y de eje Y . - los vectores deben tener las mismas dimensiones. - plot , stem , bar , stairs ... - sintaxis del plot plot(<Vector_X>, Vector_Y,<'texto de formato'>) Ejemplo: t = 0:.5:10; x = 5 - t.^2; plot( t , x, 'r'); grid on; stem(x);
  • 47. 47 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS DE FORMA GRÁFICA GRÁFICOS EN TRES DIMENSIONES (3D) - Grafican superficies a partir de 3 o 4 matrices. - Matriz de eje X, matriz de eje Y, matriz de eje Z y matriz de color (C). - Los elementos en posición i, j de estas matrices definen el lugar espacial y color de cada punto en la superficie. - Las matrices deben tener el mismo tamaño. - surf , mesh , surfl , contour sintaxis surf surf(mat_X, mat_Y, mat_Z , <mat_C>) Ejemplo: [x,y,z] = peaks; surf(x,y,z), shading interp
  • 48. 48 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS POR PANTALLA IMÁGENES - visualizan arreglos de tamaño N x M ó N x M x 3 como una imagen. - si el arreglo es de tamaño N x M cada elemento de la matriz puedes ser un índice al mapa de colores ó un nivel de gris entre blanco y negro. - Si el arreglo es de tamaño N x M x 3 cada trío de valores en las posiciones ( i , j , : ) definen la cantidad de rojo , verde y azul del punto. Ejemplo: Imagen = imread('saturn.tif'); image(Imagen)
  • 49. 49 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS POR FICHEROS TEXTOS SAVE - Permite salvar datos del espacio de trabajo hacia ficheros ASCII ó MAT: • Para ficheros .MAT escribe las variables especificadas hacia el fichero. - para ficheros – ASCII escribe los datos en forma de texto en el fichero. - sintaxis save Nombre_fichero<.ext> <lista de variables> Ejemplo: a = [1 4 -2; 4 6 7] save fichero a % Salva la variable “a” en fichero.mat save pepe.txt a % Salva la variable “a” en fichero pepe.txt load pepe.txt %Lee el fichero
  • 50. 50 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS EN FICHEROS DE AUDIO (*.WAV) WAVWRITE - Permite almacenar (hacia disco) vectores o matrices de dos columnas (estereofónico ) en formato de audio (.wav). - Recorta los valores si exceden en el rango [ -1,1]. - Sintaxis wavwrite( Variable ,‘Nombre del fichero’ , Fs , Nbits) Ejemplo: load ejemplo_audio y_beep_reb = filter( b , a ,x_beep); wavwrite( y_beep_reb, Fs, 'reb.wav');
  • 51. 51 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • Salida de datos en ficheros de imagen (*.bmp ,*.tif, *.jpg) IMWRITE - Permite almacenar en disco, arreglos en formato de imagen. - Varios tipos de formato de imagen. - Sintaxis: imwrite( MatrizImagen ,‘Nombre del fichero’ ,’Formato’) Ejemplos: imwrite(Imagen, 'imagen1.jpg','jpg')
  • 52. 52 TEMA 1. INTRODUCCIÓN AL MATLAB SALIDA DE DATOS • SALIDA DE DATOS A TRAVÉS DE LA MULTIMEDIA SOUND - Permite reproducir un vector o matriz de dos columnas por la multimedia. Ejemplo: sound(x_beep,Fs); sound(y_beep_reb);