Dear all

I have simulated the CTMC model while facing an issue of array bound error

anyway who can resolve the error using the code here attached

%CTCM for transmission dynamics of rabies

%By Mfano Charles

%PhD Student (AMCS) - NM-AIST, Arusha, Tz

%21 June, 2024

clear all

close all

clc;

set(0,'DefaultAxesFontSize', 10)%Increases axes labels

set(gca,'fontsize',18);%Changes font size in a figure.

%-------------------------------------------------------------------------

%% Parameter values of the model

time=79; %time

%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%

rho_1=10; %Deterrent coeffiecient of domestic dogs from I_F

rho_2=8; %Deterrent coeffiecient of domestic dogs from I_D

rho_3=15; %Deterrent coeffiecient of domestic dogs from M

theta_1=2000; % recurement of susceptible human

tau_1=0.0004; %The rate that S_H get infections from I_F

tau_2=0.0006; %The rate S_H get infection from I_D %paremeter Estimation

tau_3=0.0003; %The rate that S_H get infection from M

beta_1=1/6; %progression rate out of E_H to I_H(Incubation period of human)

beta_2=1; %Recovery rate of E_H

beta_3=0.54; %Rate of immunity loss of human being

mu_1=0.0142; %Natural death rate of human

sigma_1=1; %Disease induced rate of I_H

theta_2=1000; %Recruitment rate of free range dogs

gamma=1/6; %Progression rate of E_F to I_F

kappa_1=0.00002; %The rate that S_F becomes I_F from I_F

kappa_2=0.00008;%The rate that S_F bceomes infection from I_D

kappa_3=0.00004; %The rate that S_F gets infection form M

sigma_2=0.09;% Disease induced death rate of I_F

mu_2=0.067; %Natural Mortality rate of free-range dogs

theta_3=1200;%Recruitment rate of domestic dog population

psi_1=0.00009; %The rate that S_D get infection from I_F

psi_2=0.00007; %The rate that S_D get infection from I_D

psi_3=0.00003; %The rate that S_D get infection from M

sigma_3= 0.09;%1; %Disease induced death rate for I_D

gamma_1=1/6; %The rate at which E_D becomes I_D

gamma_2=0.09; %Recovery rate of E_D

gamma_3=0.05; %The rate of loss of immunity of E_D

mu_3=0.08; % The naural Mortality rate of domestic dogs

nu_1=0.002; %Environment shedding rate from I_H

nu_2=0.009; %Environment shedding rate from I_F

nu_3=0.005; %Environment shedding rate from I_D

mu_4=0.08; %Naural removal rate of rabies

C=0.003; % Rabies concetration in the environment

%++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++%

%% Euler’s method for solving ODE

S_H= theta_1/mu_1;

S_F= theta_2/mu_2;

S_D= theta_3/mu_3;

%++++++++++++++++++++++++++++++++++++%

%X=S_H; X1=E_H; X2=I_H; X3=R_H; P=S_F; P1=E_F; P2=I_F; Y=S_D;Y1=E_D;Y2=I_D;

%Y3=R_D; Z=M

%+++++++++++++++++++++++++++++++++++++++++++++++++%

%x=S_H; x1=E_H; x2=I_H; x3=R_H; p=S_F; p1=E_F; p2=I_F; y=S_D;y1=E_D;y2=I_D;

%y3=R_D; z=M

%++++++++++++++++++++++++++++++++++++%

dt=0.05; tim=time/dt; kk=0:dt:time;

%Initial conditions

a0=1; b0=0;c0=1; d0=1; e0=1;f0=1;g0=1;q0=1; k0=1; h0=2;

m0=1;n0=1;

%---------------------------------------------------------------------------

%x(1)=a0;

x1(1)=b0;

x2(1)=c0;

x3(1)=d0;

%p(1)=e0;

p1(1)=f0;

p2(1)=g0;

%y(1)=q0;

y1(1)=k0;

y2(1)=h0;

y3(1)=m0;

z(1)=n0;

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

x(1)=S_H-(b0+c0+d0);

p(1)=S_F-(f0+g0);

y(1)=S_D-(k0+h0+m0);

%--------------------------------------------------------------------------------

for jj=1:tim

% HUMAN POPULATION

x(jj+1) = x(jj) + dt * (theta_1 + beta_3 * x3(jj) - mu_1 * x(jj) - (tau_1 * p2(jj) + tau_2 * y2(jj) + tau_3 * z(jj) / (z(jj) + C)) * x(jj));

x1(jj+1) = x1(jj) + dt * ((tau_1 * p2(jj) + tau_2 * y2(jj) + tau_3 * z(jj) / (z(jj) + C)) * x(jj) - (mu_1 + beta_1 + beta_2) * x1(jj));

x2(jj+1) = x2(jj) + dt * (beta_1 * x1(jj) - (sigma_1 + mu_1) * x2(jj));

x3(jj+1) = x3(jj) + dt * (beta_2 * x1(jj) - (beta_3 + mu_1) * x3(jj));

% FREE RANGE POPULATION

p(jj+1) = p(jj) + dt * (theta_2 - (kappa_1 * p2(jj) + kappa_2 * y2(jj) + kappa_3 * z(jj) / (z(jj) + C)) * p(jj) - mu_2 * p(jj));

p1(jj+1) = p1(jj) + dt * ((kappa_1 * p2(jj) + kappa_2 * y2(jj) + kappa_3 * z(jj) / (z(jj) + C)) * p(jj) - (mu_2 + gamma) * p1(jj));

p2(jj+1) = p2(jj) + dt * (gamma * p1(jj) - (mu_2 + sigma_2) * p2(jj));

% DOMESTIC DOG POPULATION

y(jj+1) = y(jj) + dt * (theta_3 - ((psi_1 / (1 + rho_1)) * p2(jj) + (psi_2 / (1 + rho_2)) * y2(jj) + (psi_3 * z(jj) / (1 + rho_3)) * (z(jj) + C)) * y(jj) - mu_3 * y(jj) + gamma_3 * y3(jj));

y1(jj+1) = y1(jj) + dt * (((psi_1 / (1 + rho_1)) * p2(jj) + (psi_2 / (1 + rho_2)) * y2(jj) + (psi_3 * z(jj) / (1 + rho_3)) * (z(jj) + C)) * y(jj) - (mu_3 + gamma_1 + gamma_2) * y1(jj));

y2(jj+1) = y2(jj) + dt * (gamma_1 * y1(jj) - (mu_3 + sigma_3) * y2(jj));

y3(jj+1) = y3(jj) + dt * (gamma_2 * y1(jj) - (mu_3 + sigma_3) * y3(jj));

% RABIES IN THE ENVIRONMENT

z(jj+1) = z(jj) + dt * ((nu_1 * x2(jj) + nu_2 * p2(jj) + nu_3 * y2(jj)) - mu_4 * z(jj));

%================================================================

end

%Three sample paths for CTMC (Gillespie’s algorithm)

for k=1:3

clear t X X1 X2 X3 P P1 P2 Y Y1 Y2 Y3 Z

j=1;

% X1(1)=a0; X2(1)=b0; P1(1)=c0; P2(1)=m0;%P2(1)=w*c0;

% Y1(1)=k0; Y2(1)=n0;%Y2(1)=eta*k0;

% Z(1)=h0;

%X(1)=a0;

X1(1)=b0;

X2(1)=c0;

X3(1)=d0;

%P(1)=e0;

P1(1)=f0;

P2(1)=g0;

%Y(1)=q0;

Y1(1)=k0;

Y2(1)=h0;

Y3(1)=m0;

Z(1)=n0;

X(1)=S_H-(b0+c0+d0);Y(1)=S_F-(e0+f0);P=S_D-(k0+h0+m0);

t(1)=0; %Starting at zero

%------------------------------------------------------------

while (X1(j)+X2(j)+P1(j)+P2(j)+Y1(j)+Y2(j)+Z(j))>0 && t(j)

More Mfano Charles's questions See All
Similar questions and discussions