Post on 03-Jun-2018
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