1974 year Hoppensteadt First of all, in the text [1] An age structured epidemic model is established and studied in this paper ． so far , Age structured Many achievements have been made in the study of epidemic models （ see [2]-[5] etc. ）, However, most of these models do not consider the age of infection , The influence of incubation period on disease transmission The impact of ． This can not accurately describe some infectious diseases with long incubation period and course of disease （ measles , Tuberculosis, etc ） The spread of , Therefore, the establishment of And research has physiological age , It is of great significance to establish an infectious disease model with latent period and age of infection ． at present , They also have physiological age , Get sick Age , There are few studies on latent period of infectious disease model , Only some special problems result , Ruwen [6]-[7] The physiological age and age were studied Infectious disease model based on age of infection , writing [8]-[9] We established and studied the model with simultaneous incubation period , Non immune type of age of infection and physiological age SEIS pass Disease model and well posedness of its solution ． This article focuses on measles , Tuberculosis and other diseases , Divide the crowd into groups S（ Susceptible class ）,E（ Latent class ）,I（ Get sick class ）,R（ Healing ） Four groups of people , utilize K-M Principle of silo model （ See article [10]）, It is easy to establish and has physiological age , Age of infection , latent Ambulatory SEIR Model

.

The specific code is as follows ：

function Message_Spread_Modeticload 'Data\Link.txt'; % Read in connection matrix % load

'\Data\Point_X.txt'; % Read in abscissa % load '\Data\Point_Y.txt'; % Read in ordinate

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

% State distribution and state transition probability SEIR%0: Susceptible state S（Susceptible） P_0_1; （P_0_3: Preimmunity coefficient ）%1: Latent state E（Exposed）

P_1_0;P_1_2;P_1_3%2: Infected state I（Infected） P_2_0;P_2_3%3: Immune status R（Recovered） P_3_0

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

% Calculate the degree of each user node De=sum(Link); % Degree of user node

%------------——————---- Parameter setting and description --------------------------------%[M

N]=size(Link); % Scale of connection matrix I_E=0.6; % incubation period E Infection intensity of users I_I=0.9; % Onset period I Infection intensity of users

lamda=sum(De)/M; % Average number of messages sent per unit time %P_m1： User pre immunity coefficient

%State： User status State=zeros(1,M);0: Indicates a susceptible state （Susceptible）

%---------------------------------1---------------------------------------%

% First, we discuss the user pre immunity coefficient P_m1 Impact on virus transmission TimeStep=50;%input(' Simulation time of virus propagation in SMS network ：');P_m1=[0.1,0.5,0.9];

% User pre immunity coefficient % State=zeros(TimeStep,M); % User status G_t=5; %G_t： Immune duration of users , It reflects the mutation frequency of the virus

F_t=5; %F_t： The time from virus discovery to virus killing and upgrading for i=1:length(P_m1) TimeLong_F=zeros(1,M);

% How long is the user in the period of infection TimeLong_E=zeros(1,M); % How long is the user in the incubation period Sta=zeros(1,M); % User status

% Perform pre immunization setting for j=1:M if rand(1)<=P_m1(i) Sta(j)=3; % Enter immune state TimeLong_E(j)=1;

% The time of in and out incubation period is 1 else continue; end end % state transition % Initially, a node is randomly selected as the source of disease （ At this time, the immune point cannot be selected ）

% problem ： The degree of nodes is different , There may be some reasons for the simulation results % To avoid this problem , We take the node with the highest degree as the source node , If immunized , Choose the next largest , Go down at once

[Number,Sta]=Select_Infected_Point(M,Sta,De); %Number： Disease source node %State

： Node state matrix after determining the source node State=zeros(TimeStep,M); Number_State=zeros(4,TimeStep);

% Statistics of the number of user states for t=1:TimeStep if t==1 State(t,:)=Sta; else % Simulate the state of each user node for

j=1:M % Determine the state of the user node , Then according to its state to determine its transformation if State(t-1,j)==0 % At this point in the susceptible state 0, It may be transferred to the incubation period

Num=Select_Number_Near(j,Link); % Find the node j Neighbor nodes of P=zeros(1,length(Num));

% The probability of a neighbor node infecting the node for k=1:length(Num) if State(t-1,Num(k))==1 % The node is in the incubation period E（1）

P(k)=I_E/De(Num(k))*sum((lamda.^([1:De(Num(k))]).*exp(-lamda))./...

(factorial([1:De(Num(k))]-1))); else if State(t-1,Num(k))==2 % The node is in the infected stage I（2）

P(k)=I_I/De(Num(k))*sum((lamda.^([1:De(Num(k))]).*exp(-lamda))./(factorial([1:De(Num(k))]-1)));

else continue; end end end P_0_1=max(P); % Probability of node infected with virus if rand<=P_0_1 % At this time, the node enters the incubation period

State(t,j)=1; else State(t,j)=State(t-1,j); end else if State(t-1,j)==1

% At this point in the latent state E, May be susceptible to S, Get sick I And immunity R transfer if rand<=1/(1+exp(-De(j))) % Towards the state of infection I transfer State(t,j)=2;

TimeLong_F(j)=TimeLong_F(j)+1; % user j Duration of illness else if rand<=1/(1+exp(-De(j)))

% To the susceptible state S transfer State(t,j)=0; else if rand<=1/(1+exp(-De(j))) % Towards immune state R transfer State(t,j)=3;

TimeLong_E(j)=TimeLong_E(j)+1; % Immune time increased 1 else State(t,j)=State(t-1,j);

% The state remains unchanged , It's still the incubation period E（1） end end end else if State(t-1,j)==2 % At this time, he was in a state of being infected with the disease I, May be susceptible to S, immune R transfer

if TimeLong_F(j)<=F_t % This means that the user will not deal with the virus at this time State(t,j)=State(t-1,j); % At this time, the user remains in the original state I

TimeLong_F(j)=TimeLong_F(j)+2; else % At this time, the user will carry out antivirus and upgrade the virus library , Enter immune state R State(t,j)=3;

TimeLong_F(j)=0; % It's in the stage of infection （ Toxic state ） Length of time TimeLong_E(j)=1; % The length of time into the immune phase end else

% At this time, the user is in the immune period if TimeLong_E<=G_t % The virus did not mutate at this time , Maintain the original state R（ Immune status ） State(t,j)=State(t-1,j);

TimeLong_E(j)=TimeLong_E(j)+1; % The time in immune phase increased else if rand<=1/G_t % Virus mutation , State transition to susceptible state S

State(t,j)=0; TimeLong_E(j)=0; else % At this time, the user status remains unchanged State(t,j)=State(t-1,j);

TimeLong_E(j)=TimeLong_E(j)+1; % The time in immune phase increased end end end end end end end

% Count the number of nodes in each state Number_State(1,t)=sum(State(t,:)==0);% In a susceptible state S Total number of nodes

Number_State(2,t)=sum(State(t,:)==1);% In a susceptible state E Total number of nodes

Number_State(3,t)=sum(State(t,:)==2);% In a susceptible state I Total number of nodes

Number_State(4,t)=sum(State(t,:)==3);% In a susceptible state R Total number of nodes figure(i) if rem(t,3)==0

plot([t-1 t],[Number_State(1,t-1) Number_State(1,t)],'md-'),hold on plot([t-1

t],[Number_State(2,t-1) Number_State(2,t)],'gh:'),hold on plot([t-1

t],[Number_State(3,t-1) Number_State(3,t)],'bs-.'),hold on plot([t-1

t],[Number_State(4,t-1) Number_State(4,t)],'k.-'),hold on else continue; end

legend(' Susceptible state Susceptible',' Latent state Exposed',' Infected state Infected',' Immune status Recovered')

xlabel(' Simulation time ') ylabel(' Number of users in each state ') endendP_m1=0.3; % User pre immunity coefficient %

State=zeros(TimeStep,M); % User status % G_t=5; %G_t： Immune duration of users , It reflects the mutation frequency of the virus G_t=[1,5,9];

F_t=5; %F_t： The time from virus discovery to virus killing and upgrading for i=1:length(G_t) TimeLong_F=zeros(1,M);

% How long is the user in the period of infection TimeLong_E=zeros(1,M); % How long is the user in the incubation period Sta=zeros(1,M); % User status

% Perform pre immunization setting for j=1:M if rand(1)<=P_m1 Sta(j)=3; % Enter immune state TimeLong_E(j)=1;

% The time of in and out incubation period is 1 else continue; end end % state transition % Initially, a node is randomly selected as the source of disease （ At this time, the immune point cannot be selected ）

% problem ： The degree of nodes is different , There may be some reasons for the simulation results % To avoid this problem , We take the node with the highest degree as the source node , If immunized , Choose the next largest , Go down at once

[Number,Sta]=Select_Infected_Point(M,Sta,De); %Number： Disease source node %State

： Node state matrix after determining the source node State=zeros(TimeStep,M); Number_State=zeros(4,TimeStep);

% Statistics of the number of user states for t=1:TimeStep if t==1 State(t,:)=Sta; else % Simulate the state of each user node for

j=1:M % Determine the state of the user node , Then according to its state to determine its transformation if State(t-1,j)==0 % At this point in the susceptible state 0, It may be transferred to the incubation period

Num=Select_Number_Near(j,Link); % Find the node j Neighbor nodes of P=zeros(1,length(Num));

% The probability of a neighbor node infecting the node for k=1:length(Num) if State(t-1,Num(k))==1 % The node is in the incubation period E（1）

P(k)=I_E/De(Num(k))*sum((lamda.^([1:De(Num(k))]).*exp(-lamda))./...

(factorial([1:De(Num(k))]-1))); else if State(t-1,Num(k))==2 % The node is in the infected stage I（2）

P(k)=I_I/De(Num(k))*sum((lamda.^([1:De(Num(k))]).*exp(-lamda))./...

(factorial([1:De(Num(k))]-1))); else continue; end end end P_0_1=max(P);

% Probability of node infected with virus if rand<=P_0_1 % At this time, the node enters the incubation period State(t,j)=1; else State(t,j)=State(t-1,j);

end else if State(t-1,j)==1 % At this point in the latent state E, May be susceptible to S, Get sick I And immunity R transfer if

rand<=1/(1+exp(-De(j))) % Towards the state of infection I transfer State(t,j)=2; TimeLong_F(j)=TimeLong_F(j)+1;

% user j Duration of illness else if rand<=1/(1+exp(-De(j))) % To the susceptible state S transfer State(t,j)=0; else

if rand<=1/(1+exp(-De(j))) % Towards immune state R transfer State(t,j)=3;

TimeLong_E(j)=TimeLong_E(j)+1; % Immune time increased 1 else State(t,j)=State(t-1,j);

% The state remains unchanged , It's still the incubation period E（1） end end end else if State(t-1,j)==2 % At this time, he was in a state of being infected with the disease I, May be susceptible to S, immune R transfer

if TimeLong_F(j)<=F_t % This means that the user will not deal with the virus at this time State(t,j)=State(t-1,j); % At this time, the user remains in the original state I

TimeLong_F(j)=TimeLong_F(j)+2; else % At this time, the user will carry out antivirus and upgrade the virus library , Enter immune state R State(t,j)=3;

TimeLong_F(j)=0; % It's in the stage of infection （ Toxic state ） Length of time TimeLong_E(j)=1; % The length of time into the immune phase end else

% At this time, the user is in the immune period if TimeLong_E<=G_t(i) % The virus did not mutate at this time , Maintain the original state R（ Immune status ） State(t,j)=State(t-1,j);

TimeLong_E(j)=TimeLong_E(j)+1; % The time in immune phase increased else if rand<=1/G_t(i)

% Virus mutation , State transition to susceptible state S State(t,j)=0; TimeLong_E(j)=0; else % At this time, the user status remains unchanged

State(t,j)=State(t-1,j); TimeLong_E(j)=TimeLong_E(j)+1; % The time in immune phase increased end end end

end end end end % Count the number of nodes in each state Number_State(1,t)=sum(State(t,:)==0);% In a susceptible state S Total number of nodes

Number_State(2,t)=sum(State(t,:)==1);% In a susceptible state E Total number of nodes

Number_State(3,t)=sum(State(t,:)==2);% In a susceptible state I Total number of nodes

Number_State(4,t)=sum(State(t,:)==3);% In a susceptible state R Total number of nodes figure(i+5) if rem(t,3)==0

plot([t-1 t],[Number_State(1,t-1) Number_State(1,t)],'md-'),hold on plot([t-1

t],[Number_State(2,t-1) Number_State(2,t)],'gh:'),hold on plot([t-1

t],[Number_State(3,t-1) Number_State(3,t)],'bs-.'),hold on plot([t-1

t],[Number_State(4,t-1) Number_State(4,t)],'k.-'),hold on else continue; end

legend(' Susceptible state Susceptible',' Latent state Exposed',' Infected state Infected',' Immune status Recovered')

xlabel(' Simulation time ') ylabel(' Number of users in each state ') endendP_m1=0.3; % User pre immunity coefficient %

State=zeros(TimeStep,M); % User status % G_t=5; %G_t： Immune duration of users , It reflects the mutation frequency of the virus G_t=5;

F_t=[1,5,9]; %F_t： The time from virus discovery to virus killing and upgrading for i=1:length(F_t) TimeLong_F=zeros(1,M);

% How long is the user in the period of infection TimeLong_E=zeros(1,M); % How long is the user in the incubation period Sta=zeros(1,M); % User status

% Perform pre immunization setting for j=1:M if rand(1)<=P_m1 Sta(j)=3; % Enter immune state TimeLong_E(j)=1;

% The time of in and out incubation period is 1 else continue; end end % state transition % Initially, a node is randomly selected as the source of disease （ At this time, the immune point cannot be selected ）

% problem ： The degree of nodes is different , There may be some reasons for the simulation results % To avoid this problem , We take the node with the highest degree as the source node , If immunized , Choose the next largest , Go down at once

[Number,Sta]=Select_Infected_Point(M,Sta,De); %Number： Disease source node %State

： Node state matrix after determining the source node State=zeros(TimeStep,M); Number_State=zeros(4,TimeStep);

% Statistics of the number of user states for t=1:TimeStep if t==1 State(t,:)=Sta; else % Simulate the state of each user node for

j=1:M % Determine the state of the user node , Then according to its state to determine its transformation if State(t-1,j)==0 % At this point in the susceptible state 0, It may be transferred to the incubation period

Num=Select_Number_Near(j,Link); % Find the node j Neighbor nodes of P=zeros(1,length(Num));

% The probability of a neighbor node infecting the node for k=1:length(Num) if State(t-1,Num(k))==1 % The node is in the incubation period E（1）

P(k)=I_E/De(Num(k))*sum((lamda.^([1:De(Num(k))]).*exp(-lamda))./...

(factorial([1:De(Num(k))]-1))); else if State(t-1,Num(k))==2 % The node is in the infected stage I（2）

P(k)=I_I/De(Num(k))*sum((lamda.^([1:De(Num(k))]).*exp(-lamda))./...

(factorial([1:De(Num(k))]-1))); else continue; end end end P_0_1=max(P);

% Probability of node infected with virus if rand<=P_0_1 % At this time, the node enters the incubation period State(t,j)=1; else State(t,j)=State(t-1,j);

end else if State(t-1,j)==1 % At this point in the latent state E, May be susceptible to S, Get sick I And immunity R transfer if

rand<=1/(1+exp(-De(j))) % Towards the state of infection I transfer State(t,j)=2; TimeLong_F(j)=TimeLong_F(j)+1;

% user j Duration of illness else if rand<=1/(1+exp(-De(j))) % To the susceptible state S transfer State(t,j)=0; else

if rand<=1/(1+exp(-De(j))) % Towards immune state R transfer State(t,j)=3;

TimeLong_E(j)=TimeLong_E(j)+1; % Immune time increased 1 else State(t,j)=State(t-1,j);

% The state remains unchanged , It's still the incubation period E（1） end end end else if State(t-1,j)==2 % At this time, he was in a state of being infected with the disease I, May be susceptible to S, immune R transfer

if TimeLong_F(j)<=F_t(i) % This means that the user will not deal with the virus at this time State(t,j)=State(t-1,j); % At this time, the user remains in the original state I

TimeLong_F(j)=TimeLong_F(j)+2; else % At this time, the user will carry out antivirus and upgrade the virus library , Enter immune state R State(t,j)=3;

TimeLong_F(j)=0; % It's in the stage of infection （ Toxic state ） Length of time TimeLong_E(j)=1; % The length of time into the immune phase end else

% At this time, the user is in the immune period if TimeLong_E<=G_t % The virus did not mutate at this time , Maintain the original state R（ Immune status ） State(t,j)=State(t-1,j);

TimeLong_E(j)=TimeLong_E(j)+1; % The time in immune phase increased else if rand<=1/G_t % Virus mutation , State transition to susceptible state S

State(t,j)=0; TimeLong_E(j)=0; else % At this time, the user status remains unchanged State(t,j)=State(t-1,j);

TimeLong_E(j)=TimeLong_E(j)+1; % The time in immune phase increased end end end end end end end

% Count the number of nodes in each state Number_State(1,t)=sum(State(t,:)==0);% In a susceptible state S Total number of nodes

Number_State(2,t)=sum(State(t,:)==1);% In a susceptible state E Total number of nodes

Number_State(3,t)=sum(State(t,:)==2);% In a susceptible state I Total number of nodes

Number_State(4,t)=sum(State(t,:)==3);% In a susceptible state R Total number of nodes figure(i+10) if rem(t,3)==0

plot([t-1 t],[Number_State(1,t-1) Number_State(1,t)],'md-'),hold on plot([t-1

t],[Number_State(2,t-1) Number_State(2,t)],'gh:'),hold on plot([t-1

t],[Number_State(3,t-1) Number_State(3,t)],'bs-.'),hold on plot([t-1

t],[Number_State(4,t-1) Number_State(4,t)],'k.-'),hold on else continue; end

legend(' Susceptible state Susceptible',' Latent state Exposed',' Infected state Infected',' Immune status Recovered')

xlabel(' Simulation time ') ylabel(' Population by state ') endendtoc

qq 1575304183

Technology

- Python156 blogs
- Java139 blogs
- Vue91 blogs
- Flow Chart80 blogs
- javascript44 blogs
- C++43 blogs
- algorithm41 blogs
- programing language40 blogs
- more...

Daily Recommendation

views 5

views 3

views 2

views 2

©2020-2021 ioDraw All rights reserved

SQL SERVER Splits comma separated strings into lines Spring Cloud 2020.0.0 release Goodbye Netflix heap （ Big root pile , Small root pile ）Pentagonal radar chart How ABC The three threads execute ten times in sequence HTML page template“Python Is the best language in the world ” For beginners Python Is development difficult to learn ? Is it suitable for beginners ?Vue cache algorithm, LRU policy algorithmDrawing of venue seat map