我想制作一个分叉图来演示以下方程组的双稳态区域:Toggle switch equations
我已经确定了这个系统的零斜线以及它们的交点(通过MATLAB)。我从here中读到,我必须在雅可比行列式中插入所述点,但老实说,我不知道如何继续。对于分叉图,我想绘制alpha 1与alpha 2。
将感谢任何额外的提示,为MATLAB实现!
% This code block sets up the differential equations
% and the equations for the nullclines
alpha1 = 5; % Effective synthesis rate of repressor 1
alpha2 = 5; % Effective synthesis rate of repressor 2
beta = 3; % Repression cooperativity of promoter 2
gamma = 3; % Repression cooperativity of promoter 1
maxY = 5.5; % Specifies max y-axis value
u = linspace(0,maxY,100);
v = linspace(0,maxY,100);
nullU = alpha1./(1+v.^beta); % Setting du/dt = 0
nullV = alpha2./(1+u.^gamma); % Setting dv/dt = 0
% I'm also exploring the time-course of u and v with respect to time
% so I'm using this function as well
function hillfx = toggle(t,y,alpha1,alpha2,beta,gamma)
du = -y(1) + alpha1/(1+(y(2)^beta));
dv = -y(2) + alpha2/(1+(y(1)^gamma));
hillfx = [du; dv];
end
1条答案
按热度按时间bogh5gae1#
你可以尝试改变其中的一个参数,一个好的方法是为alpha1的范围创建一个新变量(这可以通过linspace()函数来完成)接下来创建一个矩阵来存储来自结果微分方程的平衡点,并设置ode45函数的初始条件(y0)到[0,0]。您还需要相应地为beta和gamma创建变量。
在alpha1Range的长度上循环i并首先保存alpha1Range使用求解具有a1、α 2、β的微分方程的ode45函数,gamma和y0。您可能还需要使用切换功能。保存输出(时间步长和解值)s到变量,然后将该数据的平衡点存储在平衡点矩阵的第i个位置。
现在,您可以使用alpha1Range和第一列平衡点中的所有元素调用plot函数来绘制分叉图。