Implementação de Métodos Recursivos. Jefferson Bertolai

Documentos relacionados
Implementação de Métodos Recursivos. Jefferson Bertolai 03/10/2011

Implementação de Métodos Recursivos. Jefferson Bertolai

Introdução ao Matlab. Rodrigo Soares de Abreu

GEO742: Tópicos Especiais em Geologia Exploratória II Métodos semiquantitativos

Matlab Noções introdutórias. Roteiro para aula

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

MATLAB EM VIBRAÇÕES MECÂNICAS

Parte 1: Exercícios Teóricos

Esta prática tem como objetivo apresentar o uso de Matlab para encontrar a resposta de um sistema dinâmico.

Linguagem Haskell. Universidade Estadual Santa Cruz Conceitos de Linguagens de Programação. Tiago Carneiro 19 Agosto 2013

Introdução ao MATLAB. 2 - Apresentação de resultados em gráfico. 3 - Controlo de fluxo 3.1. Tipos de controlo 3.2. Expressões Lógicas

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Parte 1 Conceitos básicos de MATLAB

Prof. Marcelo Azevedo Costa. Departamento de Engenharia de Produção Universidade Federal de Minas Gerais

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica. lmax Rodrigues. lcaroline Pereira. lnayara Medeiros

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Engenharia Biomédica Jorge Henriques, Fevereiro, 2007

Setor de Tecnologia - TC Engenharia Ambiental Prova 1. Matemática Aplicada I

Gabarito e resolução da prova de seleção PPGE FURG Estatística

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

SCS Sistemas de Controle / Servomecanismos. Aula 01 Introdução ao software MATLAB

INTRODUÇÃO AO SCILAB

Minicurso MATLAB BÁSICO MÓDULO 1

17 a 19 de fevereiro de 2009

INTRODUÇÃO AO MATLAB - PARTE 2

AERODESIGN AULA 1 MATLAB

Vetores, Matrizes e Gráficos

Introdução ao SciLab. SciLab O que é? Onde obter o programa:

Breve Introdução à Programação em Scilab 6.0

Universidade Federal de Juiz de Fora Programa de Pós-Graduação em Modelagem Computacional. Rodrigo Barbosa de Santis

Minicurso de MATLAB. Programa de Educação Tutorial de Engenharia Elétrica 28/03/15. lmax Rodrigues. lcaroline Pereira.

1 Introdução ao R. 1.1 Introdução. É uma linguagem de programação... Sobre o R

Mini curso básico. Gilberto A. S. Segundo Fábio Carmo. Programa de Educação Tutorial

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano

Objetivos. fim de servir de entrada na simulação de um modelo.

Introdução à Ciência da Computação

MESTRADO EM MACROECONOMIA e FINANÇAS Disciplina de Computação. Aula 01. Prof. Dr. Marco Antonio Leonel Caetano

Jogos de soma zero com dois jogadores

Breve Introdução à Programação em Scilab 6.x

Aula 02 - Introdução ao Scilab (p1)

Revisões de Matemática e Estatística

UNIVERSIDADE REGIONAL DO NOROESTE DO ESTADO DO RIO GRANDE DO SUL DEPARTAMENTO DE FÍSICA, ESTATÍSTICA E MATEMÁTICA

Unidade 3: Linguagem de programação

INTRODUÇÃO AO MATLAB. Hélder P. Oliveira

Sistemas e Sinais. Laboratório 0 (parte a) (Iniciação ao MATLAB ) Miguel Pedro Silva e João Reis

FOLHAS DE PROBLEMAS DE MATEMÁTICA II CURSO DE ERGONOMIA PEDRO FREITAS

4 Visualização por pontos

INSTITUTO SUPERIOR TÉCNICO Licenciatura em Engenharia Física Tecnológica Licenciatura em Engenharia e Gestão Industrial Ano Lectivo: 2002/2003

Derivadas direcionais Definição (Derivadas segundo um vector): f : Dom(f) R n R e P 0 int(dom(f)) então

Prova de Seleção ao Doutorado Macroeconomia

Prof. Dr. Marco Antonio Leonel Caetano

CÁLCULO NUMÉRICO. Profa. Dra. Yara de Souza Tadano.

Iteração e Pontos Fixos

Introdução ao Scilab

Cadeias de Markov de Tempo Contínuo (CTMC)

Estatísticas Inferenciais Distribuições Amostrais. Estatística

Murilo F. Tomé ICMC-USP

Programação em MATLAB

NÍVEL BÁSICO CAPÍTULO II

Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Introdução ao MATLAB. Faculdade de Ciências Aplicadas e Sociais de Petrolina FACAPE

Universidade Federal da Paraíba - UFPB Centro de Ciências Exatas e da Natureza - CCEN Departamento de Matemática - DM

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Computação e Programação

Aula 7. Noções Básicas de Octave

AULA 4 LABORATÓRIO - MATLAB VERSÃO: FEVEREIRO DE 2017

Capítulo 04. Erros de arredondamento e Truncamento (Parcial)

Curso de Fotografia 3D: Geração de Malhas com Ball-Pivoting

Complexidade de Algoritmos

Mecânica Quântica. Spin 1/2 e a formulação da M. Q. Parte II. A C Tort 1. Instituto Física Universidade Federal do Rio de Janeiro

Aula 08: Repetição (Parte 3)

Matemática Computacional

Método da Potência. Gabriela Reis Afonso Paiva Neto 30/05/2014. Gabriela Reis, Afonso Paiva Neto Método da Potência

Exercícios Repetição

MATLAB. Programação básica

TUTORIAL MATLAB MATEMÁTICA COMPUTACIONAL Aula 20-Novembro-2013

MATLAB. Que é MATLAB?

Um modelo estocástico para o fluxo de caixa de um plano de previdência de um indivíduo 15

Matrizes e Linearidade

Descodificação iterativa

Departamento de InformáAca - PUC- Rio. Hélio Lopes Departamento de InformáAca PUC- Rio. A plataforma R

Introdução ao Scilab 3.0 Parte 3

Ricardo Ehlers Departamento de Matemática Aplicada e Estatística Universidade de São Paulo

PÓS-GRADUAÇÃO PRESENCIAL MARINGÁ

RESOLUÇÃO. Computação e Programação (2009/2010-1º Semestre) 1º Teste (11/11/2009) Nome. Número. Leia com atenção os pontos que se seguem:

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Professor: Domingos Equipe Haskell: Lucas Montesuma, Francisco Leonardo CONCEITOS DA LINGUAGEM DE PROGRAMAÇÃO CÁLCULADORA EM HASKELL

Processamento de Imagens COS756 / COC603

Modelos Lineares Generalizados - Estimação em Modelos Lineares Generalizados

Introdução ao Matlab

Complexidade de Algoritmos

Sistemas Dinâmicos Lineares

Lista de Exercícios de Cálculo 3 Sexta Semana

Linguagens de Programação Aula 13

1 Da aula teórica ao Java

MCTB Álgebra Linear Avançada I. Lista Ache a forma canônica de Jordan de cada um dos operadores lineares do Exercício 1.

PROGRAMAÇÃO de COMPUTADORES: LINGUAGEM FORTRAN 90/95

Setor de Tecnologia - TC Engenharia Ambiental Avaliação 1. Matemática Aplicada II

Introdução à Linguagem C

Transcrição:

Implementação de Métodos Recursivos 2012-10-10

Objetivos Macroeconomia e heterogeneidade Otimização e pontos fixos Aprender no contexto Métodos clássicos

Operações Básicas Operação Símbolo Exemplos x +y + 2+3 x y 5 7 x.y 7 8 x y / ou \ 9/3 ou 3\9 x y ˆ 2ˆ3

Operadores Lógicos Descrição Símbolo Exemplo Valor lógico maior do que > 2 > 0,5 1 maior ou igual a >= 2 >= 2,5 0 igual a == 3 == (4 1) 1 diferente de = 2 3 = 6 0 e & (3 > 1)&(2 > 2) 0 disjunção (3 > 1) (1 < 2) 1 disjunção exclusiva xor xor((3 > 1),(1 < 2)) 0

Definição e Manipulação de Objetos var = 5 v = [1 4 2] % cria uma variável com o nome var % e valor inicial de 5 % cria o vetor de tr^es elementos a seguir v = ( 1 4 2 ) x = [var v] % concatena o objetos var e v, criando % vetor de 4 elementos a seguir x = ( 5 1 4 2 ) var = var + 2; % soma 2 à variável var

Definição e Manipulação de Objetos y = v ; % transp~oe o vetor v, ou seja, y = 1 4 2 c = 1:2:7; % cria o vetor a seguir c = ( 1 3 5 7 ) Z = zeros(2,2) % cria matriz 2x2 de zeros ( ) 0 0 Z = 0 0

Definição e Manipulação de Objetos O = ones(3) % cria matriz 3x3 a seguir O = 1 1 1 1 1 1 1 1 1 d = [-5,3;2 7]; % cria a matriz a seguir ( ) 5 3 d = 2 7 d(:,1) % retorna primeira coluna de d d(2,:) % retorna segunda linha de d d(1,2) % retorna o elemento da linha 1 da coluna 2

Definição e Manipulação de Objetos dd = (-1).*d % multiplica matriz d (elemento a % elemento) por (-1) ( ) 5 3 dd = 2 7 dd.*d dd*d % multiplica as matrizes dd e d, elemento a % elemento % multiplicaç~ao matricial padr~ao z = dd.^d % para cada (i,j), calcula a matriz com % elemento geral z(i,j) dado por % dd(i,j)^d(i,j)

Definição e Manipulação de Objetos eye(n); plot(x,y) % cria matriz identidade de dimens~ao n por n % constrói e exibe o gráfico da funç~ao f tal % que para todo i vale y(i) = f(x(i)) kron(d,dd); size(dd); % produto Kronecker entre d e dd. % Lembrando que n~ao há restriç~oes sobre as % dimens~oes das matrizes % retorna as dimens~oes da matriz dd

Funções e Constantes pré-definidas Comando Função / Constante Exemplo sqrt raiz quadrada sqrt(2) pi π = 3,1416... - cos cosseno cos(0) tan tangente tan(pi/4) exp exponencial exp(1) log logarítmica log(exp(3)) inf - sum somatória sum([5,9,1]) prod produtório prod([1,3,7]) max máximo max([1,4,2])

M-Files Script M-files: define uma rotina a ser executada pela Matlab % salvar script como routine.m X = [1,2;3,4]; Y = [2,1;4,3]; Z = X*Y Execução: invocar comando routine na janela de comandos

M-Files Function M-files: função definida pelo usuário % salvar m-file como func.m function [out1 out2] = func(arg1,arg2) out1 = arg1+arg2; out2 = arg1*arg2 Execução: invocar comando func(2,3) na janela de comandos

Loops for: determina que uma rotina seja repetida um número determinado de vezes. A rotina abaixo resulta em f = 1 2 3 4 = 24 f = 1; for n=2:4 f = f*n; end f

Loops while: determina que uma rotina seja repetida enquanto uma determinada condição for verdadeira n = 1; oldsum = -1; newsum = 0; while newsum > oldsum oldsum = newsum; newsum = newsum + n^(-4); n = n + 1; end newsum

Branching (if) function y = absval(x) if x >= 0 y = x; else y = -x; end function y = signum(x) if x > 0 y = 1; elseif x==0 y = 0; else y = -1; end

Comandos Especiais Comando Descrição Ctrl + c interrompe procedimento ; impede exibição do output do comando % insere comentário Ctrl + r transforma comando em comentário Crtl + t transforma comentário em comando whos exibe objetos atualmente definidos F5 salva e executa script F9 executa seleção eye(n) cria matriz identidade com dimensões nxn clear x deleta objeto x clear all deleta todos os objetos

Método de Discretização Algoritmo Considere A R n, B R e f : A B uma função Seja X uma aproximação finita de A, ou seja, X A, tal que X < Seja Y = f(x), ou seja, Y = {y B : y = f(x) para algum x X} Observe que Y < argmax{f(x);x X} X argmax{f(x);x X} argmax{f(x);x A}

Método de Discretização Exemplo 1 Considere a função u : [0,100] R definida por u(x) = 10 x x. X = {0, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100} Y = {0, 21.6, 24.7, 24.8, 23.2, 20.7, 17.4, 13.7, 9.4, 4.9, 0} v = max{u(x);x X} = 24.8 g = argmax{u(x);x X} = 30

Método de Discretização Exemplo 2 Considere a função u : [0,100] R definida por u θ (x) = θ x x. grid: X = {0,10,20,30,40,50,60,70,80,90,100} Há 2 tipos de indivíduos, θ L = 10 e θ H = 14 Y L = {0, 21.6, 24.7, 24.8, 23.2, 20.7, 17.4, 13.7, 9.4, 4.9, 0} Y H = {0, 34.2, 42.6, 46.7, 48.5, 49.0, 48.4, 47.1, 45.2, 42.8, 40} Solução: função valor: [v(10),v(14)] = [24.8,49.0] função poĺıtica: [g(10),g(14)] = [30,50]

Método de Discretização Comentários Vantagem: garantia de máximo global Desvantagem: curse of dimensionality busca global pode ser muito custosa neste caso é preferível usar um método local (otimização contínua).

Método de Discretização e Dinâmica Exemplo 3 Considere que há N indivíduos, os quais vivem 2 períodos. não há sobreposição de gerações. utilidade instantânea do consumo: u(c) = 10 c utilidade total: U(c 1,c 2 ) = u(c 1 )+β[u(c 2 )+w ] indivíduos nascem com riqueza w 1 [0,100]. restrições c 1 +w 2 w 1 e c 2 +w 1 w 2. Problema no segundo período: Problema no primeiro período: v 2 (w 2 ) = max [0,w 2] {u(w 2 w 1)+w 1} v 1 (w) = max [0,w 1] {u(w 1 w 2 )+βv 2 (w 2 )}

Método de Discretização e Dinâmica Exemplo 3 Problema no segundo período: v 2 (w 2 ) = max [0,w 2] {u(w 2 w 1)+w 1} grid: X = {i Z : 0 i 100} para cada x j X calcule v 2 (x j ) e g 2 (x j ) usando discretização. g 2 : escolha de herança para cada nível de riqueza na velhice.

Método de Discretização e Dinâmica Exemplo 3 Problema no primeiro período: v 1 (w 1 ) = max [0,w 1] {u(w 1 w 2 )+βv 2 (w 2 )} para cada x j X calcule v 1 (x j ) e g 1 (x j ) usando discretização e v 2. g 1 : escolha de poupança para a velhice.

Método de Discretização e Dinâmica Exemplo 3 Comportamento individual: indivíduo que nasce com riqueza w 1, poupa w 2 = g 1 (w 1 ). quando velho escolhe deixar herança w 1 = g 2 (w 2 ). seu filho nascerá com w 1 e também escolherá de acordo com g.

Método de Discretização e Dinâmica Exemplo 3 Comportamento agregado: todos os indivíduos com riqueza inicial w 1 terão este comportamento. se há p(i) indivíduos com idade t e riqueza i, então haverá 100 p (j) = p(i)χ [gt(i)=j] (1) i=0 indivíduos com riqueza j e idade t +1 (módulo 2).

Método de Discretização e Dinâmica Exemplo 3 Matricialmente: p t+1 = p t χ [gt(0)=0] χ [gt(0)=1]... χ [gt(0)=100] χ [gt(1)=0] χ [gt(1)=1]... χ [gt(1)=100]............ χ [gt(100)=0] χ [gt(100)=1]... χ [gt(100)=100] A matriz M descreve a transição da economia. Qual será a dinâmica = p tm t se inicialmente a riqueza é uniformente distribuída entre os agentes?

Método de Discretização e Dinâmica Exemplo 4 Considere o modelo do exemplo 3 com as seguintes alterações: há um contínuo de agentes, cuja massa foi normalizada para 1. há 2 tipos θ i {θ L,θ H } = {10,14}. utilidade instantânea do consumo: u i (c) = θ i c Transição tipo independente entre agentes: Pr(θ = θ j θ = θ i ) = π ij Matricialmente: ( Π = ) π LL 1 π LL 1 π HH π HH utilidade total: U i (c 1,c 2 ) = u i (c 1 )+β j π ij[u j (c 2 )+w ]

Método de Discretização e Dinâmica Exemplo 4 Problema no segundo período: v 2 (w 2,θ j ) = max [0,w 2] {u j(w 2 w 1 )+w 1 } grid: X = {i Z : 0 i 100} para cada x i X e cada θ j {θ L,θ H } calcule v 2 (x i,θ j ) e g 2 (x i,θ j ) usando discretização. g 2 : escolha de herança para cada nível de riqueza na velhice e tipo de velho.

Método de Discretização e Dinâmica Exemplo 4 Problema no primeiro período: v 1 (w 1,θ i ) = max [0,w 1] {u i(w 1 w 2 )+β j π ij v 2 (w 2,θ j )} para cada x k X e cada θ i {θ L,θ H } calcule v 1 (x k,θ i ) e g 1 (x k,θ i ) usando discretização e v 2. g 1 : escolha de poupança para cada tipo de jovem.

Método de Discretização e Dinâmica Exemplo 4 Comportamento individual: indivíduo que nasce com riqueza k e com tipo θ i, poupa w 2 = g 1 (k,θ i ). com probabilidade π ij ele se torna tipo j quando velho. quando velho escolhe deixar herança k = g 2 (w 2,θ j ). seu filho nascerá com riqueza k. com probabilidade π ji seu filho será do tipo i.

Método de Discretização e Dinâmica Exemplo 4 Comportamento agregado: todos os indivíduos com riqueza inicial k terão este comportamento. uma proporção π ij destes agentes se tornarão tipo j quando velho (LGN). se há p(k,i) indivíduos com riqueza k, tipo θ i e idade t, então haverá 100 p (k,j) = {p(k,l).π Lj.χ [gk (k,l)=k ] +p(k,h).π Hj.χ [gk (k,h)=k ]} k=0 indivíduos com riqueza k, tipo j e idade t +1 (módulo 2)

Método de Discretização e Dinâmica Exemplo 4 Matricialmente: [p L,p H ] = [p L,p H ] em que p i = p(:,i) t e M ij = ( ) MLL M LH = [p M HL M L,p H ]M HH π ij χ [gt(0,i)=0] π ij χ [gt(0,i)=1]... π ij χ [gt(0,i)=100] π ij χ [gt(1,i)=0] π ij χ [gt(1,i)=1]... π ij χ [gt(1,i)=100]............ π ij χ [gt(100,i)=0] π ij χ [gt(100,i)=1]... π ij χ [gt(100,i)=100]

Lucas s signal extraction model O modelo tempo discreto gerações sobrepostas: dois períodos de vida um bem de consumo por período não há tecnologia de estocagem preferências: E[u(c)+v(c )] u < 0, v < 0, u (0) = v (0) = g > 0 em que g(x) = xv (x) dotação de horas: w > 0 somente quando jovem função de produção: Um-para-Um

Lucas s signal extraction model O modelo tamanho da geração t: N t ln(n t ) = β + i ln(n i ) com probabilidade π i, i {1,2,,I} taxa crescimento da moeda: x t = Mt M t 1 ln(x t ) = λ+ j ln(x j ) com probabilidade θ j, j {1,2,,J}

Lucas s signal extraction model O modelo informação incompleta: somente z t = xt N t é observável em t ln(z t ) = λ β + k ln(z k ) com probabilidade φ k J θ j π j k j=1 em que k {1 I,2 I,,J 1} e π i = 0 para i / {1,2,,I}

Lucas s signal extraction model O modelo Problema do indivíduo restrições: c t m t p t+1 c t+1 w y t p t y t m t escolha de y t para maximizar W(y t ) = u(w y t )+E [ ( ) ] yt p t v ;p t,q t 1 p t+1 em que q t (M 0,x 1,x 2,,x t,n 1,N 2,,N t )

Lucas s signal extraction model Equiĺıbrio Definition Seja Q t o conjunto de possíveis realizações para os processos de crescimento da moeda e da população até (e incluindo) a data t com elememento típico q t. Um equiĺıbrio é uma sequência de funções {p t,y t } : Q t R tal que para todo t 1 e todo q t Q t, y t = y t (q t ) maximiza W(y t ) quando p t = p t (q t ) e quando a esperança é tomada com respeito a distribução de p t+1 = p t+1 (q t+1 ) dado que (q t 1,p t ) N t y t (q t ) = Mt p t(q t)

Lucas s signal extraction model Equiĺıbrio Theorem Existe um e apenas um equiĺıbrio tal que y t (q t ) = y(z t ) > 0 e z t /y(z t ) é estritamente crescente.

Lucas s signal extraction model Equiĺıbrio Remark Como z t assume no máximo I +J 1 valores, então y( ) é um vetor do R I+J 1. da CPO do problema do indivíduo, W (y t ) = 0, em que f(x) = xu (w x) f(y t ) = E[g(y t p t /p t+1 )] usando condições de equiĺıbrio, propriedades dos choques e φ ik πiθ i+k φ k ] f(y k ) = i φ ik [ h φ h g(y h /z h N i )