Vous êtes sur la page 1sur 78

CURSO BASICO

DE MATLAB
CABRERA ROMAN ALEJANDRO
FERNANDEZ PAXTIAN MARCELO
1. INTRODUCCION
MATLAB es un lenguaje de programacin interactivo para calculo
numrico, visualizacin y programacin.

MATLAB MATrix LABoratory (Laboratorio de matrices )


Principales aplicaciones:
Anlisis de datos
Desarrollo de algoritmos
Crear modelos y aplicaciones
2. ENTORNO

DESKTOP (ESCRITORIO)
Command Window (Ventana de comandos)
Se utiliza para ingresar las variables, ejecutar las funciones y los archivos
m con los cuales trabaja matlab.
En ella se escriben los comandos de MATLAB. Las instrucciones se
escriben despus del prompt (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 y
ejecutar declaraciones previamente realizadas, como copiar y ejecutar
declaraciones 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.



Current Directory (Directorio actual)
Los archivos con los cuales opera MATLAB utilizan el Current Directory y
el Search Path. Cualquier archivo que se ejecute debe estar en el current
directory 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 MATLAB
que son almacenados en la memoria, el worksapace muestra las variables
creadas, 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 y
editar el contenido de las variables.



3. FAMILIARIZACION CON EL
ENTORNO
4. ALGUNOS COMANDOS TILES
clc: para limpiar la 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 slo
borra la variable var1)






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 presionando
las teclas :
Control + c (til cuando matlab no responde)
5. VARIABLES Y CONSTANTES
Constante: Es el nombre que se le da a un campo cuyo contenido no
cambia 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 el
contenido son las partes de una variable.
Constantes en matlab
6. TIPOS DE DATOS EN MATLAB
ARRAY
[Full or sparse]
logical char NUMERIC Cell
Array
structure function
handle
User classes
Java
classes
int8, uint8, int16,
uint16, int32,
uint32, int64,
uint64
single double
Tipos elementales de datos en matlab
Tipos de datos agregados en matlab
(cell arrays)
7. ARREGLOS
1. 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

Aspecto de un vector fila, tiene una
Sola dimensin (unidimensional)
Aspecto de un vector columna
(unidimensional)

Aspecto de una matriz,
tiene 2 dimensiones
(Bidimensional)
Aspecto de un escalar
Creacin de matrices y vectores
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 entre
Elementos
(incremento/decremento)
El operador dos puntos tambin sirve crear vectores.
Ingresar un arreglo










Las columnas se separan por espacios o comas, y las
filas por punto y coma o una nueva lnea.
Acceso a elementos
Fila 2 Columnas 2,3 y 4
Vector de filas Vector de columnas
Selecciona
toda la fila
Selecciona
la ultima
columna
Selecciona el
primer elemento
Manera de acceder a elementos
de un vector
8. ARREGLOS DE CELDAS (CELL
ARRAYS)

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:
Creacin y acceso a cell arrays

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

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 ';
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 se
puede hacer de dos formas:

A(1,2) regresa el tipo de dato que es y el tamao, pero no me muestra el
contenido en si.
A{1,2} me muestra el contenido del elemento (1,2) del cell array, se
recomienda esta forma.

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 (8
bytes).

10. OPERADORES
11. OPERACIONES CON MATRICES Y
ESCALARES
Algunas funciones para operaciones con
vectores
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 de
flujo.
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 especificador
de formato
Espera que se ingrese un
dato numrico o un vector
de nmeros
Espera una
Cadena (string)
Puede utilizarse para mostrar
Una cadena
Puede utilizarse para
mostrar el contenido
de una variable
(escalar,vector,matriz),etc.
/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
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 a
otra unidad de longitud (mm,cm,pies y pulgadas),utilice la estructura de
control mas adecuada para no realizar comparaciones innecesarias.
14. FUNCIONES
Las funciones son mdulos o partes en que se divide un programa, permiten
que este sea mas fcil de entender, ubicar rpidamente errores, evitar
redundancia en el cdigo, en fin, da facilidad al programador.

Hay muchas razones para crear una funcin adems de las funciones que
incluye MATLAB:

1. Evitar cdigo que se repite
2. Limitar el efecto de cambios, para secciones especificas de un
programa.
3. Promover la reutilizacin de partes del programa en otros.
4. Aislar operaciones complejas.
5. Aumentar la portabilidad.
6. Hacer ms fcil el desarrollo y aislar los errores.
7. Aumentar el desempeo, por que cada funcin puede ser optimizada.
Las funciones en matlab poseen tres elementos principales: Argumento(s)
de salida o valores de entrada, el nombre de la funcin y Argumento(s)
de entrada o valores de salida.
La funcin posee argumentos de entrada, los cuales toma para realizar
los clculos u operaciones necesarias, estos clculos generan un
resultado y pueden ser `devueltos' en las variable(s) de salida de la
funcin.

El nombre de la funcin es la palabra reservada que se utiliza para
`invocar' la funcin para que realice las operaciones para las cuales se ha
creado. 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 realizar
los clculos necesarios. En algunas ocasiones es necesario especificar
varios valores de entrada, en este caso, cada uno de los valores de entrada
se separan por una coma (,).

Los argumentos de salida son resultados que la funcin entrega. En este
caso se define el nombre(s) de la(s) variable(s) en el cual(es) se van a
guardar los datos de salida o respuestas de la funcin. Cuando solo hay un
argumento de salida, no es necesario encerrar la respuesta en corchetes
cuadrados, pero cuando la funcin `devuelve' varios valores, es necesario
encerrarlos en los corchetes y separar el nombre de las variables por comas
(,).
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 funcin
Argumentos de
entrada
Aqu van las
Instrucciones
que ejecutara
la funcin
cuando se le
invoque.
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 Instrucciones
end
Sintaxis de una funcin con dos argumentos de entrada y uno de salida.
function Vsal1= Myfuncion (Ventr1,Ventr2)
% Comentarios
% Despus de los comentarios van las Instrucciones
end
Invocar o llamar a una funcin:
NombreFuncion(arg_ent1, arg_ent1)
Para llamar o invocar una funcin, para que realice
su tarea, escribimos el nombre de la funcin, y entre
parntesis indicamos el o los argumento(s) de entrada,
cuando es mas de uno se separan por una coma.


Funciones predefinidas en Matlab
Funciones que operan sobre escalares
Funciones que operan sobre vectores
Funciones que construyen matrices
Funciones de exploracin
Funciones sobre cadenas de caracteres
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 realizar
clculos simblicos.

Lo primero que se debe hacer para manipular expresiones simblicas, es
definir las variables que esta posea, por medio del comando 'syms' seguido
por las variables separadas por espacios:

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


y despus se pueden definir las operaciones simblicas:

>> f = a*cos(x)^2 + a*sin(x)^2
>> 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 comando
subs:

subs(f, antiguas, nuevas)

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

En resumen:

16. GRAFICACION
Las funciones graficas se pueden agrupar en tres categoras: administracin
de figuras, generacin de curvas y superficies y anotaciones y caractersticas
graficas.
Graficacin en 2D
Graficacin en 3D
Al utilizar las funciones para graficar, matlab crea una figura o venta para
mostrar los grficos (ventana grafica). Por ejemplo:















Algunas funciones que trabajan sobre ventanas graficas se muestran
acontinuacion.
Nombre (por defecto) y numero de figura
Ventana creada por matlab para contener grficos
Indica la posicin
Indica numero
de filas
Indica numero
de columnas
Por ejemplo:
>> subplot(1,3,1)
Divide la ventana grafica en una matriz de subventanas
de1 fila y 3 columnas, e indica que se graficara en la
primera subventana,es decir indicamos la subventana
que se mantendr activa (en este caso la primera).
Permite dividir la ventana grfica en una matriz
de sub-ventanas grficas de tamao ixj,
activando para dibujar la k-sima de ellas.
>> subplot(1,3,2)
Indicamos que la segunda subventana se mantendr
activa para graficar
Subventana
activa
>> subplot(1,3,2)
Indicamos que la tercera subventana se mantendr
activa para graficar.
Subventana
activa
Para graficar en cada una de las subventanas se hara lo
siguiente:
17. INTERFAZ GRAFICA DE USUARIO
Una interfaz grfica de usuario, GUI (del ingls graphical user interface), es
un sistema interactivo que posibilita, a travs del uso y la representacin del
lenguaje visual, una interaccin amigable con un sistema informtico.

La Usabilidad, esta disciplina tiende a trabajar en el contexto del Diseo de
la Interaccin, definiendo los aspectos tcnicos de uso de la aplicacin y
evaluando las consideraciones y principios estndar de uso de un sistema
interactivo. En cambio, la Comunicabilidad se acerca al campo de
desarrollo del Diseo de la Informacin, rea disciplinar que se centra en
trabajar en la forma de articular el texto y la informacin con la imagen.
Facilitar la interaccin usuario computadora.

Comunicar de manera clara y concisa las funciones de uso del sistema.

Proporcionar un entorno visual sencillo para permitir la comunicacin con el
sistema operativo de una mquina o computador.

Una interfaz requiere de atencin, y cuando interactuamos esperamos que el
sistema nos gue en el cumplimiento de nuestros objetivos.

Para trabajar en la construccin de una interfaz debemos tener claramente
identificados los objetivos funcionales e interactivos del sistema. Son estos
objetivos los que permitirn establecer los antecedentes claves de la relacin
sincrnica de tres subsistemas: Usuario, Contenido, Contexto.
Objetivos de una interfaz
GUIDE de matlab
GUIDE (Graphical User Interface Development Environment).

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



Abrir GUIDE ( Hay 3 Maneras) :


Menu File-> New -> GUI






Creamos una GUI en blanco:
El Editor de Diseo
Paleta de
componentes
rea de diseo
Barra de herramientas
Herramientas
Alinear
objetos
Editor de
Mens
Editor de
orden
Barra de
Herramientas
Editor de
Archivo M
Inspector de
propiedades
Guardar cambios
Y correr GUI
Examinador
De objetos
Controles (objetos)

Identidad
Propiedades
Un Cdigo que lo define
Accin a la que responden (evento)
C
a
r
a
c
t
e
r

s
t
i
c
a
s

Controles
Inspector de propiedades
Nombre del
objeto seleccionado


Nombre
de las
Propiedades
o atributos
Valores
de las
Propiedades
1
2
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 los
list 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 etiqueta
especificada por el usuario y nos sirve para hacer referencia a un control
dentro del cdigo de matlab.

FontSize: Tamao de la fuente. Un numero que especifica el tamao de la
fuente 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 los
controles responden a un click del mouse, se puede usar para activar o
desactivar un control.

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

ForegroundColor: Color de texto. Esta propiedad determina el color de el
texto definido por la propiedad String. Especifica un color usando un vector
de 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 estn
seleccionados y en Min (el mnimo) cuando no estn seleccionados.

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

.

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) cuando
estn seleccionados y en Min (el mnimo) cuando no estn seleccionados.

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

Toggle buttons - ponen su propiedad Value en Max cuando estan presionados
(seleccionados) y en Min cuando no estn seleccionados.


- Editable text, Frames, Push buttons, y Static text no usan esta propiedad
Obtener y modificar el valor de una
propiedad

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 Valor
ledo a una variable
Propiedad
a obtener
Propiedad
a modificar
Valor que tomara la propiedad, el valor
puede provenir de una variable.
Manejar el objeto
text1
Manejar el objeto
text1
Componentes de GUI
Una aplicacin GUIDE consta de dos archivos: .m y .fig. El archivo .m es el
que contiene el cdigo correspondiente al comportamiento de los controles
de la interfaz y el archivo .fig contiene el cdigo referente a la descripcin de
los elementos grficos.
Descripcin de la GUI
Cdigo referente a la representacin
grafica de los controles
Cdigo referente al comportamiento
de los controles y al control de la GUI
Archivo .m Archivo .fig
Programacin de los controles
Cuando interactuamos con un control, este puede desencadenar una accin
o un conjunto de acciones . Por ejemplo cuando hacemos clic sobre un botn
este podra mostrarnos un mensaje de bienvenida.
Las acciones que se pueden asociar a un control se agrupan en funciones.

1
Clic derecho en
el control
2
3
Archivo .m
Funcin callback asociada
al botn graficar
Cada control tiene una funcin callback, la cual se ejecuta cuando se
realiza un evento sobre el control.

Por ejemplo para el Push button, se ejecutara su funcion callback cuando
realicemos un clic sobre el; Para un check box se ejecutara su funcin
callback asociada cuando lo activamos o desactivamos.


Hacemos clic en el botn Graficar
Matlab ejecuta o invoca la funcin
Callback asociada al control
en caso de que ya este definida.

1
2
Aqu van las
Instrucciones que
ejecutara la funcin
cuando se le
invoque.