Funciones
Grá…cos
Métodos numéricos
Laboratorio de Econometría: MATLAB1
Clase 3
Pérez Rojo, Flavio
BCRP y PUCP
1 Basado en las notas de clase de Miguel Ataurima
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones
Grá…cos
Métodos numéricos
1 Funciones
Funciones locales
Funciones anónimas
2 Grá…cos
Introducción
Función plot
Función subplot
Función bar
Función histogram
3 Métodos numéricos
Introducción
Newton-Raphson
Otros métodos
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones
Funciones locales
Grá…cos
Funciones anónimas
Métodos numéricos
Funciones locales
Los archivos de programa MATLAB pueden contener código
para más de una función
En un archivo función, la primera función del archivo se
denomina función principal
La función principal es visible para las funciones en otros
archivos, o puede llamarla desde la línea de comandos.
Las funciones adicionales dentro del archivo se denominan
funciones locales, y pueden ocurrir en cualquier orden
después de la función principal
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones
Funciones locales
Grá…cos
Funciones anónimas
Métodos numéricos
Funciones anónimas
Es una función que no se almacena en un archivo de programa
(*.m)
Está asociada con una variable cuyo tipo de datos es
function_handle.
Puede aceptar multiples entradas y devolver una salida.
nombre_funcion = @(args_entrada) (declaración_funcion)
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Anatomía de las grá…cas
Son los componentes visuales para mostrar datos grá…camente
Las funciones que utilizaremos serán plot, subplot, bar,
histogram
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Creación de una grá…ca
Se requieren los siguientes pasos
1 Preparar los datos en el workspace
2 Especi…car la ventana …gura o sub-grá…ca en donde se desea
hacer la grá…ca
3 Gra…car
4 Agregar anotaciones a la grá…ca
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función plot
Hace un grá…co de línea
Requiere las coordenadas (x,y) de los puntos a trazar
La sintaxis es
plot(X,Y,LineSpec)
ploy(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...,Xn,Yn,LineSpecn)
donde Xi y Yi pueden ser escalares, vectores o matrices, y
LineSpec hace referencia a los estilos de línea, marcadores y color.
Estos últimos pueden ir en cualquier orden.
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función plot: LineSpec I
Los siguientes son las posibles especi…caciones de tipo de línea
Especi…cador Estilo
- sólida
-- guión
: punteada
-. punto guión
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función plot: LineSpec II
Los siguientes son las posibles especi…caciones de color de línea
Especi…cador Color
r rojo
g verde
b azul
k negro
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función plot: LineSpec III
Los siguientes son las posibles especi…caciones de marcador de
línea
Especi…cador Marcador
+ signo más
o círculo
* asterisco
x cruz
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función plot: Anotaciones
Las anotaciones más básicas son
Título: title(string)
Nombre de los ejes: xlabel(string); ylabel(string);
Leyenda: legend(string1,string2,....,stringn)
Agregar/quitar rejilla: grid on (grid o¤)
Fijar ejes: xlim([number1 number2]); ylim([number1
number2])
Ajusta los ejes: axis tight
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función subplot
Divide la …gura actual en ejes dispuestos en una distribución de m
…las por n columnas
subplot(m,n,p)
donde p es el p-ésimo elemento del grá…co que se cuenta por …las
de izquierda a derecha.
Posteriormente se puede agregar el grá…co que se desee.
Usualmente se utiliza plot
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función bar
Hace grá…cos de barra. La sintaxis es
bar(x,y,width,style,color)
donde x son los lugares donde se ubicarán las barras, y son los
datos a gra…car como barras, width es el ancho de barra, style es
el estilo del grupo de barras y color puede ser b, r, g, c, ...
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Introducción
Funciones Función plot
Grá…cos Función subplot
Métodos numéricos Función bar
Función histogram
Función histogram
Los histogramas son diagramas de barra para datos numéricos que
agrupan datos en contenedores. La sintaxis es
histogram(X,nbins)
donde X son los datos a distribuirse entre los contenedores y nbins
es el número de contenedores.
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones Introducción
Grá…cos Newton-Raphson
Métodos numéricos Otros métodos
Introducción
Usualmente en econometría trabajamos con ecuaciones
no-lineales. e.g., verosimilitud de un modelo
Así, se requiere algoritmos o métodos que puedan solucionar
estas ecuaciones que a mano resultarían imposibles
Los métodos numéricos buscan soluciones cercanas a puntos
donde, por ejemplo, los gradientes sean cero o las variaciones
en la función sean in…nitesimalmente pequeñas
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones Introducción
Grá…cos Newton-Raphson
Métodos numéricos Otros métodos
Newton-Raphson univariado
Se busca estimar la solución de una ecuación no-lineal
f (x ) = 0
Algoritmo
1 Datos:
Valor inicial de búsqueda: x1
Numero máximo de iteraciones: MaxIter
Nivel de tolerancia en x : ε
Nivel de tolerancia en y : δ
2 Para todo i = 2, 3, ...,MaxIter
Aplicar la fórmula de recurrencia: xi = xi 1 f 0 (xi 1 )f (xi 1 )
Detener si se veri…ca que el paso en x o y son menores que su
tolerancia
jxi xi 1j < ε, jf (xi ) f (xi 1 )j <δ
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones Introducción
Grá…cos Newton-Raphson
Métodos numéricos Otros métodos
Newton-Raphson multivariado
Se busca obtener la solución de la ecuación no lineal en
x1 , x2 , ..., xn
f (x1 , x2 , ..., xn ) = 0
1 Datos:
Valor inicial de búsqueda: x11 , x21 , ..., xn1 y número máximo
de iteraciones: MaxIter
Nivel de tolerancia en cada xi o en G (f (x1 , x2 , ..., xn )), donde
G (.) es el gradiente
2 Para todo i = 2, 3, ...,MaxIter
Aplicar la fórmula de recurrencia:
Xi = Xi 1 H 1 (Xi 1 )G (Xi 1 ), donde Xi = (x1 , x2 , ..., xn )0
y H (.) es el hessiano
Detener si se cumple el nivel de tolerancia para cada xi o si
G (.) 0 G (.) < ε
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB
Funciones Introducción
Grá…cos Newton-Raphson
Métodos numéricos Otros métodos
Otros métodos
Función fminuc: minimiza un function_handle utilizando un
algoritmo con derivadas
Función fminsearch: minimiza un function_handle utilizando
un método de minimización no-lineal irrestricto
multidimensional (Nelder-Mead)
Pérez Rojo, Flavio BCRP y PUCP Laboratorio de Econometría: MATLAB