! ∂ x ˙
∂x
∂ x ˙
∂ y ˙ ∂y
∂x
∂ y ˙
∂y
"
∂
∂xx˙ = ∂
∂x(−x + ay + x2y) ∂
∂yx˙ = ∂
∂y(−x + ay + x2y)
• 関数fをxで偏微分
diff(f, x);
• 関数fの定義
f = -x + a * y + x^2 * y;
• 計算結果を行列に格納
J =[ diff(f,x) , diff(f,y) ; diff(g,x) , diff(g,y) ];
前回の復習: MATLAB で線形化
• Symbolic Math ToolBoxの機能を使う
• 変数の宣言
syms x y a b; %式中のx, y, a, b は記号として扱われる
• 代数方程式をx, yについて解く
S = solve(‘ -x + a * y + x^2 * y=0’,'b - a * y - x^2 *y=0', 'x', 'y');
Sの中にx,yの解がまとめて格納される。
前回の復習:固定点の求め方
• 線形化のコードに付け足す
• 固定点の座標を計算
• 固定点の座標とパラメータをモデルに代入
• 式中の記号に数値を代入
J = subs(J, [a,b] ,[0.06,0.6])
% Jの中のa,bに0.06,0.6をそれぞれ代入
• 行列Aの固有値を求める関数
→ eig(A)
前回の復習:ヤコビ行列の求め方
空欄を埋めなさい
function selkov_jacobian( ) syms x y a b;
S = solve(' ',' ',' ',' ');
% ヌルクラインの方程式をx, yについて解く f = -x + a * y + x^2 * y;
g =
J = [ ; %fをx,yで偏微分 ]; %gをx,yで偏微分
fix = subs([S.x,S.y],[ , ],[ , ]) %固定点の座標のa,bに0.06,0.6をそれぞれ代入
J = subs(J, [ , ,,a,b] ,[ , ,0.06,0.6]) %Jに固定点の座標を代入。式中のa,bにも0.06,0.6をそれぞれ代入。
%ヤコビ行列の固有値を計算 end
出力例
>> selkov_jacobian fix =
0.6000 1.4286
J =
0.7143 0.4200 -1.7143 -0.4200
ans =
0.1471 + 0.6311i 0.1471 - 0.6311i
>>
固定点
ヤコビ行列
ヤコビ行列の固有値
• 線形化
• 固定点
• ヤコビ行列
解答
∂
∂yx˙ = ∂
∂y(−x +ay + x2y) = a +x2
∂
∂xx˙ = ∂
∂x(−x + ay + x2y) = −1 + 2xy
∂
∂xy˙ = ∂
∂x(b− ay − x2y) = −2xy ∂
∂yy˙ = ∂
∂y(b−ay − x2y) = −a −x2
! − 1 +
a+b2b22a + b
2"
! −1 + 2xy a + x2
−2xy −a − x2
"
!
b , b a + b
2"
または解答例
function selkov_jacobian( ) syms x y a b;
S = solve('-x + a * y + x^2 * y=0','b - a * y - x^2 * y=0','x','y');
% ヌルクラインの方程式をx, yについて解く f = -x + a * y + x^2 * y;
g = b - a * y - x^2 * y;
J = [ diff(f,x) , diff(f,y); %fをx,yで偏微分 diff(g,x) , diff(g,y) ]; %gをx,yで偏微分
fix = subs([S.x,S.y],[a,b],[0.06,0.6]) %固定点の座標のa,bに0.06,0.6をそれぞれ代入
J = subs(J, [x,y,a,b] ,[fix(1),fix(2),0.06,0.6])
%Jに固定点の座標を代入。式中のa,bにも0.06,0.6をそれぞれ代入。
eig(J) %ヤコビ行列の固有値を計算 end
• ノード (Node)
• すべての固有値の符号が同じ
• 負: 安定ノード (attractor)
• 正: 不安定ノード (repellor)
• サドル (Saddle)
• 固有値の符号がまちまち
• 収束方向: 安定多様体
すべての固有値が実数である固定点
d
dt ∆x = J∆x
∆x(t) = exp(Jt)∆x0
= c1exp(λ1t)v1 +· · ·cn exp(λnt)vn
y y
• スパイラル (Spiral) または フォーカス (Focus)
• すべての固有値の実部が負
• 安定
• すべての固有値の実部が正
• 不安定
• センター (Center)
• すべての固有値が純虚数
Stable Spiral Unstable Spiral
複素数の固有値を含む固定点
(Euler’s formula)
x y
x y
y
• Sel’kovモデルのヤコビ行列の固有値を虚実・正負を調べ、固定点を分類し なさい(紙と鉛筆)。ただし、a=0.06, b=0.6とする。
• ヒント1: 固有値の求め方
Ax=λx より |A-Iλ|=0
2x2行列の時は λ2-tr(A) λ+det(A)=0
• ヒント2: λの正負、虚実は特性方程式の係数で判別できる
• τ = tr(A) = λ1 + λ2
• Δ = det(A) =λ1λ2 → 同符号・異符号の判定
演習 5: Sel’kov モデルの固定点の分類
• ヤコビ行列
• Δ > 0 より 2 つの固有値は同符号
• 正負・虚実は a,b に依存
• a=0.06, b=0.6 を代入
• τ
2−4Δ < 0 なので固有値は複素数
• さらに τ > 0
より、正の実部を持つ複素数固有値解答例
∆ = det(J) = a + b
2> 0 J =
! − 1 +
a+b2b22a + b
2−
a+b2b22− a − b
2"
τ = tr(J) = − (a + b
2) − a − b
2a + b
2第 3 話 影山龍一郎
コテコテのバイオロジストが
数理モデルを作る時代
• 「体節形成は2時間周期の生物時計が支配」
• 体節
• 脊椎、肋骨のもと
• 種ごとのちがい
• ヒトは8時間に1つずつ30個
• マウスは2時間ごとに約60個
http://www.nig.ac.jp/hot/2006/saga0606-j.html
何をしている人か
• 略歴
• 1957年 大阪生まれ
• 1975年 大阪府立高津高校卒業
• 1982年 京都大学医学部卒業
• 1986年 京都大学大学院医学研究科博士課程修了
• 米国NIH研究員
• 1989年 京都大学大学院医学研究科助手
• 1991年 京都大学大学院医学研究科助教授
• 1997年〜現在 京都大学ウイルス研究所教授
• 2006〜10年 京都大学ウイルス研究所所長
• 受賞歴
• 1994年 日本生化学会奨励賞受賞
数理モデルと縁が無さそうな経歴
• Q. 「2hr振動はどのように生じるのか?」
• A. Hes1, Smad, Statから成るフィードバック・ループである
そういう人もモデルを作る時代
実験結果とシミュレーション
背後に存在する分子ネットワーク
• 提唱したネットワーク、メカニズムの実証
• モデルと実験の併用が必要
• 片方では十分な説得力が得られない
• モデルだけ
• 生物の挙動が実際そうならないかもしれない
• バンドだけ
• 間違った解釈 (無茶な理屈) かもしれない
この例から学べること
第 3 話 おわり
• リミットサイクル (limit cycle)
• 閉曲線になっている解軌道(trajectory)のこと
• 非線形現象
• Center (純虚数の固有値) とは異なる
• 隣接する軌道は閉曲線ではない
• Centerとはこの点で異なる
• 生物学的に言うと振動現象
Limit cycle
固定点を回る周期解の正体
• 互いに共役な複素固有値が虚軸を左から右に横 切る