


























Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Las principales características de Matlab, incluyendo la creación de programas, definición de variables, manejo de vectores y matrices, funciones integradas y personalizadas, y más. Además, se presentan ejemplos de cómo utilizar las funciones y crear un archivo M-file.
Tipo: Guías, Proyectos, Investigaciones
1 / 34
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!



























Resumen Este documento presenta una introducción a Matlab dirigida a usuarios que no han trabajado nunca con Matlab. Las principales características de Matlab así como la creación de programas son explicadas. El documento trata de introducir al usuario en los distintos temas explicados sin profundizar en ellos. El documento incluye una lista de referencias que el usuario puede utilizar para ampliar sus conocimientos sobre el programa.
∗Escrito por Abel Elizalde para la asignatura Evaluación de políticas públicas (CEMFI). Varios ejemplos utilizados proceden de una versión anterior escrita por Javier Mencia.
Figura 2: Command window.
las podemos volver a ejecutar. De la misma forma, si nos situamos en la ventana command window, en el espacio reservado para introducir nuevas órdenes, i.e. inmediatamente después de >>, y presionamos la tecla ↑, podemos acceder a órdenes introducidas con anterioridad.
Figura 3: Command history.
(a) Introducir en command window el comando clear seguido del nombre de la variable. (b) Seleccionar la variable en el workspace y borrarla directamente con la tecla delete.
Figura 4: Workspace.
Haciendo doble click en una variable se accede al contenido de dicha variable, pudiendo modificar sus valores.
2 Definición de variables
Para crear una variable en Matlab, simplemente se ha de introducir, en la ventana command window, el nombre de la variable y su valor. Por ejemplo:
a = 3; (1)
basta con teclear M = [1, 2; 3, 4; 5, 6]; (4)
donde los términos de una misma fila aparecen separados por comas, y el punto y coma hace de separador entre filas. Para trasponer M, basta teclear
M^0 (5)
Existen una serie de funciones que definen matrices estándar como:
i (7)
M = [1 : 0.5 : 3] ;
genera el vector fila M =
h 1 1. 5 2 2. 5 3
i (9)
Imaginemos que hemos definido la matriz
M =
^13 5 6
(10)
Dicha matriz aparecerá en el workspace y puede ser utilizada hasta que se borre.
M (i, j) (11)
Si no ponemos punto y coma al final de la orden el valor obtenido aparecerá en pantalla. También podemos asignar dicho valor a un escalar:
a = M (i, j) ; (12)
M (i, :) (13)
Por ejemplo: M (1, :) (14) nos devolverá el vector fila (^) h 1 2
i (15)
M (:, j) (16)
M (i 1 : i 2 , j 1 : j 2 ) (17)
(31)
B =
(32) Matlab nos permite multiplicar, dividir, ... dichas matrices elemento a elemento. Para ello debemos poner un punto delate del operador que deseemos utilizar: Operación Orden Resultado Multiplicación A. ∗ B
División A./B
Potencia A.ˆB
(^3) Para obtener la suma y producto por filas utilizaríamos las mismas funciones pero sobre la matriz transpuesta: sum (A^0 ) ; prod (A^0 ) ;
(34) La orden B = [A, A + 3; A ∗ 2 , A − 1] ; (35) genera la matriz
B =
(36)
Matlab permite crear arrays de más de dos dimensiones. Por ejemplo, la orden
A = zeros(2, 2 , 3); (37)
crea un array de tres dimensiones: un cubo formado por tres matrices de dimensión 2 x 2.
4 M-file: escritura de programas
M-files, también llamados scripts, permiten al usuario escribir un conjunto de órdenes en un editor de texto (incluido en el programa Matlab) para ejecutarlas posterior- mente en el orden en el que se han escrito. En lugar de introducir las órdenes una a una en el command window o ventana de comandos las órdenes se escriben una tras otra en un M-file que posteriormente se ejecuta. Para abrir un M-file: File → New → M-file. Los M-files se guardan (File → Save) en el directorio en el que estemos trabajando (fijado en la ventana current directory) con extensión .m. El comando save guarda las variables que se encuentren en el workspace con extensión .mat. Tanto los M-files como los ficheros de datos, creados previamente, se abren desde la ventana current directory haciendo doble click sobre ellos.
(6), situado en la botonera superior del M-file.
Figura 6: Boton Run.
5 Utilización de la ayuda
Una de las principales ventajas de Matlab con respecto a similares programas consiste en la gran cantidad de información que el usuario puede obtener del funcionamiento del programa y de los comandos a través de la ayuda (Menú Help). Para programar en Matlab es necesario saber manejarse en el entorno de trabajo y saber utilizar la ayuda. Cualquier duda sobre como utilizar una función o cual es el comando para realizar una determinada operación puede resolverse utilizando la ayuda. El menú Help contiene, además de dos aplicaciones para introducir al usuario el entorno de trabajo (Help → Using the Desktop and Help → Using the Command Window), una pestaña llamada Matlab Help. Matlab Help permite al usuario buscar información de tres formas diferentes:
Figura 7: Matlab Help.
ejemplo, si escribimos plot obtenemos información sobre dicho comando, que se utiliza para hacer gráficos.
6 Uso de funciones incluidas en Matlab
Para utilizar las funciones que Matlab incorpora, lo mas conveniente es consultar la ayuda. Las funciones constan de una serie de variables de entrada (inputs) que deben ser proporcionados por el usuario y una serie de variables de salida (outputs) como resultado de la ejecución de la función. A modo de ejemplo, analizamos la función regress que permite realizar regresión lineal. Si tecleamos regress en la pestaña Index de ayuda de Matlab obtenemos información sobre como utilizar la función. A continuación presentamos el resultado de dicha búsqueda:
X = [ones(10,1) (1:10)'] X = 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 y = X * [10;1] + normrnd(0,0.1,10,1) y =
[b,bint] = regress(y,X,0.05) b =
bint = 9.9165 10. 0.9822 1.
Compare b to [10 1]'. Note that bint includes the true model values.
Reference [1] Chatterjee, S. and A. S. Hadi. Influential Observations, High Leverage Points, and Outliers in Linear Regression. Statistical Science, 1986. pp. 379- 416.
refline regstats
Generalmente las funciones pueden tener una o varias variables de entrada y una o varias variables de salida. En este caso la función regress tiene dos variables de entrada obligatorias: un vector columna y de datos sobre la variable dependiente, de dimensión nx 1 , y una matriz X, de dimensión nxp, que contiene (por columnas) p variables independientes. Si no incluimos ningúna otra variable de entrada, la función regress devuelve (en una de las variables de salida) un intervalo de confianza al 95% de los parámetros estimados. Si, por el contrario, incluimos una tercera variable de entrada alpha, el intervalo de confianza es del (1 − alpha) %. Este ejemplo ilustra el hecho de que muchas funciones de Matlab tienen un número de variables de entrada variable. Respecto a las variables de salida, si escribimos b = regress(y, X); (39)
solamente obtenemos una variable de salida b con los parámetros estimados. Por el contrario, si escribimos
[b, bint, r, rint, stats] = regress(y, X); (40)
obtenemos un conjunto de variables de salida: b, bint, r, rint, stats que recogen, entre otras cosas un intervalo de confianza para los parámetros estimados (bint), los errores de la regresión (r), el R^2 de la regresión, ... Al igual que con los variables de entrada, las funciones de Matlab pueden generar un número variable de variables de salida, dependiendo de como se escriba la orden. Para utilizar de forma eficiente dichas funciones el menú de ayuda de Matlab nos proporciona información sobre dichas funciones, sus variables de entrada y variables de salida.
7 Funciones propias
En ocasiones nos interesa utilizar funciones que Matlab no tiene predefinidas. Por ejemplo, supongamos que necesitamos evaluar, en repetidas ocasiones la siguiente
Pueden crearse funciones propias con un número variable de variables de entrada y variables de salida. La utilización de funciones propias con varias variables de salida cumple en Matlab la misma función que las denominadas subrutinas cumplen en otros programas como Fortran. Información acerca de estas opciones puede encontrarse en el menú ayuda de Matlab, tecleando “passing variable numbers of arguments” en la pestaña Search. El uso de funciones propias es la manera más limpia de programar. Otra de las ventajas de escribir funciones propias en M-files separados del programa principal es la posibilidad de utilizar dichas funciones en otros programas.
8 Bucles
La mejor forma de saber cómo funciona un bucle y cual es su sintaxis es utilizar la ayuda de Matlab. En esta sección presentamos algunos de los más utilizados.
Forma general:
if (condición 1) órdenes a ejecutar si condición 1 se satisface elseif (condición 2) órdenes a ejecutar si condición 2 se satisface ... else órdenes a ejecutar si no se satisface ninguna de las condiciones anteriores end (45) Ejemplo: if (a > b) c = a; else c = b end
Para evaluar las condiciones se utilizan operadores lógicos como: Operador Descripción > Mayor que >= Mayor o igual que < Menor que <= Menor o igual que == Igual que ~= Distinto que & Si | O ~ No
Forma general:
for contador=inicio : fin órdenes a ejecutar end
Ejemplo: M-file función factorial function h = fun_factorial(n) if (n == 0) h = 1; else h = 1; for i=1:n h = h ∗ i; end end % final del if
Forma general:
while (condición) órdenes a ejecutar end