電卓で「濃厚接触」 - dentagion

HP Primeで、簡易な「感染シミュレーション」をやってみました。 # あらまし 簡単な感染シミュレーションです。 100人程度のごく小さな集団にて、感染者が、どの様に増えていくのか、それを数値実験するものであります。 リスト L1 に100人の状態を設定しております。 リストの要素(セル)1つが1人の「感染状態」を保持していて、 0 - 未感染 1〜3 - 感染 4 - 発症/隔離 としています。 リストのセルを一通り調べ、 セルの状態が4ならば「発症/隔離」として、特に何もせず セルの状態が1〜3ならば「感染」として、感染の状態数を1増やして、更新 セルの状態が0ならば「未感染」で、両隣のセルを調査 左右のセルが感染していたら、乱数によって「rate」を上回った場合に、当該未感染セルを「感染」として、状態数1 にする という処理を実施します。 最初に、リストの中央に感染セル(状態数 1)を設置、あとは、次の流れでシミュレーションを進行します。 セルのランダム移動 感染処理 未感染(Suscept), 感染(Infection), 発症/回復(Recover) の集計 この処理を30回ほど実施、経過を C1 (インデクス), C2 (未感染数), C3 (感染数), C4 (回復数) の時系列リストとして保存して終了します。 # 使い方 プログラム「dentagi.ppl」を読み込んで、実行して下さい。 最初に「rate」と、数値入力のテキストボックスが表示されるので、0から1の範囲で、適当な数字を入力してやります。すると、リスト C1, C2, C3, C4 に数値を保存し、実行を終了します。 HP Primeでは「2変数統計」機能で、リストのscatter plotを実施できますから、こうして出来上がったC1, ... C4 のリストデータを用いて、感染者数の推移をグラフに出来る、という具合。 未感染のグラフを描くには、C1 (X軸), C2 (Y軸) 感染のグラフを描くには、 C1 (X軸), C3 (Y軸) 発症/回復のグラフ...