introducciÓn al matlab

51
ING. FRANK SANABRIA MACIAS CURSO INTRODUCTORIO

Upload: narciso-martinez

Post on 22-Nov-2014

238 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS

CURSO INTRODUCTORIO

Page 2: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS Abril 2006

• 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?

Page 3: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

¿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 DEINTERFASE GRÁFICA DE USUARIOS.

Page 4: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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

Page 5: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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.

Page 6: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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++

Page 7: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

AMBIENTE DE DESARROLLO MATLAB

• ESPACIO DE TRABAJO (Workspace)

• DIRECTORIO ACTUAL (Current Directory)

• HISTORIA DE COMANDO(Command History)

• VENTANA DE COMANDOS(Command Window)

• AYUDA (Help)

Page 8: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

Page 9: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

FUNCINAMIENTO

• 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).

Page 10: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

AYUDA DE MATLAB

• COMANDO HELP • VENTANA HELP• DOCUMENTACIÓN MATLAB ( .PDF)

Page 11: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

AYUDA DE MATLAB

• COMANDO HELPCOMANDO 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: helphelp power

Page 12: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

AYUDA DE MATLAB

• COMANDO HELPWINCOMANDO 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: helpwinhelpwin plot

Page 13: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

Page 14: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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 \help\pdf_doc\<tópico específico\>

Page 15: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SINTAXSIS

• 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

Page 16: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SINTAXSIS

• EXPRESIONESVARIABLES

- 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

Page 17: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SINTAXSIS

• EXPRESIONESNÚ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.00019.6397238 1.60210e–20 6.02252e231i –3.14159j 3e5i

Page 18: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SINTAXSIS• 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

Page 19: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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

Page 20: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

ENTRADA DE DATOS• ENTRADA POR TECLADO

- Todas las variables numéricas son matrices complejas.

- No es necesario definirlas o dimensionarlas.

- Los elementos de una fila se separa por espacio ‘ ’ o coma ‘,’

- Las columnas se separan por punto y coma ‘;’

- La lista de elemento 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

Page 21: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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 7:-2:-1 linspace(0,6,4)

Page 22: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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

Page 23: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

ENTRADA DE DATOS

• MATRICES Y VECTORES GENERADOS DE FORMA ALEATORIA.

- Conjunto de funciones que generan números aleatorios.

- rand , randn , random , betarnd , etc

Ejemplo:

D = random(‘norm’,0,1,2,3);

Page 24: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

ENTRADA DE DATOS

• ENTRADA DE DATOS DESDE FICHEROS ASCII Y MAT

- Permite cargar al espacio de trabajo 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.txtload vectores.mat

Page 25: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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

Page 26: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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('ngc6543a.jpg');

Page 27: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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

Page 28: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• MANIPULACIÓN DE MATRICES Y VECTORESCONCATENACIÓ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 ] D = [ B’ A ]E = [A ; B’ ]

Page 29: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• MANIPULACIÓN DE MATRICES Y VECTORESELIMINACIÓN DE FILAS O COLUMNAS.

- Se asigna a la fila o columna a borrar un fila (o columna) vacía .

- No se pueden eliminar elementos en la matriz.

Ejemplo: A = [ 1 -3; 7.5 5j; 4 0 ]A( 3 , : ) = [ ] A(2,1) = [ ]

Page 30: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• MANIPULACIÓN DE MATRICES Y VECTORESOPERACIONES 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; 7.5 5j]det(A)inv([1 2 3; 2 4 6; 23 -1 9])

Page 31: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• MANIPULACIÓN DE MATRICES Y VECTORESOPERACIONES 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 + BB – AB * CA / BB ^ 2C + 5 C’

Page 32: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• MANIPULACIÓN DE MATRICES Y VECTORESOPERACIONES BINARIAS ELEMENTO A ELEMENTO.

- Las matrices deben tener la misma dimensión.

- Operadores: .+, .- , .* , .^ , ./ , .\ ,

Ejemplo: x = -1 :.1:1y = x.^2 - 1B .* AA ./ B

Page 33: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• MANIPULACIÓN DE MATRICES Y VECTORESRESOLUCIÓ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

Page 34: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• OPERACIONES CON POLINOMIOSVECTORES 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)roots(p)

Page 35: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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)

Page 36: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• PROGRAMACIÓNESTRUCTURA 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

Page 37: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• PROGRAMACIÓNESTRUCTURA FOR

- Repite un conjunto de sentencias un número predeterminado de veces.

- Sintaxis: for variable = expresión

conjunto_intruccionesend

Ejemplo: for n = 3:32r(n) = rank(magic(n));

endr

Page 38: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• PROGRAMACIÓNESTRUCTURA SWITCH - CASE

- Ejecuta grupo de sentencias basado en el valor de una expresión.- Sintaxis:

switch expresión case 1conjunto_intrucciones1case 2

conjunto_intrucciones1end

Ejemplo: n=5, switch (rem(n,2) ==0)case 0

M = randn(n+1);case 1

M = eye(n)/magic(n)end

Page 39: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• PROGRAMACIÓNOTRAS ESTRUCTURAS

- While :repite un conjunto de sentencias un número indefinido de veces.- Sintaxis while expresión

sentenciasend

OTROS COMANDOS

- break: permite salir de un ciclo for o while- continue: salta a la próxima iteración.

Page 40: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• RECOMENDACIONESVECTORIZACIÓN

- Las operaciones con matrices y vectores son más eficientes.

Ejemplo: x = 1; % código ineficientefor k = 1:1001y(k) = log10(x);x = x + .01;end

x = 1:.01:10; % código eficientey = log10(x);

Page 41: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• OTROS TIPOS DE DATOSARREGLOS 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

Page 42: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• OTROS TIPOS DE DATOSCELDAS

- arreglos multidimensionales cuyos elementos son copia de otros arreglos.- sintaxis

Variable { dim1 , dim2 , .., dimN } = { elementos ...}

Ejemplos: C = {A sum(A) prod(prod(A))}

Page 43: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

PROCESADO DE LOS DATOS

• OTROS TIPOS DE DATOSTEXTO

- Sentencia entre comillas.

- SintaxisVariable = ‘ caracteres alfanumericos ’.

Ejemplos: cadena = ‘ cadena de prueba ‘

Page 44: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

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

Page 45: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• SALIDA DE DATOS DE FORMA GRÁFICAGRÁ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 plotplot(<Vector_X>, Vector_Y,<‘texto de formato’>)

Ejemplo: t = 0:.5:10; x = 5 – t.^2; plot( t , x, ‘r’ ); grid on;stem ( x );

Page 46: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• SALIDA DE DATOS DE FORMA GRÁFICAGRÁFICOS EN TRES DIMENSIONES (3D)

- Grafican superficies a partir de tres o cuatro 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 , contoursintaxis surf surf(mat_X, mat_Y, mat_Z , <mat_C>)

Ejemplo: [x,y,z] = peaks; surf(x,y,z), shading interp

Page 47: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• SALIDA DE DATOS POR PANTALLAIMÁ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)

Page 48: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• SALIDA DE DATOS POR FICHEROS TEXTOSSAVE

- 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

Page 49: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• SALIDA DE DATOS EN FICHEROS DE AUDIO (*.WAV)WAVWRITE

- Permite almacenar en 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 filey_beep_reb = filter( b , a ,x_beep); wavwrite( y_beep_reb, Fs,‘reb.wav’);

Page 50: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• Salida de datos en ficheros de imagen (*.bmp ,*.tif, *.jpg)IMWRITE

- Permite almacenar en disco arreglos en formato de iamgen.

- Varios tipos de formato de imagen.

- Sintaxis:imwrite( MatrizImagen ,‘Nombre del fichero’ ,’Formato’)

Ejemplos: imwrite( Imagen’ , ‘imagen1.jpg’ ,’jpg’ )

Page 51: INTRODUCCIÓN AL MATLAB

TEMA 1. INTRODUCCIÓN AL MATLAB

ING. FRANK SANABRIA MACIAS CENPIS ,FIE, UNIVEWRIDAD DE ORIENTE Abril 2006

SALIDA DE DATOS

• SALIDA DE DATOS A TRAVÉS DE LA MULTIMEDIASOUND

- Permite reproducir un vector o matriz de dos columnas por la multimedia.

Ejemplo: sound(x_beep,Fs);sound(y_beep_reb);