Location: Tong_2011_V1 @ a03f680a6922 / code / Distribution-Moment-Approximation-Physiome-paper-1.0 / ZahM / ZahM.m

Author:
Leyla <noroozbabaee@gmail.com>
Date:
2022-05-10 14:01:08+12:00
Desc:
Adding Tong_2011 to PMR
Permanent Source URI:
https://models.cellml.org/workspace/85c/rawfile/a03f680a69226c515cd789723c8036028406852b/code/Distribution-Moment-Approximation-Physiome-paper-1.0/ZahM/ZahM.m

function [X0,T,R,force,stiffness,phosphorylation,m10,m20,nmp,nm]=ZahM()
%N number of time points
%trange specifies the interval of time steps
%T time grid
%X0 space grid
trange = [0 300];
N = 3000; M = 1000;
xrange = [-30 30]; f = 0.33;

T=linspace(trange(1),trange(2),N);

X0=linspace(xrange(1),xrange(2),M);

%dt=timestep
dt=(trange(2)-trange(1))/(N);

force = zeros(1,N);
stiffness = zeros(1,N);
phosphorylation = zeros(1,N);
m10 = zeros(1,N);
m11 = zeros(1,N);
m21 = zeros(1,N);
m20 = zeros(1,N);
nmp = zeros(1,N);
nm = zeros(1,N);


% Run fsolve to find equilibria

M10=0.05;
M11=0.001;
M12=0.1;
M20=0.05;
M21=0.001;
M22=0.1;
C=1;

R=[M10;M11;M12;M20;M21;M22;C];


for i=1:N %loop over number of timesteps to update then run euler
    
    
    t=trange(1)+i*dt;
    X=X0;
    
    [F1,~,~,~,~]=DM_funcs_1(t,R,f);
    [F2,~,~,~,~]=DM_funcs_1(t+(dt/2),R+((dt/2)*F1),f);
    [F3,~,~,~,~]=DM_funcs_1(t+(dt/2),R+((dt/2)*F2),f);
    [F4,q1,q2,p1,p2]=DM_funcs_1(t+dt,R+(dt*F3),f);
    
    
    
    Rnew = R + (dt/6)*(F1+(2*F2)+(2*F3)+F4);
    R=Rnew;
    
    % A rebuild of the distribution approximation for
    n1=(R(1)/((sqrt(2*pi))*q1)).*exp(-((X-p1).^(2))/(2*(q1.^(2))));
    n2=(R(4)/((sqrt(2*pi))*q2)).*exp(-((X-p2).^(2))/(2*(q2.^(2))));
    nmp(i)=1-R(7)-R(1);
    nm(i)=1-R(4)-R(1)-nmp(i);
    m10(i)=R(1);
    m11(i)=R(2);
    m21(i)=R(5);
    m20(i)=R(4);
    force(i)=R(2)+R(5);
    stiffness(i)=R(1)+R(4);
    phosphorylation(i)=(nmp(i)+m10(i));
    
    
end
figure(1)
plot(T,force,T,stiffness,T,phosphorylation)
legend('Force','Stiffness','Phosphorylation')

figure(2)
plot(T,m10,T,m20,T,nm,T,nmp)
legend('AMp','AM','M','Mp')