「入門マクロ経済学」のページをめくりつつ、その中にあるマクロ経済循環の図をなぞりつつ、Simulinkモデルを作っています。作っているSimulinkのmdlファイルは、ここ(今日時点での最新版はmacromodel_basic_20090307.mdl)に逐次置いてます。ラフスケッチ的なモデルであったとしても、全体像を形作ろうとすると色々な勘違いや、まったく理解できていない点にたくさん気づかされます。「入門マクロ経済学」のイントロダクションに書かれている経済学の難しさは、細部についてかなりの理解に到達したとしても、全体像がつかめないと、なかなか論理の一貫した議論ができないという点にあります。いう言葉だけがイヤというほどよくわかるようになります。素早く物事を納得することができる人でないと、「細部についてかなりの理解」すら難しいのです。なんだか、全体像がつかめないと、「細部」すらわかないのではないだろうか...と頭を抱えたくなくるくらい、全然わかりません。教科書のページをめくりながら、Simulkinkでモデル実装しようとすると、まず読んでいる頁に書かれている事項が「静的(静学的)」なのか「動的(動学的)」なのか、ということが今ひとつわかりません。静的・動的の区別がつかないと、モデル実装のしようがありません。動的な場合、連続的なものなのか離散化されたものなのか、という点についてもよくわからず悩みます。離散化されたものの場合には、その時間ステップについて、異なる時間ステップのものが混在していないか、どう切り分けるか...といった点について悩むわけです。何かの値を使うとき、その値をどういった微分・積分の階層で整理・実装するかなども、悩むところです。何だか「機械・制御システム」を作る時に感じるだろう課題が、この経済循環モデル実装作業には、てんこ盛りに詰まっているように思います。入っていないのは浮動小数点から固定小数点や整数処理に変える際の精度保証・オーバーフロー対策の苦労くらいではないか、と思うくらいです。逆に言えば、その難しさが魅力的だということも言えるかもしれません。Simulinkで今日作ってみたSinmulinkモデルが、下図になります。各市場部分の内部は(mdlファイルを眺めればわかるように)比較的単純な分配サブシステムになっています。オレンジ色で囲んだ部分を見るとわかるように、これは計算時間ステップがほぼ1週間(Time=0.25)という動的離散化モデルで実装されています。「Time=0~11(単位は月)=1年間」の計算終了時に、その1年間の国民総生産(GNP)などが計算される、というイメージで作ってみました。前回作ったモデルとサブシステム配置はよく似ていますが、信号線を流れている値は一階層”微分”されたもの、が流れているという具合にした「つもり」です。「つもり」なので、間違っているところも多々ありそうです。それにしても、本当に「一部を説明した文章・式」を納得することはできても、そういった一部が組み合わさった全体の実装は、とても難しいということをつづく感じさせられます。以前書いた「長い文章を書くと言うこと」を思い出したのです。一言ふと漏らすコメントは非常に的確なものなのが普通です。そのクローズアップされた狭い景色の中では特に「歪み」も「矛盾」もないのが普通ですから。短い言葉・文章というのは、見事なまでに「その狭い世界」を写し取っているはずだと思います。ところが、もう少し広い世界を写し取ろうとすると、もう少し長い文章を使って大きなものを書こうとすると、途端に色んな「食い違い」が見えてきます。Hirabayashi)ムダサイエンティスト(他称)。