You are on page 1of 77

Introduccin a MATLAB

para Ingenieros
Ing. Jaime Escobar Aguirre
MATLAB
Introduccion
Que es MATLAB
Lenguaje de Programacin.
Alto Rendimiento.
Computacin Tcnica.
Computacin, Visualizacin y Programacin.
Problemas y soluciones en notacin Matemtica (de
Matrices).
Aplicaciones?
Matemticas y Computacin.
Desarrollo y Test de algoritmos.
Modelado, Simulacin y Prototipos.
Anlisis de Datos, exploracin y visualizacin.
Grficas de Ingeniera y Cientficas.
Desarrollo de Aplicaciones finales (GUI)
Aplicaciones?
MATLAB?
Matrix Laboratory (Laboratorio de Matrices).
Elemento bsico: [Matriz] (en adelante Arreglo) que no
requiere dimensin.
Problemas que involucran matrices y vectores son
consumidores de tiempo (C, C++, Fortran, etc.)
Entorno de Trabajo
Abra MATLAB.
Identifique:
Ventana de Comandos.
Historial de Comandos.
Directorio Actual.
Espacio de Trabajo.
Barra de Mens.
MATLAB como Calculadora
Desde la ventana de comandos ingrese:
>> 2 + 3/4*5
Verifique la respuesta de MATLAB.
Verifique el workspace.
Nmeros
Por defecto se usa la notacin decimal convencional.
La letra e se usa para definir notacin cientfica (x10).
Los nmeros imaginarios se definen usando las letras i y
j.
Nmeros
Los nmeros tienen una precisin de 16 dgitos significativos
decimales y un rango entre 10-308 y 10+308 .
Todas las operaciones en MATLAB se realizan en precisin
doble.
El formato es la manera en como se muestran los valores
Formato
Usando el comando format:
Variables
La variable ANS es bsica en MATLAB.
Ejecute:
>> 3-2^4
Verifique el resultado almacenado en ANS.
Ejecute:
>> ans*5
Verifique el uso de variables y resultado.
Variables
Las variables no requieren de una declaracin de tipo o
tamao.
>>num_estudiantes = 25
MATLAB crea el espacio necesario y asocia el tipo
adecuado para definir esa variable, si es que no la encuentra
en el Workspace.
Variables
Las variables tienen un limite de tamao de nombre de 31
caracteres.
Deben empezar con una letra SIEMPRE.
NO deben contener caracteres especiales, salvo el
underscore _
Las letras i y j
i y j estan reservadas para definir numeros complejos.
>>i
>>i=20
>>i
Verifique el comportamiento de i
Otras palabras reservadas
pi 3.14159265...
i unidad imaginaria
realmin el nmero ms pequeo, 2-1022
realmax el nmero ms grande, 21023
Inf infinito
Comandos de manejo de Sesin
clc
clear
clear var1, var2
exist(nombre)
quit
who
whos
2. Espacio de Trabajo
2.1 Matlab Desktop (Escritorio de Matlab)
2. Espacio de Trabajo
(continuacin)

(docked)
2. Espacio de Trabajo
(continuacin)
2.2 Command Window (Ventana de Comandos)

prompt (aviso), indica que el programa est


preparado para recibir instrucciones

Es la ventana ms importante, donde se ejecutan


las instrucciones de Matlab y se visualizan los
resultados.
2. Espacio de Trabajo
(continuacin)
2.2 Command Window
(Ejemplo)

Cuando se pone ; no sale el resultado


2. Espacio de Trabajo
(continuacin)
2.2 Command Window
(Ejemplo)

Cuando se pone , s sale el resultado.


Cuando no se pone nada al final, tambin
sale el resultado.
2. Espacio de Trabajo
(continuacin)
2.2 Command Window
(Ejemplo)

(Con las flechas del teclado se


recuperan o visualizan los
comandos anteriores)
2. Espacio de Trabajo
(continuacin)
2.2 Command Window
(Ejemplo)

Con las flechas del teclado se pueden


mover a la izquierda y derecha,
tambin ayudan a suprimir comandos.

Con la tecla Escape se borra toda la


lnea.

La ltima lnea es la lnea activa.


2. Espacio de Trabajo
(continuacin)
2.3 Command History

En esta ventana se guardan los


comandos ejecutados en la ventana
principal, incluso los de fechas
anteriores.

Sombreando con el mouse y dndole


doble click, se ejecuta uno o varios
comandos. Con la tecla shift se
seleccionan varios comandos.

Tambin se ejecuta sombreando, click


(indica error) derecho y click en Evaluate Selection
F9 o con F9 directo.

Tambin se ejecuta sombreando y


presionando Enter.
2. Espacio de Trabajo
(continuacin)
2.3 Command History

Se puede arrastrar con el mouse un comando hacia la Ventana principal (Command


Window), ah se puede editar y ejecutar.
2. Espacio de Trabajo
(continuacin)
2.3 Command History
Para borrar el historial, con click en la parte
superior derecha y click en Clear
Command History.
2. Espacio de Trabajo
(continuacin)
2.4 Workspace

Con click derecho del


mouse sobre la parte
superior, aparecen las
otras columnas de la
ventana.

En esta ventana aparecen las variables con sus resultados.

Se puede reasignar un nombre a la variable, sombreando con el mouse y renombrando o


con click derecho y Rename.
2. Espacio de Trabajo
(continuacin)
2.5 Array Editor
Al hacer doble click con el mouse
sobre una variable de la ventana
Workspace, se abre la ventana de
edicin tipo Excel.

Se pueden ver y modificar los


valores, tambin agregar valores,
es decir se aumentan filas y
columnas, se convierten en
matrices.
2. Espacio de Trabajo
(continuacin)
2.6 Current Folder (Directorio Actual)
(directorio
actual)

Permite explorar los archivos y carpetas.


2. Espacio de Trabajo
(continuacin)
Permite usar el Script para ejecutar comandos.

Ejemplo: Previamente creamos una carpeta con nombre (Ejemplos Matlab). Luego click en New
Script y se escriben los comandos en la ventana.

Tambin:
Ctrl + N
2. Espacio de Trabajo
(continuacin)
Uso del Script:
Luego se guarda el archivo en la carpeta previamente creada.

El archivo se guarda como fichero .m


Se cierra la ventana.
2. Espacio de Trabajo
(continuacin)
A continuacin se busca la carpeta con el explorador del Matlab en la ventana Currente
Folder:
2. Espacio de Trabajo
(continuacin)
Una vez que est ubicada la carpeta dentro de la ventana de Current Folder, se sombrea
dicha carpeta y con click derecho se busca Add to Path para enlazar con la ventana
Command Window.
2. Espacio de Trabajo
(continuacin)
Finalmente se escribe en la ventana Command Window el nombre exacto del archivo y
automticamente se ejecutan los comandos de dicho archivo.
2. Espacio de Trabajo
(continuacin)
Otra forma de enlazar la carpeta con la venta Command Window es con Set Path.
Con Set Path tambin se establece la prioridad de bsqueda de los archivos (Search Path)

Se ha creado
previamente una carpeta
EJEMPLOS2 MATLAB y
un archivo Ejemplo2
Permite
mover la guardado en la carpeta.
posicin de
los archivos Pueden haber dos
funciones con el mismo
nombre, prioriza el de
arriba.
2. Espacio de Trabajo
(continuacin)
2.7 Editor / Debugger (Depurador)

Creamos un archivo denominado Ejemplo3 y lo guardamos en


la carpeta Ejemplos Matlab.
2. Espacio de Trabajo
(continuacin)
El Editor se ejecuta con Run (F5) y automticamente aparece el resultado en la ventana
Command Window.
2. Espacio de Trabajo
(continuacin)
Con el Debugger (depurador) se puede ejecutar paso a paso, utilizando break point, que son
puntos ubicados en el margen izquierdo de la ventana.
Visualizamos la pantalla de Edicin conjuntamente con la ventana Command Window y
Workspace (previamente se limpia la ventana Workspace con Clear).

Al pulsar Run (F5) se va ejecutando el programa hasta la lnea anterior al punto rojo. Con
continue sigue ejecutndose hasta la lnea anterior al otro punto rojo y as sucesivamente.
2. Espacio de Trabajo
(continuacin)
2.8 Help (Ayuda)
2. Espacio de Trabajo
(continuacin)
2.9 Profiler (Perfiles)
Es un utilitario que permite conocer el tiempo empleado para ejecutar un programa.

Se escribe el nombre del archivo y se


presiona enter.
MATLAB
Estructuras de Control
Estructuras de Control
Se basan en evaluar una expresin si es verdadera o falsa
(1/0).
Estas expresiones son resultados de operaciones con:
<(menor que), >(mayor que), == (igual a), <= (menor o igual
que), >= (mayor o igual que) y ~= (distinto a).
Seleccin: IF
Evala una condicin lgica y si dicha expresin evala un
resultado POSITIVO (1) entonces selecciona ejecutar un
grupo de instrucciones, sino evala otro grupo.
Seleccin: IF
if expr1
comandos_matlab
elseif expr2
otro_comandos_matlab
...
else
aun_otros_comandos_matlab
end
Seleccin: IF
t = rand(1)
if t >0.5
disp(valor es mayor que 0.5)
elseif t <0.25
disp(valor es menor que 0.25)
else
disp(valor est entre 0.25 y 0.5)
end
Repeticin: Lazos
El uso de lazos es o debera ser MUY LIMITADO en
MATLAB por el uso del operador :.
Los lazos son grandes consumidores de tiempo.
Tareas de optimizacin regularmente se encargan de evitar
los lazos.
Repeticin: Lazo For
Se recomienda para: Repetir la ejecucin de comandos por
un nmero definido de veces.
for variable = expresin
comandos_matlab
end
expresin debe definir el nmero de veces que se ejecutan
los comandos, variable controla ese numero de repeticiones.
Repeticin: Lazo For
Imprimir el cuadrado de los 5 primeros numeros naturales:
for i=[1, 2, 3, 4, 5]
disp(i^2)
end
Notar que el for anterior tambien pudo ser escrito asi: for
i=1:5
Repeticin: Lazo For
Imprimir el cuadrado de los nmeros decimales de una cifra
decimal de 0 a 1, en forma decreciente, es decir empezando
por 1, 0.9, 0.8, ... 0.1, 0:
for i=1:-0.1:0
disp(i^2)
end
Repeticin: Lazo For
Uso de Matriz para asignar valores
matriz = [ 1 2 3 4; 1 2 3 4; 1 2 3 4; 1 2 3 4]
for x = matriz
x
end
Repeticin: Lazo For
Creacin de subplots usando FOR.
>> x = -1:.05:1;
>> for n = 1:8
>> subplot(4,2,n), plot(x,sin(n*pi*x))
>> end
Repeticin: Lazo While
Se usa regularmente cuando no se conoce en primera
instancia cuantas repeticiones se deben ejecutar.
Las repeticiones dependern de la expresin condicional
que se evala.
MIENTRAS se cumpla sigue la repeticin.
Repeticin: Lazo While
while expresin
comandos_matlab
end
Repeticin: Lazo While
Imprimir el valor de x, mientras este sea positivo,
decrementando cada vez x en 17:
x = 100
while x >0
disp(x)
x = x - 17;
end
VENTANAS DE MATLAB

CURRENT FOLDER(DIRECTORIO RAIZ)


COMMAND WINDOWS(VENTANA DE COMANDOS)
WORKSPACE(ESPACIO DE TRABAJO)
COMMAND HISTORY
CURRENT FOLDER
VENTANA QUE NOS MUESTRA LA UBICACIN
DEL DIRECTORIO ACTUAL, AQU SE
ENCUENTRA EL EJECUTABLE DEL MATLAB
COMMAND WINDOWS
LA PARTE PRINCIPAL DEL MATLAB, PERMITE
CREAR COMANDOS, FUNCIONES Y VARIABLES
PARA LA EJECUCION DEL PROGRAMA
WORKSPACE
ESPACIO DE TRABAJO EN DONDE SE VISUALIZA LAS
VARIABLES QUE CREAMOS.
COMMAND HISTORY
LOS COMANDOS QUE SE CREAN SE ALMACENAN EN
ESTA ZONA DEL MATLAB
EMPEZANDO CON MATLAB

Comandos Importantes
clc (limpiar la ventana de comandos)
clear(limpia las variables declaradas)

X=5 (presionamos enter al finalizar)


Pi
Te responde con ans =3.1416
Y sale en valor en workspace
Como calcular el rea del circulo
rea del Circulo
Declaramos R=7
LUEGO A=pi*R^2
A=153.9380
Que pasa cuando ponemos asi
Pi*R^2 sale 153.9380
Luego probamos ans * R^2
Y obtenemos la respuesta de
Repasando
R=5 Ejemplos con
A=pi*R^2 MATLAB
A=78.5398
Veamos este ejemplo con un vector
R=[ 3 5 7 ] que tipo de vector es ??
Otro Caso
R=[3;5;7]
Saliendo como Respuesta un vector
Columna
Ejemplos con MATLAB
R=[3 5 7] Este smbolo indica que saldr la transpuesta del
vector fila
Usamos clc para limpiar la pantalla
AHORA PROBRAREMOS EL USO DE R
A=pi*R^2
Me sale error ya que no sabe que valor de R coger.
Para hacer que haga esta operacin se debe hacer esta
modificacin
Ejemplos con MATLAB
A=pi*R. ^2
A=
28.2743
78.5398
153.9380
Y R Tambien es un Vector
R , sale vector columna
A=pi*R.^2
A= 28.2743 78.5398 153.9380
A Se convierte en un Vector Fila
Creamos una Matriz de la Sgte Manera
M=[1 2 3;4 5 6; 7 8 9], que pasa cuando presiono enter
Aparece una matriz de tres filas y los primeros elementos
serian las columnas
Reusando Comandos en MATLAB
PRESIONANDO LA TECHA FLECHA ARRIBA. Vamos a
reconocer los comandos anotados (ver Historial de
comandos).
USO EXTENSIVO DE UNA SENTENCIA
Por ejemplo
T=1+2+3+4
+5+6+7+8 cuando Presione enter recin se ejecuta.
Funciones Implementadas en MATLAB

Sqrt(16)
Ans =4
Funciones Trigonometricas
Sin(3.257)
Ans= -0.1152
Cos(pi)
Ans= -1
Funciones en MATLAB
X=[3 4 5]
Tan(x)
Ans = -0.1425 1.1578 -3.3805
Funcion equals
Eq(3,3) sale ans =1(indicando igualdad) , dice si son iguales
Funcion not equals
Ne(3,5) ans =1 dice si son distintos
Funciones de MATLAB
A= input(dime un numero)
dime un numero
5 (este numero es almacenado en A)
Disp(mensaje)
Fprintf(permite mostrar un mensaje e incluir una variable
dentro de ello)
Fprint(el valor de la variable es %f ,A )
Ans
Funciones de MATLAB

M=[1 2 3 ; 4 5 6 ; 7 8 9]

Abs(-5)
Ans = 5
Condicional IF Y
ELSE

HACEMOS CLICK EN EL BOTON EVALUATE CELL , Y CON ELLO SE EJECUTA LA EVALUACION DE LA INSTRUCCIN
IF ELSE MEJORADO
EL NUMERO MAYOR DE UN VECTOR DE DATOS
SIENDO LOS DATOS INDICADOS POR EL USUARIO
MATLAB 7
EJERCICIOS
Ejercicios
E01. Escribir un programa que permita determinar si un nmero entero dado
es par o impar. (Utilizar el operador mod)
E02. Utilizando el operador relacional > (mayor que), escribir un archivo.m que
permita definir si un nmero a es mayor que un nmero b. El programa debe
permitir ingresar los nmeros a y b, e imprimir el resultado a es mayor que b,
o a es menor que b, o a es igual a b.
E03. Escribir un archivo.m que de como resultado el menor de tres
nmeros a, b, c. Utilizando la sentencia de control ifelseifend
E04. Resolver E3 utilizando la sentencia switchcaseotherwiseend

You might also like