Programming Homework Help

University of Rhode Island Running Ode45 on A System of Od Es Project

 

I have initial condition, rate constant, and ODEs written in a function but cannot run it with ode45. I tried a few different methods but still not able to solve it. I believe there’s something wrong with my function here. Help and guidance will be much appreciated. Output the ode45 integration result. 

code: 

% coagulation model 1996 RAS

% ode45 solver

% initial condition IC

XIa = 0.3; % nM

IXa = 0;

Xa = 0;

II = 1000; % nM <- prothrombin

IIa = 0; % <- thrombin

VIIIa = 0;

APC = 0;

Va = 0;

Ia = 0; % fibrin

Z = 0;

W = 0;

% putting all initial condition into one variable

IC = [XIa IXa Xa II IIa VIIIa APC Va Ia Z W];

y0 = zeros(8,1); 

tspan = [0 100]; % 0 to 100 mins – time scale

[t,IXa, Xa, IIa, II, VIIIa, Va, APC, Ia] = ode45(@ODEsystem,tspan,IC);

plot(t,IXa, Xa, IIa, II, VIIIa, Va, APC, Ia,’-o’); 

function dydt = ODEsystem(t, IXa, Xa, IIa, II, VIIIa, Va, APC, Ia)

% kinetic constant for thrombin generation model

k9 = 20; % min.^-1

h9 = 0.2; % min.^-1

k8 = 0.00001; % min.^-1

h8 = 0.31; % min.^-1

ka = 1.2; % nM.^-1 min.^-1

k5 = 0.17; % min.^-1

h5 = 0.31; % min.^-1

kcat = 24; % min.^-1

km = 20; % nM

kd = 1; % nM

k10_catmax = 0.003; % min.^-1 or = 500

h10 = 1; % min.^-1

k2_catmax = 2.3; % min.^-1 or = 2000

h2 = 1.3; % min.^-1

k_apc = 0.0014; % min.^-1

h_apc = 0.1; % min.^-1

k1 = 2.82; % min.^-1

k11 = 0.0078; % min.^-1

h11 = 0.2; % min.^-1

% 8 ODEs 

dIxadt = k9*XIa – h9*IXa;

dXadt = k10*IXa + k10*Z – h10*Xa;

dIIadt = k2*Xa*(II/(II+K2m)) + k2*W*(II/(II+K2m)) – h2*IIa;

dIIdt = -k2*Xa*(II/(II+K2m)) – k2*W*(II/(II+K2m));

dVIIIadt = k8*IIa – h8*VIIIa – ka*APC*(VIIIa+Z);

dVadt = k5*IIa – h5*Va – ka*APC*(Va+W);

dAPCdt = k_apc*IIa – h_apc*APC;

dIadt = k1*IIa;

end