Skip to content

Latest commit

 

History

History

ex05

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 

課題5 (2016/9/26)

課題1で書いた線形補間のコードを fitted value iteration で使ってみる.

  • 提出方法:課題1のリポジトリにファイルを「プッシュ」する.
  • 締め切り:10月3日 (月)

A Simple Optimal Growth Model の Implementation 2 のコードで Interpolations を使わずにそれを自分の線形補間のコードで置き換え, この図この図を描いてみる.

  • quant-econ のコードを notebook にコピーして

    using Interpolations

    include("lin_interp.jl")

    で置き換える. (ファイル名は自分のものに合わせて適切に書き換える.)

  • 線形補間関数を定義している

    Aw = scale(interpolate(w, BSpline(Linear()), OnGrid()), g.grid)

    の行を

    Aw = my_lin_interp(g.grid, w)

    に置き換える. (これも自分の仕様に合わせる.)

  • われわれの仕様では Aw[] ではなく () で呼び出すようにしたので, Aw[g.f(k) - c]Aw(g.f(k) - c) に置き換える.

  • 上の方にある main 関数を参考にして,図を表示するコードを書く.

    • GrowthModel インスタンスは gm = GrowthModel() で生成する (引数を空にするとデフォルトの値が使われる).
    • gridgm の中に保持されていて gm.grid でアクセスできる.
    • betagm.bet
    • alpha は別個に定義しないといけない.
  • ついでに Exercises もやってみましょう.

    Solution notebook にある PlotlyJS を使って nbviewer で図が表示されない場合は, using PlotlyJS を独立した別のセルで実行すると表示されるようです (GitHub ではそもそも表示されないみたい). (参考 quantecon_nyu_2016 Issue #20)

  • Julia v0.5 を使っていて main 関数をそのまま使った人は

    plot!(gm.grid, ws, color=colors', label="", linewidth=2)

    の行で WARNING: the no-op `transpose` fallback is deprecated ... という warning が出ると思います (Array colors の transpose ' はもうサポートされないとのこと). これを消したい人は次のようにやるとよいです. (参考 QuantEcon.applications Issue #69)

    • for ループとその上の wscolors

      ws = Array(Array, n)
      colors = Array(RGBA, 1, n)
      for i=1:n
          w = bellman_operator(gm, w)
          ws[i] = w
          colors[i] = RGBA(0, 0, 0, i/n)
      end

      に変える. (wscolors のサイズは n とわかっているのだから空の配列に push していくことはない. colors の方は2次元配列にする.)

    • colors'' を消す.

ゼミ生の成果物