Está en la página 1de 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

User classes

int8, uint8, int16,


uint16, int32,
uint32, int64,
uint64

single

double

Java
classes

function
handle

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 una matriz,
tiene 2 dimensiones
(Bidimensional)

Aspecto de un vector columna


(unidimensional)

Aspecto de un escalar

Creacin de matrices y vectores

El operador dos puntos (:)


inicio : salto : fin
El operador dos puntos tambin sirve crear vectores.

Paso entre
Elementos
(incremento/decremento)

Algunas funciones para creacin de vectores:


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.

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
Selecciona el
primer elemento

Vector de filas Vector de columnas

Selecciona
toda la fila

Fila 2 Columnas 2,3 y 4

Selecciona
la ultima
columna

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.

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


A(1,2) = {Tania Arrieta'};
Si se usan llaves, entonces los valores se dan tal cual.

A{1,1} = [1 4 3; 0 5 8; 7 2 9];
A{1,2} = Tania Arrieta ';
Otra forma de crear un cell array:

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:

Espera que se ingrese un


dato numrico o un vector
Edad=input(Ingrese su edad: ');
de nmeros
Nombre=input('Ingrese su nombre:' , 's');
Espera una
Cadena (string)
Salida:
Lleva el especificador
de formato
disp('Bienvenido a matlab');
Puede utilizarse para mostrar
Una cadena

Puede utilizarse para


mostrar el contenido
de una variable
(escalar,vector,matriz),etc.

Especificadores de formato
(indican el tipo de dato que se mostrara)

Argumento(s) a mostrar

/n para salto de lnea


/t para hacer espaciamientos
/r retorno de carro

Para mas informacin teclear: doc fprintf

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.
2.
3.

4.
5.
6.
7.

Evitar cdigo que se repite


Limitar el efecto de cambios, para secciones especificas de un
programa.
Promover la reutilizacin de partes del programa en otros.
Aislar operaciones complejas.
Aumentar la portabilidad.
Hacer ms fcil el desarrollo y aislar los errores.
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
Argumentos de salida

Nombre de la funcin

Argumentos de
entrada

function [ args_salida ] = myfuncion( args_entrada )


%Myfuncion El resumen de la funcin va aqu
Aqu van las
%
La Explicacion detallada va aqu
Instrucciones
que ejecutara
la
funcin
cuando se le end
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:


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.

NombreFuncion(arg_ent1, arg_ent1)

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:


Nombre (por defecto) y numero de figura

Ventana creada por matlab para contener grficos

Algunas funciones que trabajan sobre ventanas graficas se muestran

acontinuacion.

Permite dividir la ventana grfica en una matriz


de sub-ventanas grficas de tamao ixj,
activando para dibujar la k-sima de ellas.
Indica numero
de filas

Indica numero
de columnas

Por ejemplo:

>> subplot(1,3,1)

Indica la posicin

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

Indicamos que la segunda subventana se mantendr


activa para graficar

>> subplot(1,3,2)

Subventana
activa

Indicamos que la tercera subventana se mantendr


activa para graficar.

>> subplot(1,3,2)

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.

Objetivos de una interfaz


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.

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
Barra de herramientas

Paleta de
componentes

rea de diseo

Herramientas
Alinear Editor de
objetos Mens

Editor de
orden

Editor de
Archivo M

Barra de
Herramientas

Inspector de
propiedades

Examinador
De objetos

Guardar cambios
Y correr GUI

Controles (objetos)

Caractersticas

Identidad
Propiedades

Un Cdigo que lo define


Accin a la que responden (evento)

Controles

Inspector de propiedades
2

Nombre del
objeto seleccionado

Nombre
de las
Propiedades
o atributos

Valores
de las
Propiedades

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:

utpl= get(handles.text1,'String'');
Asignamos el Valor
ledo a una variable

Manejar el objeto
text1

Propiedad
a obtener

Modificar el valor de una propiedad:

set(handles.text1,'String', Un string')
Manejar el objeto
text1

Propiedad
a modificar

Valor que tomara la propiedad, el valor


puede provenir de una variable.

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.

Archivo .fig

Descripcin de la GUI
Cdigo referente a la representacin
grafica de los controles

Archivo .m

Cdigo referente al comportamiento


de los controles y al control de la GUI

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.

Clic derecho en
el control

Funcin callback asociada


al botn graficar

3
2

Archivo .m

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

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

Matlab ejecuta o invoca la funcin


Callback asociada al control
en caso de que ya este definida.

También podría gustarte