Package jebl.evolution.coalescent
Class EmpiricalDemographicFunction
- java.lang.Object
-
- jebl.evolution.coalescent.EmpiricalDemographicFunction
-
- All Implemented Interfaces:
DemographicFunction
public class EmpiricalDemographicFunction extends java.lang.Object implements DemographicFunction
- Version:
- $Id$
- Author:
- Oliver Pybus, Andrew Rambaut
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jebl.evolution.coalescent.DemographicFunction
DemographicFunction.Utils
-
-
Constructor Summary
Constructors Constructor Description EmpiricalDemographicFunction(double[] populationSizes, double[] times, boolean stepwise)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
getArgument(int n)
Returns the value of the nth argument of this function.int
getArgumentCount()
Returns the number of arguments for this function.java.lang.String
getArgumentName(int n)
Returns the name of the nth argument of this function.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 finishdouble
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 inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).double
getLowerBound(int n)
Returns the lower bound of the nth argument of this function.double
getUpperBound(int n)
Returns the upper bound of the nth argument of this function.boolean
hasIntegral()
returns whether an analytical expression for the integral is implementedvoid
setArgument(int n, double value)
Sets the value of the nth argument of this function.
-
-
-
Method Detail
-
getDemographic
public double getDemographic(double t)
Gets the value of the demographic function N(t) at time t.- Specified by:
getDemographic
in interfaceDemographicFunction
-
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
-
getInverseIntensity
public double getInverseIntensity(double x)
Returns value of inverse demographic intensity function (returns time, needed for simulation of coalescent intervals).- Specified by:
getInverseIntensity
in interfaceDemographicFunction
-
hasIntegral
public boolean hasIntegral()
Description copied from interface:DemographicFunction
returns whether an analytical expression for the integral is implemented- Specified by:
hasIntegral
in interfaceDemographicFunction
- Returns:
- a boolean
-
getIntegral
public double getIntegral(double start, double finish)
Description copied from interface:DemographicFunction
Calculates the integral 1/N(x) dx between start and finish- Specified by:
getIntegral
in interfaceDemographicFunction
-
getArgumentCount
public int getArgumentCount()
Returns the number of arguments for this function.- Specified by:
getArgumentCount
in interfaceDemographicFunction
-
getArgumentName
public java.lang.String getArgumentName(int n)
Returns the name of the nth argument of this function.- Specified by:
getArgumentName
in interfaceDemographicFunction
-
getArgument
public double getArgument(int n)
Returns the value of the nth argument of this function.- Specified by:
getArgument
in interfaceDemographicFunction
-
setArgument
public void setArgument(int n, double value)
Sets the value of the nth argument of this function.- Specified by:
setArgument
in interfaceDemographicFunction
-
getLowerBound
public double getLowerBound(int n)
Returns the lower bound of the nth argument of this function.- Specified by:
getLowerBound
in interfaceDemographicFunction
-
getUpperBound
public double getUpperBound(int n)
Returns the upper bound of the nth argument of this function.- Specified by:
getUpperBound
in interfaceDemographicFunction
-
-