360 likes | 533 Views
MATLAB para Economistas. José Luis Hueso Matemática Aplicada Universidad Politécnica de Valencia. Itinerario. 1ª Etapa: Invertir en MATLAB 2ª Etapa: MATLAB funciona 3ª Etapa: MATLAB marca la diferencia. La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE
E N D
MATLAB para Economistas José Luis Hueso Matemática Aplicada Universidad Politécnica de Valencia
Itinerario • 1ª Etapa: Invertir en MATLAB • 2ª Etapa: MATLAB funciona • 3ª Etapa: MATLAB marca la diferencia
La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE Ecuaciones no lineales Sistemas lineales Ecuaciones diferenciales Sistemas de ecuaciones diferenciales Estabilidad Cuenta remunerada Tipo de interés de una hipoteca Volatilidad del IGBM Modelo de Leontieff Modelo de desarrollo Políticas monetarias MATLAB marca la diferencia
La instrucción IF • Bifurcación condicional • Sintaxis: ifcondición instrucciones end • Las instrucciones se realizan si la condición se verifica.
Conjunción & Disyunción | O exclusiva xor Negación ~ Menor < Mayor > Mayor o igual >= Menor o igual <= Igual == Distinto ~= Operaciones lógicas y comparaciones
IF - ELSE • Dilema ifcondición instrucciones cierta else instrucciones falsa end • Se ejecutan unas u otras instrucciones según se verifique o no la condición.
Cuenta remunerada • 2% si el saldo es superior a 100.000 Pta • 1.5% mensual del saldo deudor
Cuenta remunerada function saldo = crm(sant,imp,reint) ta = 0.01/12; % tipo de interés acreedor td = 0.015; % tipo de interés deudor saldo = sant+imp-reint; if saldo<0 saldo=saldo*(1+td); elseif saldo>=100000 saldo=saldo*(1+ta); end
La instrucción FOR • Bucle controlado por un contador • Sintaxis: forvalores del contador instrucciones end • Las instrucciones se repiten para cada valor del contador.
Cuenta remunerada function saldo = xtr(sant,imp,reint) n=length(imp); fork=1:n saldo(k)=crm(sant,imp(k),reint(k)); int(k)=saldo(k)+imp(k)-reint(k)-sant; sant=saldo(k); disp(imp(k),reint(k),int(k),saldo(k)) end
La instrucción WHILE • Bucle controlado por una condición • Sintaxis: whilecondición instrucciones end • Las instrucciones se repiten mientras la condición se verifique.
La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE Ecuaciones no lineales Sistemas lineales Ecuaciones diferenciales Sistemas de ecuaciones diferenciales Estabilidad Cuenta remunerada Tipo de interés de una hipoteca Volatilidad del IGBM Modelo de Leontieff Modelo de desarrollo Políticas monetarias MATLAB marca la diferencia
Ecuaciones no lineales function y=fun(x) y = x.^3-x.^2; • ezplot fun(x), grid • fplot('fun',[-1,2]), grid • fzero('fun',0.1) • fzero('fun',2,[],1)
Ecuaciones no lineales function dif=tipamort(r,C,n,a) plazo=amortiza0(C,n,r); dif=plazo-a; • help fzero • C=1e6; n=60; a=20000; • fzero('tipamort', 0.005,[],1,C,n,a)
Ecuaciones no lineales function dif=sigma(sig,S,X,r,T,precio) [put,call]=bsch(S,X,r,T,sig); dif=put-precio; % dif=call-precio; • S=42,X=40,r=0.1,T=0.5,p=0.8086 • fzero('sigma', 0.1,[],1, S,X,r,T,p)
La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE Ecuaciones no lineales Sistemas lineales Ecuaciones diferenciales Sistemas de ecuaciones diferenciales Estabilidad Cuenta remunerada Tipo de interés de una hipoteca Volatilidad del IGBM Modelo de Leontieff Modelo de desarrollo Políticas monetarias MATLAB marca la diferencia
Sistemas de ecuaciones linealesMatriz de Leontieff Consideramos tres sectores en un sistema económico: industria Pesada, industria Ligera y Agricultura. Para producir una unidad de bienes del sector x, se necesitan Myx unidades de bienes del sector y. Se debe cubrir una demanda Dx en cada sector x. ¿Cuánto debe producir cada sector para que funcione el sistema y se cubra la demanda exterior?
La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE Ecuaciones no lineales Sistemas lineales Ecuaciones diferenciales Sistemas de ecuaciones diferenciales Estabilidad Cuenta remunerada Tipo de interés de una hipoteca Volatilidad del IGBM Modelo de Leontieff Modelo de desarrollo Políticas monetarias MATLAB marca la diferencia
Ecuaciones diferenciales • Ecuación diferencial • Condición inicial • Modelo de población de Verhulst
Modelo de desarrollo • X = X(t): Producto nacional • K = K(t): Stock de capital • L = L(t): Número de trabajadores X = A K1-a La 0<a<1 K' = s X L = L0 e-lt K' = s A K1-a (L0 e-lt)a
Campo de direcciones • Curvas solución de una EDO • Pendiente de las curvas solución • Campo de direcciones
Resolución de EDOs • Campo de pendientes • campo('desarrol',0,20,0,10,10,10) • hold • Solución de la ecuación • [t,y]=ode23('desarrol',[0,20],0.5); • plot(t,y,'r')
La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE Ecuaciones no lineales Sistemas lineales Ecuaciones diferenciales Sistemas de ecuaciones diferenciales Estabilidad Cuenta remunerada Tipo de interés de una hipoteca Volatilidad del IGBM Modelo de Leontieff Modelo de desarrollo Políticas monetarias MATLAB marca la diferencia
Sistemas de Ecuaciones Diferenciales • Expresión vectorial • Condiciones iniciales
Política monetaria • Ms: Oferta de dinero • Md: Demanda de dinero • m = Ms/Md: Relación demanda/oferta • p: Tasa de inflación p' = h (1- m)
Política monetaria • m = Ms/Md: Relación demanda/oferta • p: Tasa de inflación • q: Tasa (exógena) de crecimiento • m: Tasa de expansión monetaria m' = m (p + q - m)
Teoría cualitativa • Sistema diferencial y’ = f(t,y) Modelo del desarrollo • Sistema autónomo y’ = f(y) Política monetaria • Puntos de equilibrio f(y*) = 0 p' = 0, m' = 0 m = 1, p = m - q
Política monetaria • Plano de fases • plfases4('pm',-1,1,0,7,10,10) • Solución de la ecuación • [t,y]=ode23('pm',[0,20],[0.1;0.75]) • Trayectorias • plot(y(:,1),y(:,2)) • Gráfico • close, plot(t,y)
Política monetaria clásica • Plano de fases • plfases4('pmc',-1,1,0,7,10,10) • Solución de la ecuación • [t,y]=ode23('pmc',[0,20],[0.1;0.1]) • Trayectorias • plot(y(:,1),y(:,2)) • Gráfico • close, plot(t,y)
Política monetaria de Obst • Plano de fases • plfases4('pmo',-1,1,0,7,10,10) • Solución de la ecuación • [t,y]=ode23('pmo',[0,200],[0.1;0.1]) • Trayectorias • plot(y(:,1),y(:,2)) • Gráfico • close, plot(t,y)
Estabilidad • Equilibrio estable Las trayectorias próximas en un instante dado, permanecen siempre próximas. • Equilibrio inestable Las trayectorias próximas en un instante dado, no lo están posteriormente. • Estabilidad asintótica Las trayectorias próximas en un instante dado, están cada vez más próximas.
La instrucción IF IF-ELSE La instrucción FOR La instrucción WHILE Ecuaciones no lineales Sistemas lineales Ecuaciones diferenciales Sistemas de ecuaciones diferenciales Estabilidad Economía fractal Cuenta remunerada Tipo de interés de una hipoteca Volatilidad del IGBM Modelo de Leontieff Modelo de desarrollo Políticas monetarias Triángulo de Sierpinski Dragón Regalo de la casa
Triangulo de Sierpinski Dragon de Jurassic Park Economía fractal