Math Modeling Models

These models and simulations have been tagged “Math Modeling”.

Related tagsSIRNon-dimensionalize

 Spring, 2020: in the midst of on-line courses, due to the pandemic of Covid-19.      With the onset of the Covid-19 coronavirus crisis, we focus on SIRD models, which might realistically model the course of the disease.     We start with an SIR model, such as that featured in the MAA model featured
Spring, 2020: in the midst of on-line courses, due to the pandemic of Covid-19.

With the onset of the Covid-19 coronavirus crisis, we focus on SIRD models, which might realistically model the course of the disease.

We start with an SIR model, such as that featured in the MAA model featured in

Without mortality, with time measured in days, with infection rate 1/2, recovery rate 1/3, and initial infectious population I_0=1.27x10-4, we reproduce their figure

With a death rate of .005 (one two-hundredth of the infected per day), an infectivity rate of 0.5, and a recovery rate of .145 or so (takes about a week to recover), we get some pretty significant losses -- about 3.2% of the total population.

Resources:
This simple model demonstrates exponential growth or decay in a population.  A comparable Mathematica file is at http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/ExponentialGrowth-and-DecayModel.nb
This simple model demonstrates exponential growth or decay in a population.

A comparable Mathematica file is at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/ExponentialGrowth-and-DecayModel.nb
This is a first example of a simple SIR (Susceptible, Infected, Recovered) model.   There are three pools of individuals: those who are infected (without them, no disease!), the pool of those who are at risk (susceptible), and the recovered -- who may lose their immunity and become susceptible again
This is a first example of a simple SIR (Susceptible, Infected, Recovered) model.

There are three pools of individuals: those who are infected (without them, no disease!), the pool of those who are at risk (susceptible), and the recovered -- who may lose their immunity and become susceptible again.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel.nb

This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at  https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions  Thanks Scott Fortmann-Roe.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at
https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions
Thanks Scott Fortmann-Roe.

I've created a Mathematica file that replicates the model, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker.nb

It allows one to experiment with adjusting the initial number of moose and wolves on the island.

I used steepest descent in Mathematica to optimize the parameters, with my objective data being the ratio of wolves to moose. You can try my (admittedly) kludgy code, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker-BestFit.nb

{WolfBirthRateFactorStart,
WolfDeathRateStart,
MooseBirthRateStart,
MooseDeathRateFactorStart,
moStart,
woStart} =
{0.000267409,
0.239821,
0.269755,
0.0113679,
591,
23.};

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

 The basic model of  Modelling the Canada lynx and snowshoe hare population cycle: The role of specialist predators ( Tyson, et al.) demonstrates logistic growth in prey, and in predator (with prey dependence for carrying capacity). But interestingly, one possibility is limit cycles, which mimic the
The basic model of Modelling the Canada lynx and snowshoe hare population cycle: The role of specialist predators (Tyson, et al.) demonstrates logistic growth in prey, and in predator (with prey dependence for carrying capacity). But interestingly, one possibility is limit cycles, which mimic the cycling of the populations in nature.

The differential equations for the population of hare (x) is

x'(t) = rx(1-x/K)
            - gamma x^2/(x^2+eta^2)
            - alpha y x/(x+mu)

where K is the logistic carrying capacity of the prey (hare), in the absence of predation; the second term is a "generalist predation" term;  and the third term is the "specialist predation" (in the limit as the prey gets big, this becomes simply proportional to y (the lynx population)).

The differential equations for the population of lynx (y) is

y'(t) = sy(1- qy/x) = sy - sqy^2/x

for the predator (lynx), which is essentially logistic growth. Its growth term suggests exponential growth, but there is a loss term of the form sqy^2/x -- loss is proportional to population (crowding), and inversely proportional to prey density. As the hare population goes to zero, so shall the lynx....

As one can see, the prey density won't change if y=x/q. If the prey density were not changing at the same time, the system would be at equilibrium.

In this InsightMaker model, I scaled the second equation by multiplying by q, then replace y by w=qy throughout both equations. This requires a slight change in the prey equation -- alpha replaced by the ratio of alpha/q.  (I used my favorite mathematical trick, of multiplying by the appropriate form of 1!)

So what we're really looking at here is the system

x'(t) = rx(1-x/K)
            - gamma x^2/(x^2+eta^2)
            - alpha/q w x/(x+mu)
w'(t) = sw(1- w/x)

where w(t)=qy(t).

Tyson, et al. took q to be about 212 for hare and lynx -- so that it requires about 212 hare to allow for one lynx to survive at "equilibrium".

However, when alpha -- the hares/lynx/year -- gets sufficiently large (e.g. 1867 -- and that does seem like a lot of hares per lynx per year...:), limit cycles develop (rather than a stable equilibrium). This means that the populations oscillate about the equilibrium values, rather than stabilize at those values.

Author: Andy Long, Northern Kentucky University (2020)

Reference: Tyson, Rebecca, Sheena Haines,  Karen Hodges. Modelling the Canada lynx and snowshoe hare population cycle: The role of specialist predators. Theoretical Ecology. 3, 97–111 (2010). https://doi.org/10.1007/s12080-009-0057-1

Resource: A comparable Mathematica model can be found at  http://ceadserv1.nku.edu/longa//classes/mat375/days/Mathematica/BasicModel.nb,
which allows one to experiment a little more easily than one can with this InsightMaker model.
This non-dimensionalized, sleekest most neatest model illustrates predator prey interactions using logistic growth for the moose population, for the wolf and moose populations on Isle Royale.   Thanks Scott Fortmann-Roe for the original model.  I've added in an adjustment to handle population sizes,
This non-dimensionalized, sleekest most neatest model illustrates predator prey interactions using logistic growth for the moose population, for the wolf and moose populations on Isle Royale.

Thanks Scott Fortmann-Roe for the original model.

I've added in an adjustment to handle population sizes, by dividing by moose carrying capacity.

Time is scaled by the moose birth parameter:
tau=bm*t

There are therefore only three parameters left to account for any dynamics:

beta = bw/bm (relative wolf to moose births)
delta = dm/bm (relative death to birth ratio for moose)
gamma = dw/bm (wolf deaths to moose births)

The equations are thus

dM/dtau = M [ (1-M) - delta W ]
dW/dtau = W [beta M - gamma ]

There is a stable equilibrium pair of population values, relative to the carrying capacity:

M^* = gamma / beta
W^* = (1-gamma / beta) / delta

I have a sleek version with a logistical growth term for the moose, at

http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker-sleek.nb
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This (simplest!) model demonstrates logistic growth.The original differential equation looks like  y'(t) = b y(t) (1 - y(t)/K)   where K is the carrying capacity of the quantity y.       But if we divide each side of the equation by K, we obtain      d(y/K)/dt = b (y/K) (1-y/K)     Defining a new va
This (simplest!) model demonstrates logistic growth.The original differential equation looks like

y'(t) = b y(t) (1 - y(t)/K)

where K is the carrying capacity of the quantity y.

But if we divide each side of the equation by K, we obtain

d(y/K)/dt = b (y/K) (1-y/K)

Defining a new variable w, the population relative to its carrying capacity, we obtain

dw/dt = b w (1 - w)

Finally we divide both sides by b, to write

dw/d(bt) = w (1 - w)

So if we work in dimensionless time units of bt, we have

w' = w (1 - w)

where the derivative is with respect to the variable bt=τ. .
τ=τ
This
       This equation, as simple as possible, contains all the dynamics (all the ways the population can behave), while masking the "trivialities"; but it kind of hides the physical aspects of the problem. So it's easy to study, but harder to interpret: alas, you can't have it all!:) 

τ=1 when t=1b: so if b=.5/year, then τ=1 when t=2.

So the larger b (the greater the birthrate), the shorter the real time t to give τ=1.
τ=τ=

τ=

This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at  https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions  Thanks Scott Fortmann-Roe.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at
https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions
Thanks Scott Fortmann-Roe.

I've created a Mathematica file that replicates the model, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker.nb

It allows one to experiment with adjusting the initial number of moose and wolves on the island.

I used steepest descent in Mathematica to optimize the parameters, with my objective data being the ratio of wolves to moose. You can try my (admittedly) kludgy code, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker-BestFit.nb

{WolfBirthRateFactorStart,
WolfDeathRateStart,
MooseBirthRateStart,
MooseDeathRateFactorStart,
moStart,
woStart} =
{0.000267409,
0.239821,
0.269755,
0.0113679,
591,
23.};

This simple model demonstrates logistic growth.The differential equation looks like  y'(t)=by(t)(1-y(t)/K)  where K is the carrying capacity of the quantity y. Alternatively,  y'(t)=by(t) - b/K*y(t)^2     so the growth term suggests exponential growth, but there is a loss term is of the form b/K y(t
This simple model demonstrates logistic growth.The differential equation looks like

y'(t)=by(t)(1-y(t)/K)

where K is the carrying capacity of the quantity y. Alternatively,

y'(t)=by(t) - b/K*y(t)^2

so the growth term suggests exponential growth, but there is a loss term is of the form b/K y(t) -- loss is proportional to population (crowding).

A comparable Mathematica file is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/LogisticGrowth-and-DecayModel.nb
Thanks to https://insightmaker.com/insight/25229/SIR-model-with-stochastic-events for this example of adding stochasticity to the SIR model. "A simple extension of the tutorial SIR example, adding in Poisson events for infection and recovery. There is one macro, RandPoissonStep(rate)... to simulate
Thanks to
https://insightmaker.com/insight/25229/SIR-model-with-stochastic-events
for this example of adding stochasticity to the SIR model. "A simple extension of the tutorial SIR example, adding in Poisson events for infection and recovery. There is one macro, RandPoissonStep(rate)... to simulate Poisson processes."

I've tried to add in the infection step, as well as turn numbers into integers (without much luck). But it certainly has some interesting dynamics! I've also added in a phase plane graphic.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at  https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions  Thanks Scott Fortmann-Roe.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at
https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions
Thanks Scott Fortmann-Roe.

I've created a Mathematica file that replicates the model, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker.nb

It allows one to experiment with adjusting the initial number of moose and wolves on the island.

I used steepest descent in Mathematica to optimize the parameters, with my objective data being the ratio of wolves to moose. You can try my (admittedly) kludgy code, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker-BestFit.nb

{WolfBirthRateFactorStart,
WolfDeathRateStart,
MooseBirthRateStart,
MooseDeathRateFactorStart,
moStart,
woStart} =
{0.000267409,
0.239821,
0.269755,
0.0113679,
591,
23.};

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at  https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions  Thanks Scott Fortmann-Roe.
This model illustrates predator prey interactions using real-life data of wolf and moose populations on the Isle Royale. It was "cloned" from a model that InsightMaker provides to its users, at
https://insightmaker.com/insight/2068/Isle-Royale-Predator-Prey-Interactions
Thanks Scott Fortmann-Roe.

I've added in an adjustment to handle population.

I've created a Mathematica file that replicates the model, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker.nb

It allows one to experiment with adjusting the initial number of moose and wolves on the island.

I used steepest descent in Mathematica to optimize the parameters, with my objective data being the ratio of wolves to moose. You can try my (admittedly) kludgy code, at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/Moose-n-Wolf-InsightMaker-BestFit.nb

{WolfBirthRateFactorStart,
WolfDeathRateStart,
MooseBirthRateStart,
MooseDeathRateFactorStart,
moStart,
woStart} =
{0.000267409,
0.239821,
0.269755,
0.0113679,
591,
23.};

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This is a simple example of (part of a) simple SIR (Susceptible, Infected, Recovered) model, suggested by De Vries,  et al . in  A Course in Mathematical Biology.    They wanted to illustrate the comparative behavior of differential equations and discrete difference equations. We know that different
This is a simple example of (part of a) simple SIR (Susceptible, Infected, Recovered) model, suggested by De Vries, et al. in A Course in Mathematical Biology.

They wanted to illustrate the comparative behavior of differential equations and discrete difference equations. We know that differential equations are generally solved numerically by discretizing them, so that the comparison is a little bit rigged....

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-w-discrete-version.nb

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This is a simple example of (part of a) simple SIR (Susceptible, Infected, Recovered) model, suggested by De Vries,  et al . in  A Course in Mathematical Biology.    They wanted to illustrate the comparative behavior of differential equations and discrete difference equations. We know that different
This is a simple example of (part of a) simple SIR (Susceptible, Infected, Recovered) model, suggested by De Vries, et al. in A Course in Mathematical Biology.

They wanted to illustrate the comparative behavior of differential equations and discrete difference equations. We know that differential equations are generally solved numerically by discretizing them, so that the comparison is a little bit rigged....

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-w-discrete-version.nb

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb

This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters .   We're rescaled this SIR model, so that time is given in infection rate-appropriate time units,
This is an example of an SIR (Susceptible, Infected, Recovered) model that has been re-parameterized down to the bare minimum, to illustrated the dynamics possible with the fewest number of parameters.

We're rescaled this SIR model, so that time is given in infection rate-appropriate time units, "rates" are now ratios of rates (with infectivity rate in the denominator), and populations are considered proportions (unfortunately InsightMaker doesn't function properly if I give them all values from 0 to 1, which sum to 1 -- so, at the moment, I give them values that sum to 100, and consider the results percentages).

The new display includes the asymptotics: the three sub-populations will tend to fixed values as time goes to infinity; the infected population goes to zero if the recovery rate is greater than the infectivity rate -- i.e., the disease dies out.

Note the use of a "ghost" stock (for Total Population), which I think is a pretty cool idea. It cuts down on the number of arcs in the model graph.

A comparable model in Mathematica is available at
http://www.nku.edu/~longa/classes/2018spring/mat375/mathematica/SIRModel-rescaled.nb