Package jebl.evolution.coalescent
Class LogisticGrowth
- java.lang.Object
-
- jebl.evolution.coalescent.ConstantPopulation
-
- jebl.evolution.coalescent.ExponentialGrowth
-
- jebl.evolution.coalescent.LogisticGrowth
-
- All Implemented Interfaces:
DemographicFunction
- Direct Known Subclasses:
ConstLogistic
,ExponentialLogistic
public class LogisticGrowth extends ExponentialGrowth
This class models logistic growth.- Version:
- $Id: LogisticGrowth.java 390 2006-07-20 14:33:51Z rambaut $
- Author:
- Alexei Drummond, Andrew Rambaut
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jebl.evolution.coalescent.DemographicFunction
DemographicFunction.Utils
-
-
Constructor Summary
Constructors Constructor Description LogisticGrowth()
Construct demographic model with default settingsLogisticGrowth(double N0, double r, double c)
Construct demographic model with given settings
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getDemographic(double t)
Gets the value of the demographic function N(t) at time t.double
getIntegral(double start, double finish)
Calculates the integral 1/N(x) dx between start and finish.double
getIntensity(double t)
Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).double
getInverseIntensity(double x)
Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).double
getShape()
boolean
hasIntegral()
returns whether an analytical expression for the integral is implementedvoid
setShape(double value)
void
setTime50(double time50)
An alternative parameterization of this model.-
Methods inherited from class jebl.evolution.coalescent.ExponentialGrowth
getArgument, getArgumentCount, getArgumentName, getGrowthRate, getLowerBound, getUpperBound, setArgument, setDoublingTime, setGrowthRate
-
Methods inherited from class jebl.evolution.coalescent.ConstantPopulation
getN0, setN0
-
-
-
-
Method Detail
-
setShape
public void setShape(double value)
-
getShape
public double getShape()
-
setTime50
public void setTime50(double time50)
An alternative parameterization of this model. This function sets the time at which there is a 0.5 proportion of N0.
-
getDemographic
public double getDemographic(double t)
Gets the value of the demographic function N(t) at time t.- Specified by:
getDemographic
in interfaceDemographicFunction
- Overrides:
getDemographic
in classExponentialGrowth
- Parameters:
t
- the time- Returns:
- the value of the demographic function N(t) at time t.
-
getIntensity
public double getIntensity(double t)
Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).- Specified by:
getIntensity
in interfaceDemographicFunction
- Overrides:
getIntensity
in classExponentialGrowth
-
getInverseIntensity
public double getInverseIntensity(double x)
Returns value of demographic intensity function at time t (= integral 1/N(x) dx from 0 to t).- Specified by:
getInverseIntensity
in interfaceDemographicFunction
- Overrides:
getInverseIntensity
in classExponentialGrowth
-
hasIntegral
public boolean hasIntegral()
Description copied from interface:DemographicFunction
returns whether an analytical expression for the integral is implemented- Specified by:
hasIntegral
in interfaceDemographicFunction
- Overrides:
hasIntegral
in classConstantPopulation
- Returns:
- a boolean
-
getIntegral
public double getIntegral(double start, double finish)
Description copied from class:ConstantPopulation
Calculates the integral 1/N(x) dx between start and finish. The inherited function in DemographicFunction.Abstract calls a numerical integrater which is unecessary.- Specified by:
getIntegral
in interfaceDemographicFunction
- Overrides:
getIntegral
in classConstantPopulation
-
-