伝染病モデル, コンタクトプロセス

目次 解答例(ないかも)

最後の更新は次の時刻以降のはず.Time-stamp: "2003/03/25 Tue 10:23 hig"


課題23_01(ta133)伝染病モデル

(書き直しましたが, 同じ意味のつもりです)

講義で説明した, 2次元の伝染病モデルを考える. 不健康な者は各自, 確率的に健康に戻る. 平均すると, 単位時間(1月=30日としよう)あたり平均1回健康に戻る. 健康な者は, 確率的に発病する. 平均すると, 単位時間あたり, λ × (隣接する患者数) 回発病する.

サンプルプログラムepidemic1.cを完成させて この過程をアニメーションしよう. このとき, 1日を1タイムステップとし, 乱数を用いて, 次の手順で状態を更新することにする.

  1. 不健康な者一人一人について乱数を引いて, 確率的に健康に戻る.
  2. すべての者が回復の試みを行ったあと, 一人一人について, 隣接する(回復しなかった)患者数を計算する. 乱数を引いて, 患者数に比例する確率で発病する.

完成例: ~hig/cs2/cp/epidemic1

課題23_02(ta134)コンタクトプロセス

課題22_02 は, x 軸上に, 時間とともに変化する個体数の分布 n(x,t) を描くアニメーションだった. このモデルについて, contact1d2.c を完成させて, これを書き変えて, n(x,t) が画面上の (x,y)=(x,t) に順に描かれるような アニメーション を作ろう.

それには, 配列 n[XMAX],nextn[XMAX] の役目を 2次元配列 n[XMAX][TMAX] にさせればよい.

余りをとるときの割る数をいろいろ変えてみよう. 余りが 0 のときは何も描かないようにしよう.

完成例: ~hig/cs2/cp/contact1d2


Copyright © 2002 Saburo Higuchi. All rights reserved.
Saburo HIGUCHI, hig mail address