SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
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);

Más contenido relacionado

La actualidad más candente

La actualidad más candente (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 a 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
 

Último

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptELENA GALLARDO PAÚLS
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptxFelicitasAsuncionDia
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdfDemetrio Ccesa Rayme
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
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
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinavergarakarina022
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSjlorentemartos
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.DaluiMonasterio
 

Último (20)

DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.pptDE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
DE LAS OLIMPIADAS GRIEGAS A LAS DEL MUNDO MODERNO.ppt
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Registro Auxiliar - Primaria 2024 (1).pptx
Registro Auxiliar - Primaria  2024 (1).pptxRegistro Auxiliar - Primaria  2024 (1).pptx
Registro Auxiliar - Primaria 2024 (1).pptx
 
Neurociencias para Educadores NE24 Ccesa007.pdf
Neurociencias para Educadores  NE24  Ccesa007.pdfNeurociencias para Educadores  NE24  Ccesa007.pdf
Neurociencias para Educadores NE24 Ccesa007.pdf
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
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
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
codigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karinacodigos HTML para blogs y paginas web Karina
codigos HTML para blogs y paginas web Karina
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOSTEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
TEMA 13 ESPAÑA EN DEMOCRACIA:DISTINTOS GOBIERNOS
 
EXPECTATIVAS vs PERSPECTIVA en la vida.
EXPECTATIVAS vs PERSPECTIVA  en la vida.EXPECTATIVAS vs PERSPECTIVA  en la vida.
EXPECTATIVAS vs PERSPECTIVA en la vida.
 

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);