ルンゲクッタ法を用いた 数値計算

ルンゲ・クッタ法を用いた
数値計算
(伝染病モデルより)
TA 河合俊典
伝染病モデルとは
伝染病の伝わる様子をシミュレート
次式で表される(最もシンプルな場合)
dx/dt = -ixy +ry
(← 非感染者数増減の式)
dy/dt = ixy -ry
(← 感染者数増減の式)
感染
治癒
x:非感染者数
y:感染者数
i :感染率
r :治癒率
結果
感染率 i = 0.005 (一定)
t=12の時にワクチン開発 (t<12の時 r=0、 t≧12の時 r=0.6)
ワクチン投与開始
↓
非感染者
感染者
これを踏まえて、次は応用編へ・・・
映画「バイオハザードⅢ」公開記念(?)
某工大バイオハザード
シミュレーション
映画見たことない人のために
・「Tウイルス」なる恐ろしいウイルスが存在
・Tウイルスに感染するとゾンビに・・・
・ただし、感染後数時間は理性が保たれており、
この間に抗ウイルス剤を投与すれば治る。
・投与せずに放置すればそのままゾンビに。
理性を失ってさまよい歩き、生きている人を襲う。
・ゾンビにかじられたり、引っかかれたりすると感染。
・ゾンビになってしまうと、もう抗ウイルス剤は効かない。
ここは、東京都内の、とある国立大学、
某京工業大学、通称「某工大」。
そこで、事件は起こった・・・。
なんと、本館の地下研究施設で極秘に
Tウイルスの研究を行われていたのだ・・・
しかし、実験中のミスにより、ウイルスが蔓延。
実験中だった研究員2人が知らぬ間に感染し、
そのままゾンビに・・・
生きている人間を見かけては、襲いかかる!
バイオハザード発生!!
事件発生から5分後
保健管理センターに一報が入る。
感染拡大防止のために全ての門が閉鎖。
キャンパス内にいた2000人が閉じこめられる。
事件発生から15分後
保健管理センターのおばちゃん、
事件現場に到着。
感染者に対し、抗ウイルス剤の投与を始める。
それでも、感染は広がるばかり。
始めは2人だったゾンビの数も次第に増え始める。
事件発生から60分後
自衛隊が到着 - ゾンビ撃退へ
しかし、どんどん広がる感染!
果たして某工大の運命やいかに・・・
この様子をシミュレーション
dx/dt = -ixz +ry
(← 非感染者数増減の式)
dy/dt = ixz -ry -dy
(← 感染者数増減の式)
dz/dt = dy -kz
(← ゾンビ数増減の式)
感染
治癒
ゾンビ化
ゾンビ撃退
本シミュレーションでは次のように設定
x(0) = 2000
y(0) = 0
z(0) = 2
i = 0.005
r = 0.0 (t<15) r = 0.3 (t≧15)
d= 0.01
k= 0.0 (t<60) k = 0.3 (t≧60)
x:非感染者数 i:感染率
y:感染者数
r:治癒率
z:ゾンビ数
d:ゾンビ化率
k:ゾンビ撃退率
某工大の運命は・・・
おばちゃん、頑張る
↓
自衛隊到着
↓
感染者
非感染者
ゾンビ
事件発生から約120分後にはほぼ事態は収束。
どうやら1200人ほどは助かったみたいです。
犠
牲
者
の
ご
冥
福
を
お
祈
り
致
し
ま
す
もしも・・・
・自衛隊の到着が遅れていたら (t≧90 で k = 0.3)
・保健管理センターのおばちゃんの
処置がなかったら (ずっと治癒率 r = 0)
・某工大生が不真面目だったら (x(0) 減少)
・偶然にも、学園祭の日だったら (x(0) 上昇)
・のら猫にも感染していたら (感染率 i 上昇)
いろいろパラメータをいじってみよう!
某工大の運命は果たしてどう変化するのか・・・?