temas curso - matlab basico .pdf

Upload: tom-lopez

Post on 03-Jun-2018

248 views

Category:

Documents


1 download

TRANSCRIPT

  • 8/11/2019 Temas curso - Matlab basico .pdf

    1/78

    CURSO BASICO

    DE MATLABCABRERA ROMAN ALEJANDROFERNANDEZ PAXTIAN MARCELO

  • 8/11/2019 Temas curso - Matlab basico .pdf

    2/78

    1. INTRODUCCION MATLAB es un lenguaje de programacin interactivo para calculo

    numrico, visualizacin y programacin.

    MATLABMATrix LABoratory (Laboratorio de matrices )

    Principales aplicaciones: Anlisis de datos

    Desarrollo de algoritmos

    Crear modelos y aplicaciones

  • 8/11/2019 Temas curso - Matlab basico .pdf

    3/78

    2. ENTORNO DESKTOP (ESCRITORIO)

  • 8/11/2019 Temas curso - Matlab basico .pdf

    4/78

    Command Window (Ventana de comandos)

    Se utiliza para ingresar las variables, ejecutar las funciones y los archivosmcon los cuales trabaja matlab.

    En ella se escriben los comandos de MATLAB. Las instrucciones seescriben despus delprompt (aviso)

    Command History (Historial de comandos) Las declaraciones hechas en la ventana de comandos quedan

    almacenadas en el historial de comandos. Aqu se pueden observar yejecutar declaraciones previamente realizadas, como copiar y ejecutardeclaraciones seleccionadas.

    Start Button (Botn de inicio) El botn de inicio permite un rpido acceso a las herramientas, demos y

    documentacin al hacer clic en la opcin deseada.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    5/78

    Current Directory (Directorio actual) Los archivos con los cuales opera MATLAB utilizan el Current Directory yel Search Path. Cualquier archivo que se ejecute debe estar en el currentdirectory o en el search path.

    Workspace (Espacio de trabajo) El worksapace o espacio de trabajo de MATLAB consiste en un set de

    variables (arreglos) construidos durante la sesin de trabajo de MATLABque son almacenados en la memoria, el worksapace muestra las variablescreadas, as como su tipo y su valor.

    Array Editor: El editor de arreglos aparece al hacer doble clic en alguna

    variable del workspace. Este editor puede ser utilizado para observar yeditar el contenido de las variables.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    6/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    7/78

    4. ALGUNOS COMANDOS TILES clc: para limpiarla ventana de comandos

    close [all] [all hidden]: Para cerrar todas las ventanas de figuras,aplicaciones,

    exit, quit: Para salir de MATLAB

    diary [on/off]: Para grabar una sesin en un fichero de texto

    ver: Para listar las toolboxes instaladas

    who, whos: para ver las variables del workspace

    clear [all]: para borrar variables (>>clear las borra todas, >>clear var1 sloborra la variable var1)

  • 8/11/2019 Temas curso - Matlab basico .pdf

    8/78

    why: para ver el sentido de humor que gusta a los autores de MATLAB

    lookfor: bsqueda de funciones

    type: muestra el cdigo de los ficheros M, p. ej.: >>type roots

    save: Para guardar el estado de una sesin de trabajo.

    load: Para recuperar el estado de una sesin de trabajo.

    Para ms informacin se recomienda teclear >>help nombre_comando.

    Nota: es posible detener una ejecucin en progreso de matlab presionandolas teclas :

    Control + c (til cuando matlab no responde)

  • 8/11/2019 Temas curso - Matlab basico .pdf

    9/78

    5. VARIABLES Y CONSTANTES

    Constante: Es el nombre que se le da a un campo cuyo contenido nocambia o varia a travs del proceso.

    Variable: Una variable es el nombre que se le asigna a un campo, cuyo

    contenido puede cambiar o variar a travs de un proceso. El nombre y elcontenido son las partes de una variable.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    10/78

    Constantes en matlab

  • 8/11/2019 Temas curso - Matlab basico .pdf

    11/78

    6. TIPOS DE DATOS EN MATLAB

    ARRAY[Full or sparse]

    logical char NUMERIC CellArray

    structure functionhandle

    User classes

    Javaclasses

    int8, uint8, int16,uint16, int32,uint32, int64,

    uint64

    single double

  • 8/11/2019 Temas curso - Matlab basico .pdf

    12/78

    Tipos elementales de datos en matlab

  • 8/11/2019 Temas curso - Matlab basico .pdf

    13/78

    Tipos de datos agregados en matlab

    (cell arrays)

  • 8/11/2019 Temas curso - Matlab basico .pdf

    14/78

    7. ARREGLOS1. Un arreglo es un conjunto de elementos del mismo tipo

    referenciados por uno o mas ndices.

    2. Un arreglo es conjunto de variables del mismo tipo bajo un mismo

    nombre cuyo acceso se realiza mediante ndices.

    Clasificacin de acuerdo a la dimensin:

    ESCALARES -> Almacena un solo valor.

    VECTORIALES -> Valores ordenados en fila o en columna.

    MATRICIALES -> Arreglo rectangular de elementos

  • 8/11/2019 Temas curso - Matlab basico .pdf

    15/78

    Aspecto de un vector fila, tiene unaSola dimensin (unidimensional)

    Aspecto de un vector columna(unidimensional)

    Aspecto de una matriz,tiene 2 dimensiones(Bidimensional)

    Aspecto de un escalar

  • 8/11/2019 Temas curso - Matlab basico .pdf

    16/78

    Creacin de matrices y vectores

  • 8/11/2019 Temas curso - Matlab basico .pdf

    17/78

    El operador dos puntos (:)

    linspace(x1,x2,n)genera un vector con n valores igualmente espaciados entre x1 y x2

    logspace(d1,d2,n)genera un vector con n valores espaciados logartmicamente entre 10^d1 y

    10^d2.

    Algunas funciones para creacin de vectores:

    inicio : salto : fin

    Paso entreElementos(incremento/decremento)El operador dos puntos tambin sirve crear vectores.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    18/78

    Ingresar un arreglo

    Las colum nas se separan por espacios o comas, y lasfi las por punto y coma o una nueva lnea.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    19/78

    Acceso a elementos

    Fila 2 Columnas 2,3 y 4

    Vector de filas Vector de columnas

    Selecciona

    toda la fila

    Selecciona

    la ultimacolumna

    Selecciona elprimer elemento

    Manera de acceder a elementos

    de un vector

  • 8/11/2019 Temas curso - Matlab basico .pdf

    20/78

    8. ARREGLOS DE CELDAS (CELLARRAYS) Un cell array proporciona un mecanismo de almacenamiento para diferentes

    tipos de datos. Los datos pueden ser de todo tipo: matrices, vectores,estructuras e incluso ms cell arrays.

    Ejemplo de cell array:

  • 8/11/2019 Temas curso - Matlab basico .pdf

    21/78

    Creacin y acceso a cell arrays

    Un cell array se puede crear de dos formas, usando parntesis y usandollaves.

    Si se usan parntesis, entonces los valores deben ser dados entre llaves.

    Si se usan llaves, entonces los valores se dan tal cual.

    Otra forma de crear un cell array:

    A(1,1) = {[1 4 3; 0 5 8; 7 2 9]};A(1,2) = {Tania Arrieta'};

    A{1,1} = [1 4 3; 0 5 8; 7 2 9];A{1,2} = Tania Arrieta ';

  • 8/11/2019 Temas curso - Matlab basico .pdf

    22/78

    My_cellarray={'Nombre','Edad','Grupo','Calificaciones';

    'Luis' ,19,'4EM3' ,[9 8 7 6 10 10 9];

    'Maria' ,19,'4EM2' ,[8 8 7 7 9 10 9];}

    Cuando se quiere preguntar por el contenido de un elemento del cell array sepuede hacer de dos formas:

    A(1,2) regresa el tipo de dato que es y el tamao, pero no me muestra elcontenido en si.

    A{1,2} me muestra el contenido del elemento (1,2) del cell array, serecomienda esta forma.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    23/78

    9. FORMATOS DE SALIDA Permiten cambar la forma que matlab muestra los resultados, recordar

    que matlab almacena los datos de tipo numrico en doble precisin (8bytes).

  • 8/11/2019 Temas curso - Matlab basico .pdf

    24/78

    10. OPERADORES

  • 8/11/2019 Temas curso - Matlab basico .pdf

    25/78

    11. OPERACIONES CON MATRICES YESCALARES

  • 8/11/2019 Temas curso - Matlab basico .pdf

    26/78

    Algunas funciones para operaciones convectores

  • 8/11/2019 Temas curso - Matlab basico .pdf

    27/78

    12. ESTRUCTURAS DE CONTROL Para controlar el orden o el camino en el cual se desarrollan las expresiones

    u operaciones de un programa, es necesario utilizar estructuras de control deflujo.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    28/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    29/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    30/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    31/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    32/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    33/78

    13. ENTRADA Y SALIDA DE DATOS

    Entrada:

    Edad=input(Ingrese su edad: ');

    Nombre=input('Ingrese su nombre:', 's');

    disp('Bienvenido a matlab');

    Salida:Lleva el especificadorde formato

    Espera que se ingrese undato numrico o un vectorde nmeros

    Espera una

    Cadena (string)

    Puede utilizarse para mostrarUna cadena

    Puede utilizarse paramostrar el contenidode una variable

    (escalar,vector,matriz),etc.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    34/78

    /n para salto de lnea/t para hacer espaciamientos/r retorno de carro

    Para mas informacin teclear: doc fprintf

    Especificadores de formato

    (indican el tipo de dato que se mostrara)Argumento(s) a mostrar

  • 8/11/2019 Temas curso - Matlab basico .pdf

    35/78

    Ejercicios propuestos (Taller 1)1. Realizar un programa que calcule la edad de un usuario, pidiendo como

    datos de entrada su mes y ao de nacimiento

    2. Generar un conversor de unidades, para transformar un valor en metros aotra unidad de longitud (mm,cm,pies y pulgadas),utilice la estructura de

    control mas adecuada para no realizar comparaciones innecesarias.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    36/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    37/78

    Las funciones en matlab poseen tres elementos principales: Argumento(s)

    de sal ida o valores de entrada, el nom bre de la func in y Argumento(s)de entrada o valores de sal ida.

    La funcin posee argumentos de entrada, los cuales toma para realizarlos clculos u operaciones necesarias, estos clculos generan unresultado y pueden ser `devueltos' en las variable(s) de salida de lafuncin.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    38/78

    El nom bre de la funcin es la palabra reservada que se utiliza para`invocar' la funcin para que realice las operaciones para las cuales se hacreado. El nombre de la funcin tiene mucho que ver con la operacin que

    esta realiza, con el fin de facilitar la memorizacin (nemotcnica).

    Los argumentos de entrada son los dato(s) que toma la funcin para realizarlos clculos necesarios. En algunas ocasiones es necesario especificarvarios valores de entrada, en este caso, cada uno de los valores de entradase separan por una coma (,).

    Los argumentos de salida son resultados que la funcin entrega. En estecaso se define el nombre(s) de la(s) variable(s) en el cual(es) se van aguardar los datos de salida o respuestas de la funcin. Cuando solo hay unargumento de salida, no es necesario encerrar la respuesta en corchetes

    cuadrados, pero cuando la funcin `devuelve' varios valores, es necesarioencerrarlos en los corchetes y separar el nombre de las variables por comas(,).

  • 8/11/2019 Temas curso - Matlab basico .pdf

    39/78

    Crear una nueva funcion Sintaxis general de una funcin en matlab

    function[ args_salida ] = myfuncion( args_entrada )

    %Myfuncion El resumen de la funcin va aqu% La Explicacion detallada va aqu

    end

    Argumentos de salida Nombre de la funcinArgumentos deentrada

    Aqu van lasInstruccionesque ejecutarala funcincuando se leinvoque.

    Sintaxis de una funcin con dos argumentos de entrada y dos de salida.

    function[Vsal1,Vasl2] = Myfuncion(Ventr1,Ventr2)% Comentarios% Despus de los comentarios van las Instruccionesend

  • 8/11/2019 Temas curso - Matlab basico .pdf

    40/78

    Sintaxis de una funcin con dos argumentos de entrada y uno de salida.

    functionVsal1= Myfuncion (Ventr1,Ventr2)% Comentarios% Despus de los comentarios van las Instruccionesend

    Invocar o llamar a una funcin:

    NombreFuncion(arg_ent1, arg_ent1)

    Para llamar o invocar una funcin, para que realicesu tarea, escribimos el nombre de la funcin, y entreparntesis indicamos el o los argumento(s) de entrada,cuando es mas de uno se separan por una coma.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    41/78

    Funciones predefinidas en MatlabFunciones que operan sobre escalares

  • 8/11/2019 Temas curso - Matlab basico .pdf

    42/78

    Funciones que operan sobre vectores

  • 8/11/2019 Temas curso - Matlab basico .pdf

    43/78

    Funciones que construyen matrices

  • 8/11/2019 Temas curso - Matlab basico .pdf

    44/78

    Funciones de exploracin

  • 8/11/2019 Temas curso - Matlab basico .pdf

    45/78

    Funciones sobre cadenas de caracteres

  • 8/11/2019 Temas curso - Matlab basico .pdf

    46/78

    15. MATEMATICA SIMBOLICA Uno de los ToolBox incluidos por MATLAB, es el Symbolic ToolBox (ToolBox

    de Matematica Simbolica), y aade a MATLAB la capacidad de realizarclculos simblicos.

    Lo primero que se debe hacer para manipular expresiones simblicas, es

    definir las variables que esta posea, por medio del comando 'syms' seguidopor las variables separadas por espacios:

    >> syms a x % Definicin de las variables (ay x)como simblicas

    y despus se pueden definir las operaciones simblicas:

    >> f = a*cos(x)^2 + a*sin(x)^2

  • 8/11/2019 Temas curso - Matlab basico .pdf

    47/78

    >> diff(f) % Derivada de la funcion respecto a (x) (por defecto)

    >> diff(f,a) % Derivada de la funcion respecto a (a)

    >> int(f) % Integral de la funcion f >> int(f,0,1) % Integral de la funcion f (evaluada entre 0 y 1)

    >> simplify(f) % Simplifica la funcion

    Una vez definidas podemos realizar con ellas las operaciones habituales:

    calcular su valor en un punto, derivarlas, integrarlas, etc. Si en una expresin simblica queremos sustituir una variable por otra o por

    una constante para calcular su valor en un punto, utilizamos el comandosubs:

    subs(f, antiguas, nuevas)

    Sustituye las variables antiguas por las nuevas. Si hay ms de una variablelas escribiremos entre llaves y separada por comas.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    48/78

    En resumen:

  • 8/11/2019 Temas curso - Matlab basico .pdf

    49/78

    16. GRAFICACION Las funciones graficas se pueden agrupar en tres categoras: administracinde figuras, generacin de curvas y superficies y anotaciones y caractersticas

    graficas.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    50/78

    Graficacin en 2D

  • 8/11/2019 Temas curso - Matlab basico .pdf

    51/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    52/78

    Graficacin en 3D

  • 8/11/2019 Temas curso - Matlab basico .pdf

    53/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    54/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    55/78

    Al utilizar las funciones para graficar, matlab crea una figura o venta paramostrar los grficos (ventana grafica). Por ejemplo:

    Algunas funciones que trabajan sobre ventanas graficas se muestranacontinuacion.

    Nombre (por defecto) y numero de figura

    Ventana creada por matlab para contener grficos

  • 8/11/2019 Temas curso - Matlab basico .pdf

    56/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    57/78

    Indica la posicinIndica numerode filas Indica numero

    de columnas

    Por ejemplo:

    >> subplot(1,3,1)

    Divide la ventana grafica en una matriz de subventanasde1 fila y 3 columnas, e indica que se graficara en la

    primera subventana,es decir indicamos la subventanaque se mantendr activa (en este caso la primera).

    Permite dividir la ventana grfica en una matrizde sub-ventanas grficas de tamao ixj,activando para dibujar la k-sima de ellas.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    58/78

    >> subplot(1,3,2)

    Indicamos que la segunda subventana se mantendractiva para graficar

    Subventanaactiva

  • 8/11/2019 Temas curso - Matlab basico .pdf

    59/78

    >> subplot(1,3,2)

    Indicamos que la tercera subventana se mantendractiva para graficar.

    Subventanaactiva

  • 8/11/2019 Temas curso - Matlab basico .pdf

    60/78

    Para graficar en cada una de las subventanas se hara losiguiente:

  • 8/11/2019 Temas curso - Matlab basico .pdf

    61/78

    17. INTERFAZ GRAFICA DE USUARIO

    Una interfaz grfica de usuario, GUI(del ingls graphical user interface), esun sistema interactivo que posibilita, a travs del uso y la representacin dellenguaje visual, una interaccin amigable con un sistema informtico.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    62/78

    LaUsabilidad, esta disciplina tiende a trabajar en el contexto del Diseo dela Interaccin, definiendo los aspectos tcnicos de uso de la aplicacin yevaluando las consideraciones y principios estndar de uso de un sistemainteractivo. En cambio, la Comunicabilidad se acerca al campo dedesarrollo del Diseo de la Informacin, rea disciplinar que se centra entrabajar en la forma de articular el texto y la informacin con la imagen.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    63/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    64/78

    GUIDE de matlab GUIDE (Graphical User Interface Development Environment).

    El Entorno de Desarrollo de Interfaz Grafica de Usuario, provee un conjuntode herramientas para el diseo de Interfaces graficas de usuario.

    Abrir GUIDE ( Hay 3 Maneras) :

  • 8/11/2019 Temas curso - Matlab basico .pdf

    65/78

    Menu File-> New -> GUI

  • 8/11/2019 Temas curso - Matlab basico .pdf

    66/78

    Creamos una GUI en blanco:

  • 8/11/2019 Temas curso - Matlab basico .pdf

    67/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    68/78

    Herramientas

    Alinearobjetos

    Editor deMens

    Editor deorden

    Barra deHerramientas

    Editor de

    Archivo MInspector depropiedades

    Guardar cambios

    Y correr GUI

    ExaminadorDe objetos

  • 8/11/2019 Temas curso - Matlab basico .pdf

    69/78

    Controles (objetos)

    Identidad

    Propiedades

    Un Cdigo que lo define

    Accin a la que responden (evento)

    Ca

    ractersticas

  • 8/11/2019 Temas curso - Matlab basico .pdf

    70/78

    Controles

  • 8/11/2019 Temas curso - Matlab basico .pdf

    71/78

  • 8/11/2019 Temas curso - Matlab basico .pdf

    72/78

    Propiedades comunes en los controles

    String : Para los check boxes, editable text, push buttons, radio buttons,static text, and toggle buttons, el texto que se muestra en el objeto. Para loslist boxes y pop-up men, el conjunto de elementos o artculos del objeto.

    Tag : Etiqueta del objeto especificada por el usuario. La propiedad tag

    proporciona una manera de identificar objetos grficos con una etiquetaespecificada por el usuario y nos sirve para hacer referencia a un controldentro del cdigo de matlab.

    FontSize: Tamao de la fuente. Un numero que especifica el tamao de lafuente que va a ser mostrado en la cadena, en unidades determinadas por la

    propiedad FontUnits.

    Enable: Activa o desactiva el control. Esta propiedad controla como loscontroles responden a un click del mouse, se puede usar para activar odesactivar un control.

  • 8/11/2019 Temas curso - Matlab basico .pdf

    73/78

    Enable: Activa o desactiva el control. Esta propiedad controla como loscontroles responden a un click del mouse, se puede usar para activar odesactivar un control.

    ForegroundColor: Color de texto. Esta propiedad determina el color de eltexto definido por la propiedad String. Especifica un color usando un vectorde tres elementos RGB o un nombre predefinido en Matlab.

    Value Valor actual de el control. Difiere para cada control:

    Check boxes - ponen su propiedad Value (valor) en Max (el mximo) cuando estnseleccionados y en Min (el mnimo) cuando no estn seleccionados.

    Lis t boxes - ajustan su valor a un vector correspondiente a los elementos de la lista

    .

  • 8/11/2019 Temas curso - Matlab basico .pdf

    74/78

    Pop-up men - ajustan su valor a un ndice de artculos seleccionados , donde 1

    corresponde al primer elemento del men.

    Radio buttons - ponen su propiedad Value (valor) en Max (el mximo) cuandoestn seleccionados y en Min (el mnimo) cuando no estn seleccionados.

    Sliders- ajustan su valor al numero indicado por la posicin de el slider(deslizador)

    Togg le button s - ponen su propiedad Value en Max cuando estan presionados

    (seleccionados) y en Min cuando no estn seleccionados.

    - Editable text, Frames, Push bu tton s, y Stat ic text no u san esta prop iedad

    Obt difi l l d

  • 8/11/2019 Temas curso - Matlab basico .pdf

    75/78

    Obtener y modificar el valor de unapropiedad

    Obtener el valor de una propiedad:

    Modificar el valor de una propiedad:

    utpl= get(handles.text1,'String'');

    set(handles.text1,'String',Un string')

    Asignamos el Valorledo a una variable

    Propiedada obtener

    Propiedada modificar

    Valor que tomara la propiedad, el valorpuede provenir de una variable.

    Manejar el objetotext1

    Manejar el objetotext1

  • 8/11/2019 Temas curso - Matlab basico .pdf

    76/78

    Componentes de GUI Una aplicacin GUIDE consta de dos archivos: .my .fig. El archivo .m es elque contiene el cdigo correspondiente al comportamiento de los controles

    de la interfaz y el archivo .fig contiene el cdigo referente a la descripcin delos elementos grficos.

    Descripcin de la GUI Cdigo referente a la representacin

    grafica de los controles

    Cdigo referente al comportamientode los controles y al control de la GUI

    Archivo .mArchivo .fig

  • 8/11/2019 Temas curso - Matlab basico .pdf

    77/78

    Programacin de los controles

    Cuando interactuamos con un control, este puede desencadenar una accino un conjunto de acciones . Por ejemplo cuando hacemos clic sobre un botneste podra mostrarnos un mensaje de bienvenida.

    Las acciones que se pueden asociar a un control se agrupan en funciones.

    1Clic derecho enel control

    2

    3

    Archivo .m

    Funcin callback asociadaal botn graficar

  • 8/11/2019 Temas curso - Matlab basico .pdf

    78/78

    Cada control tiene una funcin cal lback, la cual se ejecuta cuando serealiza un evento sobre el control.

    Por ejemplo para el Push but ton, se ejecutara su funcion callbackcuandorealicemos un clic sobre el; Para un check box se ejecutara su funcincallback asociada cuando lo activamos o desactivamos.

    Hacemos clic en el botn Graficar Matlab ejecuta o invoca la funcinCallback asociada al controlen caso de que ya este definida.1 2

    Aqu van lasInstrucciones queejecutara la funcincuando se le