TUTORIAL DE MATLAB

Ing. José Canchiña

1

Curso Básico de Matlab

Presentación
Vectores
Matrices
Funciones

de Matrices
Funciones de Vectores
Ciclos o Bucles
Plotteando en Matlab
Archivos Ejecutables
Subrutinas en Matlab
If
Archivos
Tipos de Datos
Generación de Reportes
2

Curso Básico de Matlab

Vectores

Toda línea que comience con: “>>”
Es utilizada para denotar la línea de
comando de Matlab, donde se insertan los
comandos.
Casi todos los comandos básicos de
Matlab giran en torno al uso de vectores.
Un vector se define poniendo una secuencia
de números dentro de corchetes.
>>v=[3
v
=
3

1]
1

3 Curso Básico de Matlab .

Vectores Esto crea un nuevo vector que tiene el nombre “v”  El primer elemento del vector es un 3 y el segundo un 1  Matlab imprime una copia del vector después del enter   Si se desea suprimir el resultado. poner un punto y coma al final de la línea >>v=[3 .

> > 4 Curso Básico de Matlab .1].

 >>v=[3 1 7 -21 5 6] v= 3 1 7 -21 5 6 . se puede definir un vector de cualquier tamaño.Vectores Si se desea ver un vector. escribir el nombre del vector  >> v= v 3 1 De esta forma.

5 Curso Básico de Matlab .

se necesita utilizar la transpuesta de un vector de fila. Si se desea crear un vector en forma de columna.  Una transpuesta se define utilizando un apóstrofe “‘“  >>v=[3 1 7 -21 5 6]' v = 3 1 7 21 .Vectores Note que esto produce un vector en forma de fila.

5 6 6 Curso Básico de Matlab .

Vectores  Crear un vector con una secuencia de números con un incremento común se utiliza el operador dos puntos “ : “ >>v=[1:8] v = 1 2 3 4 5 6 7 8 Para utilizar un incremento distinto a uno. el valor del incremento y el último número.  . definir se debe definir el número de inicio.

7 Curso Básico de Matlab .

0000 2. Se ha creado la nueva variable “ans” Siempre que se lleva a cabo una acción que no incluye una asignación.Vectores >> v=[2:. es decir lleva un registro del último resultado.7500 4.2500 3.5000 2. .2500 2.5000 3.0000  Acceder Este elementos individuales en un vector : >>v(1) ans= 2 comando imprime el elemento 1 del vector.0000 3.25:4] v= 2. Matlab pondrá la etiqueta “ans” en el resultado.7500 3.

8 Curso Básico de Matlab .

Vectores  Una vez que se creó la variable “ans”. si se desea ver una transpuesta del resultado: >>[0:2:8] ans= 0 2 >>a ns' ans= 0 2 4 6 8 9 4 6 8 Curso Básico de Matlab .

 >>v=[0:2:8] v= 0 2 4 6 8 >>v(1:3) ← Se puede utilizar la misma notación que para crear el vector ans = 0 2 4 >>v(1:2:4)‘ ans= 0 4 .Vectores Matlab permite ver par tes específicas del vector.

10 Curso Básico de Matlab .

Vectores  Una vez dominada la notación. podemos realizar otras operaciones: >>v(1:3)-v(2:4) ans= -2 -2 -2 En su mayoría.  11 Curso Básico de Matlab . Matlab utiliza la notación estándar utilizada en álgebra lineal.

 >>u=[0:1:-4] u = 0 -1  -2 -3 -4 2 3 4 Sumar u con v : >>u +v ans= 0 1 .Vectores Ejemplo: Definir un nuevo vector con los números de 0 a -4 en pasos de -1.

12 Curso Básico de Matlab .

0000 Curso Básico de Matlab 2.6667 .6667 1.Vectores  La multiplicación y división escalar se definen del siguiente modo: >>-2*u ans = 0 2 4 6 8 >>v/3 ans = 13 0 0.3333 2.

3 4 5. se le puede tratar como una columna de vectores de fila:  >>A= 8] A= 1 3 6 [1 2 2 4 7 3 5 8 3.  Para definir una matriz.Matrices Definir una matriz es similar a definir un vector.6 7 .

14 Curso Básico de Matlab .

Matrices  Si pierde la noción de qué variables ha definido. el comando whos le permitirá conocer todas las variables que tiene en su workspace. >> whos Name v >> Size Bytes Class Attributes ans double 1x9 72 double 1x1 8 .

15 Curso Básico de Matlab .

>>A*v(1: 3)' ans= 16 28 16 46 .  >>v=[0:2:8] v= 0 2 4 6 8 >>A*v(1:3) ???Error using ==> * Inner matrix dimensions must agree. Es importante tener en cuidado de que las matrices y vectores tengan en tamaño adecuado.Matrices La multiplicación matriz-vector puede hacerse fácilmente.

Curso Básico de Matlab .

>>A(1:2. del mismo modo que es posible hacerlo con vectores.Matrices  Es posible trabajar con diferentes partes de una matriz.2 :3)' ans= 2 4 3 5 Curso Básico de Matlab .2:3) ans= 2 3 4 5 >>A(1:2. >>A(1:2.3:4) ??? Index exceeds matrix dimensions.

7022 4.: Encontrar el inverso de una matriz  >>inv(A) Warning: Matrix is close to singular or badly scaled.5036 1.469447e18. ans= 1. Results may be inaccurate.0e+15 * -2.6029 .8014 5.0072 3.  Ejm.4043 -9. RCOND= 3. puede llevar a cabo muchas operaciones estándar sobre ellas.Funciones de Matrices Una vez que pueda crear y manipular matrices.

-2.7022 4.8014 Curso Básico de Matlab .5036 -1.

0664 -1.Funciones de Matrices  Otras posibles operaciones incluyen encontrar una aproximación de los eigen valores de una matriz.0000 Curso Básico de Matlab .0664 0. Hay dos versiones de esta rutina:   Una sólo encuentra los eigen valores La otra encuentra ambos. los eigen valores y los eigen vectores >>eig(A) ans= 14.

1907 -0.8295 0.4082 0.4912 -0.0664 0 0 0.4082 e= 14.e] =eig(A) v= -0.6399 0 -1.0000 Curso Básico de Matlab .7444 0.0664 0 -0.8165 0 0 0.2656 -0.Funciones de Matrices >>[v.

 Curso Básico de Matlab .Funciones de Vectores Sumas y restas de vectores.  Ejm.: Definir dos vectores y los sumaremos y restaremos.

Funciones de Vectores  Efectuando las operaciones: Curso Básico de Matlab .

Funciones de Vectores  Efectuando las operaciones: Curso Básico de Matlab .

 No es posible sumar un vector de fila a un vector de columna.Funciones de Vectores  Las multiplicaciones y sumas de vectores y matrices deben seguir reglas estrictas.  En una multiplicación el número de columnas de la matriz a la izquierda debe ser igual al numero de filas de la matriz de la derecha. Curso Básico de Matlab .

Funciones de Vectores Curso Básico de Matlab .

* “  Es posible colocar un punto delante de cada símbolo matemático para indicarle a Matlab que se desea que la operación se haga en cada entrada del vector. Curso Básico de Matlab .Funciones de Vectores  Matlab permite hacer operaciones a cada elemento de una matriz o vector.: Multiplicar cada elemento en el vector v con su correspondiente entrada en el vector b → Utilizar el símbolo “ .  Ejm.

Funciones de Vectores Curso Básico de Matlab .

Funciones de Vectores  Si se pasa un vector a una función matemática predefinida. regresará un vector del mismo tamaño. . donde cada entrada es encontrada realizando la operación especificada en la entrada correspondiente del vector original.

28 Curso Básico de Matlab .

Funciones de Vectores  Podemos definir y manipular vectores de gran tamaño del mismo modo que hemos trabajado vectores pequeños. 29 Curso Básico de Matlab .

Matlab permite graficar los resultados. .Funciones de Vectores  A través de esta misma simple manipulación de vectores.

30 Curso Básico de Matlab .

'rx') .y. Matlab permite graficar los resultados.Funciones de Vectores  A través de esta misma simple manipulación de vectores.  >> plot(x.

31 Curso Básico de Matlab .

se da un vector en el enunciado for y Matlab recorrerá cada valor en el vector Curso Básico de Matlab .Ciclos o Bucles  Nos permiten repetir ciertos comandos  Todas las estructuras de ciclos en Matlab se inician con palabras clave como “for” o “while” y terminan con la palabra “end”  Ciclos for :  Para indicar a Matlab cuando iniciar y cuando parar.

en orden El enunciado for actualizará el valor de . [1:4] j toma cada valor dentro del vector.Ciclos o Bucles Por ejemplo en este ciclo simple se ejecutará cuatro veces. Cuando Matlab lee el enunciado “for” construye un vector. cambiando cada vez el valor de la variable j en cada una de las repeticiones.

j y repetirá los enunciados que se encuentren dentro del ciclo. 33 Curso Básico de Matlab .

Ciclos o Bucles  Definiendo un vector y cambiando su contenido posteriormente. 34 Curso Básico de Matlab .

. Iniciar en la segunda fila de la matriz y substraer la fila previa de la matriz y repetir esta operación en las siguientes filas.Ciclos o Bucles  Realizar operaciones en las filas de una matriz.

35 Curso Básico de Matlab .

Ciclos o Bucles Curso Básico de Matlab .

Ciclos o Bucles  Ciclo while:  Repite una secuencia de comandos mientras una condición se cumpla. .

37 Curso Básico de Matlab .

le damos el rango. el dominio y el formato >> plot(x.  .y. : Si solo queremos un plot.Plotteando en Matlab El comando plot es utilizado para generar plots en Matlab  Acepta una gran variedad de argumentos  Ejm.  Matlab tratara a la ventana como un arreglo de plots.'go')  Si queremos plottear mas de una gráfica en una sola imagen utilizamos el comando subplot.

Curso Básico de Matlab .

39 Curso Básico de Matlab . dándonos 2 plots.Plotteando en Matlab  Una ventana con una fila y dos columnas.

Plotteando en Matlab  El comando clf nos permite limpiar completamente la figura actual. 40 Curso Básico de Matlab .

 Para darle una etiqueta al eje x utilizamos la función xlabel. utilizamos la función title.  Para darle una etiqueta al eje y utilizamos la función .Plotteando en Matlab  Para darle un título a nuestro plot.

41 Curso Básico de Matlab .ylabel.

Plotteando en Matlab Curso Básico de Matlab .

Plotteando en Matlab   Para imprimir un archivo postscript del plot actual se utiliza el comando print.ps que resida en el directorio actual print –dps error.ps a PDF.pdf print –djpg error. vemos lo siguiente:  . : Crear un archivo postscript llamado error.ps print – dpdf error. Ejm.jpg Si pasamos error.

Curso Básico de Matlab .

Plotteando en Matlab Curso Básico de Matlab .

 Los archivos ejecutables de Matlab tienen la extensión *. el nombre del programa es erroneo o el archivo se encuentra en un directorio que Matlab no conoce  En el último caso.Archivos Ejecutables  Primero. se escribió mal el nombre del programa. lanzará el mensaje de error : ??? Undefined function or variable 'rectangle_area‘ En este caso.m  A continuación.m  En este ejemplo crearemos el archivo rectangle_area. Matlab buscara en el directorio actual por el archivo “rectangle_area”. se debe indicar a Matlab en qué directorio buscar   La lista de directorios en los que se buscan archivos se llama . leera el archivo y ejecutará los comandos en él  Si Matlab no puede encontrar el archivo.  Permite hacer manipulaciones sencillas del archivo  Editor muy simple y fácil de iniciar. necesitamos crear un archivo.  No es un editor muy avanzado.  El mejor editor es utilizar el editor integrado de Matlab.

path Curso Básico de Matlab .

m  En este ejemplo crearemos el archivo rectangle_area. se escribió mal el nombre del programa.m  A continuación.  El mejor editor es utilizar el editor integrado de Matlab.  Los archivos ejecutables de Matlab tienen la extensión *. el nombre del programa es erroneo o el archivo se encuentra en un directorio que Matlab no conoce  En el último caso.  No es un editor muy avanzado.  Permite hacer manipulaciones sencillas del archivo  Editor muy simple y fácil de iniciar.Archivos Ejecutables  Primero. se debe indicar a Matlab en qué directorio buscar   La lista de directorios en los que se buscan archivos se llama . lanzará el mensaje de error : ??? Undefined function or variable 'rectangle_area‘ En este caso. necesitamos crear un archivo. leera el archivo y ejecutará los comandos en él  Si Matlab no puede encontrar el archivo. Matlab buscara en el directorio actual por el archivo “rectangle_area”.

path Curso Básico de Matlab .

Archivos Ejecutables Para desplegar el path de búsqueda. escribir path  Curso Básico de Matlab .

m Matlab nos preguntara si deseamos crear el archivo. escribir : >> edit rectangle_area.Archivos Ejecutables   Para utilizar el editor de Matlab para crear el archivo. a lo que indicaremos que si: Curso Básico de Matlab .

Archivos Ejecutables  Una vez que el editor aparezca en la pantalla. escribir las siguientes líneas de comandos: Curso Básico de Matlab .

se obtendrá un mensaje de error. definir todas las variables que no estén definidas dentro del mismo.Archivos Ejecutables Salvar el archivo e ir a la ventana de comandos y mandar llamar el archivo escribiendo el nombre del mismo: En este momento. . deberemos obtener el siguiente error: Si se trata de llamar el archivo sin haber definido primero las variables b y h. Es impor tante antes de mandar llamar el archivo.

Curso Básico de Matlab .

Archivos Ejecutables Curso Básico de Matlab .

se puede escribir el comando rectangle_area  Matlab buscara en el directorio actual por un archivo llamado rectangle_area. lo lee y ejecuta los comandos como si hubieran sido escritos desde el teclado.m  Una vez que encuentre el archivo.Archivos Ejecutables  Una vez que las variables necesarias se han definido. Curso Básico de Matlab .

. se desea repetir una secuencia de comandos pero se desea poder hacerlo con distintos vectores y matrices. Una forma de poder hacerlo es utilizando subrutinas.Subrutinas en Matlab  En ocasiones.   Las subrutinas son como los archivos ejecutables pero se le pueden “pasar” distintos vectores y matrices a utilizar.

Curso Básico de Matlab .

Subrutinas en Matlab Curso Básico de Matlab .

Subrutinas en Matlab  Para mandar llamar la subrutina: 55 Curso Básico de Matlab .

Subrutinas en Matlab   Si deseamos devolver más de un resultado. podemos hacerlo indicando la lista de resultados a devolver de la siguiente forma: .

56 Curso Básico de Matlab .

podemos mandar llamar nuestra función devolviendo solamente un resultado (el área en este ejemplo) o ambos (tanto el área como el volumen) .Subrutinas en Matlab  De este modo.

57

Curso Básico de Matlab

If

En algunas ocasiones queremos que
ciertas partes de nuestro programa sean
ejecutadas únicamente bajo ciertas
circunstancias
La forma de hacer esto es utilizar un
enunciado if, cuya estructura básica vemos
a continuación:



Curso Básico de Matlab

If Una estructura condicional mas complicada:  Curso Básico de Matlab .

 Las comparaciones válidas incluyen:       < Menor que > Mayor que <=Menor igual que >=Mayor igual que ==Igual ˜=No es igual Curso Básico de Matlab .If  Las condiciones son enunciados booleanos y se pueden hacer comparaciones estándar.

If Hacer que la variable j sea igual a -1 si a es menor que b  Hacer que la variable j sea igual a -1 si a es menor que b y 2 si es mayor que b  .

Curso Básico de Matlab .

If  Hacer que la variable j sea igual a 3 si no se cumple ninguna condición Curso Básico de Matlab .

Curso Básico de Matlab . | (or) y ˜ (not).If  Se pueden comprobar múltiples expresiones booleanas utilizando los operadores estándar "&" (and).

Archivos  Conforme se trabaja en una sesión.  El comando utilizado para traer el conjunto de datos guardado en un archivo a la sesión es load. Curso Básico de Matlab . se generan matrices y vectores  El comando utilizado para guardar TODOS los datos de una sesión es save.

mat que contiene a los vectores u y v. Curso Básico de Matlab .mat (*.Archivos Guardar todos los datos presentes en la sesión en un archivo llamado todo.mat es la extensión para los datos Matlab) ls es el comando para listar todos los archivos en el directorio actual. En este caso hemos creado el archivo todo.

el espacio de datos es limpiado de todas las variables.Archivos  Los datos pueden ser cargados de nuevo en Matlab con el comando load.  En este ejemplo. Curso Básico de Matlab . El contenido de todo el archivo todo.mat es posteriormente cargado a memoria.

Después de que se especifica el nombre del archivo es posible listar las variables que se desea cargar separadas por espacios Solamente cargar la variable u en la .Archivos    No es necesario cargar el total del contenido de un archivo a la memoria.

memoria. 67 Curso Básico de Matlab .

No quedan guardados para poder ser ejecutados como un archivo ejecutable  Es útil para entregar tareas o para tomar notas. lo que escribirá una copia exacta de la sesión en el archivo y lo cerrará. . se enlistan dichas variables después del nombre del archivo separadas por espacios  Para conocer más información sobre save. escribir help save  Hay varias opciones para formato del archivo.Archivos  El comando save funciona exáctamente de la misma forma  Si solamente se desea guardar un par de variables. etc. Seguido de todos los comandos que formarán el diario Al finalizar. escribir el comando diary solo.  Matlab permite guardar los datos generados en una sesión  utilizando el comando diary.   El    diario de una sesión: Es iniciado con el comando diary seguido del nombre del archivo en donde se guardara el texto.

Curso Básico de Matlab .

txt Curso Básico de Matlab .Archivos  Generar un diario en el archivo diario.

txt es el siguiente:  Curso Básico de Matlab .Archivos El contenido del archivo diario.

Tipos de Datos        Enteros Strings Booleanos Celdas Estructuras Variables Simbólicas Objetos 71 Curso Básico de Matlab .

Tipos de Datos  Conversiones entre tipos de datos: Curso Básico de Matlab .

PPT...Generación de Reportes Una vez que terminamos nuestro programa.  Matlab provee ayuda para realizar este tipo de reportes. en ocasiones deseamos generar un repor te del mismo ya sea en HTML. etc. LaTeX.Word.  El script sobre el que queremos hacer nuestro reporte:  .

Curso Básico de Matlab .

 Curso Básico de Matlab . con “%” indicamos la descripción.Generación de Reportes  Ir al menú Cell dar click en Enable Cell Mode  Para colocar el título utilizar “%% “ lo que automáticamente cambia el color de fondo identificando la celda Posteriormente.

Generación de Reportes  Para crear otra celda “%% “  Colocaremos de este modo la descripción de cada etapa de este script. Curso Básico de Matlab .

Generación de Reportes  Una vez que ya escribimos todas las descripciones. : Publicación en HTML . Al momento de realizar la publicación hace correr el script también.    Ahí encontramos los distintos formatos de salida y características de ellos. Ejm. dar click en la flecha que aparece al lado del icono lo que nos lleva al editor de configuración de las publicaciones.

Curso Básico de Matlab .

Generación de Reportes Curso Básico de Matlab .

Generación de Reportes  Para el caso de HTML. si se desea utilizar : Negritas → Colocar el texto entre asteriscos *texto*  Italicas → Colocar el texto entre guiones bajos _texto_  .

Curso Básico de Matlab .

Generación de Reportes  Para insertar una ecuación:     79 Click derecho “Inser t Text Markup” “Tex Equation” Curso Básico de Matlab .

Generación de Reportes


Nos despliega una ecuación default
Para conocer las opciones que tenemos
para editar las ecuaciones Tex:


En la documentación escribir “text properties”
Seleccionar la segunda opción
Bajar hasta encontrar las opciones para Tex

Curso Básico de Matlab

Generación de Reportes

Curso Básico de Matlab

Generación de Reportes
Generando el código LaTeX para la
publicación:

Curso Básico de Matlab

las fórmulas se ven así: Curso Básico de Matlab .Generación de Reportes  Copiando los resultados de las fórmulas en LaTeX en el lugar donde se coloca la ecuación en nuestro script nos queda:  Al publicar.