sitemap.xml llms.txt
Skip to main content

SimLang Functions

This page documents all built-in functions available in SimLang as implemented in Epicenter.

Table of contents​

Click one of the function categories below or use the detailed table of contents on the right.

Operators​

Logical operators can be part of an equation for any variable or decision. They are listed below in order of precedence (highest first).

OperatorDescription
!Logical NOT
%Percent — divides the value immediately to its left by 100
^Power
* /Multiply, Divide
+ -Add, Subtract
== !=Logical equal, not equal
> < >= <=Comparison operators
&&Logical AND
||Logical OR

Logical functions​

AND​

Returns 1 (true) if all arguments are non-zero; returns 0 (false) if any argument is 0.

Syntax​

AND(<expr1>, <expr2>, ...)

Example​

V All True = AND(1, 5 > 4, 5 == 2) # returns 0

FALSE​

Returns 0.


IF​

Returns second argument if condition is true (non-zero), third argument if false (0).

Syntax​

IF(<condition>, <if_true>, <if_false>)

Example​

V Sell Stock = IF(58 > 20, 1, 0) # returns 1

NOT​

Inverts a logical expression. Returns 0 if argument is non-zero, 1 if argument is 0.

Syntax​

NOT(<expr>)

Example​

V Opposite = NOT(FALSE) # returns 1

OR​

Returns 0 if all arguments are 0; returns 1 if any argument is non-zero.

Syntax​

OR(<expr1>, <expr2>, ...)

Example​

V One Is True = OR(0, 3 > 2, 10 == 11) # returns 1

TRUE​

Returns 1.


Mathematical functions​

Note

Some math functions may return NaN (not a number) for invalid inputs.

ABS​

Absolute value.

Syntax​

ABS(<expr>)

Example​

V Change = ABS(-100) # returns 100

ACOS​

Arc cosine in radians.

Syntax​

ACOS(<expr>)


ASIN​

Arc sine in radians.

Syntax​

ASIN(<expr>)


ATAN​

Arc tangent in radians.

Syntax​

ATAN(<expr>)


CEILING​

Rounds up to the nearest multiple of <significance> (default 1).

Syntax​

CEILING(<expr>, <significance>)

Example​

V Value = CEILING(44.2, 10) # returns 50
V Value = CEILING(2.5, 1) # returns 3

COS​

Cosine of an angle in radians.

Syntax​

COS(<expr>)


COSH​

Hyperbolic cosine.

Syntax​

COSH(<expr>)


E​

Returns the value of e (2.718281828…).


EXP​

Returns e raised to the given power.

Syntax​

EXP(<expr>)


FLOOR​

Rounds down to the nearest multiple of <significance> (default 1).

Syntax​

FLOOR(<expr>, <significance>)

Example​

V Value = FLOOR(112.7, 10) # returns 110
V Value = FLOOR(112.7) # returns 112

FRAC​

Returns the fractional part of a number.

Syntax​

FRAC(<expr>)

Example​

V Population = FRAC(40.9) # returns 0.9

INT​

Rounds down to the nearest integer (toward negative infinity).

Syntax​

INT(<expr>)

Example​

V Population = INT(40.9) # returns 40

LN​

Natural logarithm.

Syntax​

LN(<expr>)


LOG10​

Base-10 logarithm.

Syntax​

LOG10(<expr>)


MOD​

Modulus (remainder after division).

Syntax​

MOD(<expr>, <divisor>)

Example​

V Remainder = MOD(8, 3) # returns 2
V Remainder = MOD(-1, 10) # returns 9

NAN​

Returns NaN (not a number).


PCT​

Converts a fraction to a percentage (multiplies by 100).

Syntax​

PCT(<expr>)

Example​

V Profitability = PCT(0.34) # returns 34

PI​

Returns π (3.14159…).


ROUND​

Rounds to a specified number of digits. If <num_digits> is omitted, rounds to nearest integer.

Syntax​

ROUND(<expr>, <num_digits>)

Example​

V Value = ROUND(2.15, 1) # returns 2.2
V Value = ROUND(45.7, -1) # returns 50

ROUNDDOWN​

Rounds toward zero to a specified number of digits.

Syntax​

ROUNDDOWN(<expr>, <num_digits>)


ROUNDUP​

Rounds away from zero to a specified number of digits.

Syntax​

ROUNDUP(<expr>, <num_digits>)


SAFEDIV0​

Divides <expr1> by <expr2>; returns 0 if <expr2> is 0.

Syntax​

SAFEDIV0(<expr1>, <expr2>)


SAFEDIVX​

Divides <expr1> by <expr2>; returns <expr3> if <expr2> is 0.

Syntax​

SAFEDIVX(<expr1>, <expr2>, <expr3>)


SIGN​

Returns 1 if positive, 0 if zero, -1 if negative.

Syntax​

SIGN(<expr>)


SIN​

Sine of an angle in radians.

Syntax​

SIN(<expr>)


SINH​

Hyperbolic sine.

Syntax​

SINH(<expr>)


SQRT​

Square root. Returns NaN for negative inputs.

Syntax​

SQRT(<expr>)

Example​

V Root = SQRT(1000000) # returns 1000

TAN​

Tangent of an angle in radians.

Syntax​

TAN(<expr>)


TANH​

Hyperbolic tangent.

Syntax​

TANH(<expr>)


TRUNC​

Truncates to an integer by removing the fractional part.

Syntax​

TRUNC(<expr>)

Example​

V Truncated = TRUNC(45.764) # returns 45
V Truncated = TRUNC(-8.9) # returns -8

Time functions​

Time functions return values that change with each step or depend on values over time.

ACCUM​

Accumulates <value> for each time step. If <init> is omitted, uses the first argument as the initial value.

Syntax​

ACCUM(<value>, <init>)

Example​

V Cumulative Sales = ACCUM(1, 100)
# Step 0: 100, Step 1: 101, Step 2: 102

ACCUMPERIOD​

Returns the cumulative amount of <expr> over a <period> of steps, with optional <offset> and <initialvalue>.

Syntax​

ACCUMPERIOD(<expr>, <period>, <offset>, <initialvalue>)


DELAY​

Delays <input> by <delaytime> steps. Quantities in the pipeline are conserved even if the delay time changes.

Syntax​

DELAY(<input>, <delaytime>, <initialvalue>)

Example​

V Two Step Delay = DELAY(5, 2, 0)
# Step 0: 0, Step 1: 0, Step 2: 5, Step 3: 5

DELAYSTATE​

Returns the internal state of a delay variable. <state_subscript> 1 returns the current output, 2 returns the next upcoming output, etc.

Syntax​

DELAYSTATE(<delayed_variable>, <state_subscript>)


DERIVN​

Returns the Nth order derivative of <input>. Defaults to first order.

Syntax​

DERIVN(<input>, <order>)


ENDSTEP​

Returns the final step number of the simulation (0-based).

Example​

M StartTime = 2010
M EndTime = 2020
V Last Step = ENDSTEP # returns 10

ENDTIME​

Returns the EndTime property value.


FORECAST​

Returns a forecasted future value based on <input>, an <averagingtime>, and a <futuretime>.

Syntax​

FORECAST(<input>, <averagingtime>, <futuretime>, <initial>)


HIVAL​

Returns the highest value seen since the start of the simulation.

Syntax​

HIVAL(<expr>)


IMMEDIATE​

Returns the current user-entered value of a decision even when ExecuteDecisionImmediately is false.

Syntax​

IMMEDIATE(<decision>)


INITIAL​

Stores and always returns the initial value of an expression.

Syntax​

INITIAL(<expr>)

Example​

V Initial Sales = INITIAL(10 + STEP)
# Returns 10 at every step

INTERVALCOUNT​

Counts steps where <expr> is within [<lowval>, <hival>]. Optional <includeHiVal> argument controls whether the upper bound is inclusive.

Syntax​

INTERVALCOUNT(<expr>, <lowval>, <hival>, <includeHiVal>)


LOVAL​

Returns the lowest value seen since the start of the simulation.

Syntax​

LOVAL(<expr>)


NONNEGATIVE​

Used as the third argument to STOCK to force a stock to always be zero or positive.


PREVIOUS​

Returns the value from the previous step. <initvalue> is the value returned at step 0.

Syntax​

PREVIOUS(<expr>, <initvalue>)

Example​

V Sales = PREVIOUS(Sales * 1.1, 100)
# Step 0: 100, Step 1: 110, Step 2: 121

PULSE​

A periodic pulse starting at <first> and repeating every <interval>. Pulse amount is <volume> / timestep.

Syntax​

PULSE(<volume>, <first>, <interval>)


RAMP​

Returns 0 before <starttime>, then increases with <slope> per time unit until <stoptime>, then holds constant.

Syntax​

RAMP(<slope>, <starttime>, <stoptime>)

Example​

V Steady Growth = RAMP(1, 1, 3)
# Step 0: 0, Step 1: 0, Step 2: 1, Step 3: 2, Step 4: 2

REMEMBER​

Reads and stores a value from <inputstream> whenever <condition> is true.

Syntax​

REMEMBER(<condition>, <inputstream>, <initvalue>)


SAMPLE​

Periodically samples and holds a value from <inputstream>.

Syntax​

SAMPLE(<inputstream>, <first>, <interval>, <initial>)


STEP​

Returns the current step number (0-based).


SMOOTH​

Returns an exponential smooth of <input>.

Syntax​

SMOOTH(<input>, <delaytime>, <order>, <initial>)

Example​

V Perceived Value = SMOOTH(10, 2, 1, 0)
# Step 0: 0, Step 1: 5, Step 2: 7.5, Step 3: 8.75

STARTTIME​

Returns the StartTime property value.


STEPCHANGE​

Returns 0 before <starttime>, then <height> from that step onward.

Syntax​

STEPCHANGE(<height>, <starttime>)


STOCK​

Accumulates flows. Equivalent to a system dynamics stock. If NONNEGATIVE is passed as the third argument, the stock is always forced to zero or positive after each step.

Syntax​

STOCK(<flow>, <initialvalue>, <nonnegative>)

Example​

V Inventory = STOCK(5, 100)
# Step 0: 100, Step 1: 105, Step 2: 110

V Inventory = STOCK(-10, 0, NONNEGATIVE)
# Step 0: -10, Step 1: 0, Step 2: 0

TIME​

Returns the current simulation time.


TIMECYCLE​

Returns 1 for <duration> steps every <interval>, starting at <first>; returns 0 otherwise.

Syntax​

TIMECYCLE(<first>, <interval>, <duration>)


TIMESTEP​

Returns the TimeStep property value.


TREND​

Returns the relative change in <input> per time unit.

Syntax​

TREND(<input>, <averagingtime>, <initial>)


Financial functions​

ARRAYIRR​

Internal Rate of Return for an array of cash flows. If multiple valid IRR values exist, returns the one closest to <guess> (default 0.2).

Syntax​

ARRAYIRR(<cash_flow_array>, <guess>)

Example​

V IRR = ARRAYIRR({-100, 30, 30, 30, 30, 30}) # returns 0.15

ARRAYNPV​

Net Present Value for an array of cash flows at a given discount <rate>.

Syntax​

ARRAYNPV(<cash_flow_array>, <rate>)

Example​

V NPV = ARRAYNPV({-100, 30, 30, 30, 30, 30}, 10%) # returns 12.48

FV​

Future Value. <type> 0 = payment at start of period (default), 1 = end of period.

Syntax​

FV(<rate>, <nper>, <pmt>, <pv>, <type>)

Example​

V Future Value = FV(10%, 3, -1000, 100, 0) # returns 3176.90

NPER​

Number of periods to pay off an investment.

Syntax​

NPER(<rate>, <pmt>, <pv>, <fv>, <type>)

Example​

V Periods = NPER(10%, -200, -2000, 5000, 0) # returns 5.87

NPV​

Net Present Value accumulated over time as cash flows occur.

Syntax​

NPV(<rate>, <amount>, <starttime>)


PMT​

Payment amount for an investment.

Syntax​

PMT(<rate>, <nper>, <pv>, <fv>, <type>)

Example​

V Payment = PMT(10%, 10, -2000, 1000, 0) # returns 262.75

PV​

Present Value.

Syntax​

PV(<rate>, <nper>, <pmt>, <fv>, <type>)

Example​

V Present Value = PV(10%, 3, -1000, 100, 0) # returns 2411.72

Array functions​

ARRAYACCUM​

Cumulative sum of array elements. The Nth element of the result is the sum of the Nth element and all preceding elements.

Syntax​

ARRAYACCUM(<array>)

Example​

V Cumulative[4] = ARRAYACCUM({10, 20, 30, 40}) # returns {10, 30, 60, 100}

ARRAYALLOCP​

Distributes supply across a vector of requests according to a vector of priorities.

Syntax​

ARRAYALLOCP(<supply>, <requestvector>, <priorityvector>, <width>)


ARRAYAREAXY​

Area under an XY curve between x values <start> and <end>.

Syntax​

ARRAYAREAXY(<start>, <end>, {{X1,Y1},{X2,Y2},...})


ARRAYAVG​

Average of array elements.

Syntax​

ARRAYAVG(<array>)

Example​

V Avg = ARRAYAVG({0, 10, 90, 100}) # returns 50

ARRAYCOUNT​

Number of elements in an array.

Syntax​

ARRAYCOUNT(<array>)

Example​

V Count = ARRAYCOUNT({0, 10, 90, 100}) # returns 4

ARRAYCOUNTEQ​

Count of elements equal to <target>.

Syntax​

ARRAYCOUNTEQ(<target>, <array>)


ARRAYCOUNTGT​

Count of elements greater than <target>.

Syntax​

ARRAYCOUNTGT(<target>, <array>)


ARRAYCOUNTGTEQ​

Count of elements greater than or equal to <target>.

Syntax​

ARRAYCOUNTGTEQ(<target>, <array>)


ARRAYCOUNTLT​

Count of elements less than <target>.

Syntax​

ARRAYCOUNTLT(<target>, <array>)


ARRAYCOUNTLTEQ​

Count of elements less than or equal to <target>.

Syntax​

ARRAYCOUNTLTEQ(<target>, <array>)


ARRAYCOUNTNEQ​

Count of elements not equal to <target>.

Syntax​

ARRAYCOUNTNEQ(<target>, <array>)


ARRAYGRAPH​

Lookup with linear interpolation from an equally spaced table. If input is below <startx>, returns first output; if above the last x, returns last output.

Syntax​

ARRAYGRAPH(<input>, <startx>, <intervalx>, {<outval1>, <outval2>, ...})

Example​

V Result = ARRAYGRAPH(STEP, 0, 2, {10, 30, 0})
# Step 0: 10, Step 1: 20, Step 2: 30, Step 3: 15

ARRAYGRAPHSTEP​

Lookup without interpolation from an equally spaced table.

Syntax​

ARRAYGRAPHSTEP(<input>, <startx>, <intervalx>, {<outval1>, <outval2>, ...})


ARRAYGRAPHXY​

Lookup with linear interpolation from a table of ordered pairs {X, Y}. <interpolation_mode>: 0 = linear (default), 1 = start of segment, 2 = end of segment. <extrapolation_mode>: 0 = constant (default), 1 = linear, -1 = NaN.

Syntax​

ARRAYGRAPHXY(<input>, {{X1,Y1},{X2,Y2},...}, <interpolation_mode>, <extrapolation_mode>)

Example​

# Equivalent of a Vensim Lookup:
V Crowding Effect Lookup[1..8, 1..2] = {
{0,0.333},
{0.207951,0.403509},
{0.66055,0.692982},
{1,1},
{1.65138,1.48246},
{2.53211,1.80702},
{3.21713,1.9386},
{3.93884,2}
}
V Crowding Effect = ARRAYGRAPHXY(Rabbit Population / Carrying Capacity, Crowding Effect Lookup)

ARRAYGRAPHYX​

Like ARRAYGRAPHXY, but looks up input on the Y axis.

Syntax​

ARRAYGRAPHYX(<input>, {{X1,Y1},{X2,Y2},...}, <interpolation_mode>, <extrapolation_mode>)


ARRAYMAX​

Maximum element in an array.

Syntax​

ARRAYMAX(<array>)


ARRAYMEDIAN​

Median value of an array.

Syntax​

ARRAYMEDIAN(<array>)


ARRAYMIN​

Minimum element in an array.

Syntax​

ARRAYMIN(<array>)


ARRAYMIRR​

Modified IRR considering both cost of investment and reinvestment interest.

Syntax​

ARRAYMIRR(<array>, <finance_rate>, <reinvestment_rate>)


ARRAYPRODUCT​

Product of all array elements.

Syntax​

ARRAYPRODUCT(<array>)

Example​

V Product = ARRAYPRODUCT({4, 2, 1, 3}) # returns 24

ARRAYRANK​

Relative rank of each element. Duplicates are ranked by position from left.

Syntax​

ARRAYRANK(<array>)

Example​

V Ranks[4] = ARRAYRANK({400, 200, 200, 300}) # returns {4, 1, 2, 3}

ARRAYSLOPEXY​

Slope of a curve at a point, from a table of ordered pairs.

Syntax​

ARRAYSLOPEXY(<input>, {{X1,Y1},{X2,Y2},...}, <extrapolation_mode>)


ARRAYSORT​

Sorts an array in ascending order (only the first dimension for multi-dimensional arrays).

Syntax​

ARRAYSORT(<array>)

Example​

V Sorted[4] = ARRAYSORT({40, 20, 10, 30}) # returns {10, 20, 30, 40}

ARRAYSTDDEV​

Standard deviation of array elements (equivalent to Excel's STDEVP).

Syntax​

ARRAYSTDDEV(<array>)

Example​

V StdDev = ARRAYSTDDEV({0, 10, 90, 100}) # returns 45.27

ARRAYSUM​

Sum of all array elements.

Syntax​

ARRAYSUM(<array>)

Example​

V Total = ARRAYSUM({0, 10, 90, 100}) # returns 200

FIRST​

Returns the first index or enumerated item in a range.

Syntax​

FIRST(<rangename>)

Example​

R Array Range = 5..27
V First Element = FIRST(Array Range) # returns 5

FOREACH​

Constructs an array by applying <expr> to each item in <array_range>.

Syntax​

FOREACH(<item>, <array_range>, <expr>)

Example​

V NewSales[10] = FOREACH(item, 10, item * 10)
# returns {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}

INDEXMAX​

Index of the largest element. For multidimensional arrays, specify <dimension>.

Syntax​

INDEXMAX(<array>, <dimension>)

Example​

V MaxLoc = INDEXMAX({34, 78, 50, 67}) # returns 2

INDEXMIN​

Index of the smallest element. For multidimensional arrays, specify <dimension>.

Syntax​

INDEXMIN(<array>, <dimension>)


INDEXOF​

Index of <findval> in a vector, or NaN if not found.

Syntax​

INDEXOF(<findval>, <vector>, <startindex>)


INDEXGT​

Index of first element greater than <findval>.

Syntax​

INDEXGT(<findval>, <vector>, <startindex>)


INDEXGTEQ​

Index of first element greater than or equal to <findval>.

Syntax​

INDEXGTEQ(<findval>, <vector>, <startindex>)


INDEXLT​

Index of first element less than <findval>.

Syntax​

INDEXLT(<findval>, <vector>, <startindex>)


INDEXLTEQ​

Index of first element less than or equal to <findval>.

Syntax​

INDEXLTEQ(<findval>, <vector>, <startindex>)


INDEXNEQ​

Index of first element not equal to <findval>.

Syntax​

INDEXNEQ(<findval>, <vector>, <startindex>)


LAST​

Returns the last index or enumerated item in a range.

Syntax​

LAST(<rangename>)

Example​

R Array Range = 5..27
V Last Element = LAST(Array Range) # returns 27

MATRIXINVERT​

Inversion of a square matrix.

Syntax​

MATRIXINVERT(<squarematrix>)


MATRIXPRODUCT​

Product of two 2D matrices. If <matrix1> is m×n and <matrix2> is n×p, result is m×p.

Syntax​

MATRIXPRODUCT(<matrix1>, <matrix2>)


MATRIXTRANSPOSE​

Transposes a 2D matrix.

Syntax​

MATRIXTRANSPOSE(<matrix>)


RANGECOUNT​

Number of elements in a range.

Syntax​

RANGECOUNT(<rangename>)

Example​

R Array Range = 5..27
V Count = RANGECOUNT(Array Range) # returns 23

Miscellaneous functions​

AVG​

Average of a list of arguments.

Syntax​

AVG(<expr1>, <expr2>, ...)

Example​

V Average = AVG(0, 10, 90, 100) # returns 50

BETADIST​

Cumulative beta probability density function.

Syntax​

BETADIST(<x>, <alpha>, <beta>)


BETAINV​

Inverse of the cumulative beta probability density.

Syntax​

BETAINV(<probability>, <alpha>, <beta>)


BINOMDIST​

Individual term binomial distribution probability. <cumulative> 1 = cumulative, 0 = density.

Syntax​

BINOMDIST(<number_s>, <trials>, <probability_s>, <cumulative>)


EXPONDIST​

Exponential distribution. <cumulative> 1 = cumulative, 0 = density.

Syntax​

EXPONDIST(<x>, <lambda>, <cumulative>)


EXPRND​

Random number from an exponential distribution with mean <lambda> (default 1).

Syntax​

EXPRND(<lambda>)


FDIST​

F probability distribution.

Syntax​

FDIST(<x>, <degrees_freedom1>, <degrees_freedom2>)


FINV​

Inverse of the F probability distribution.

Syntax​

FINV(<probability>, <degrees_freedom1>, <degrees_freedom2>)


GAMMADIST​

Gamma distribution. <cumulative> 1 = cumulative, 0 = density.

Syntax​

GAMMADIST(<x>, <alpha>, <beta>, <cumulative>)


GAMMAINV​

Inverse of the cumulative gamma distribution.

Syntax​

GAMMAINV(<probability>, <alpha>, <beta>)


GRAPH​

Lookup with linear interpolation from equally spaced values. Arguments are passed individually (not as an array).

Syntax​

GRAPH(<input>, <startx>, <intervalx>, <outval1>, <outval2>, ...)

Example​

V Result = GRAPH(STEP, 0, 2, 10, 30, 0)
# Step 0: 10, Step 1: 20, Step 2: 30, Step 3: 15

GRAPHSTEP​

Lookup without interpolation from equally spaced values.

Syntax​

GRAPHSTEP(<input>, <startx>, <intervalx>, <outval1>, <outval2>, ...)


HYPGEOMDIST​

Hypergeometric distribution.

Syntax​

HYPGEOMDIST(<sample_s>, <number_sample>, <population_s>, <number_population>)


LIMITFLOW​

Adjusts a flow to keep one or two stocks non-negative. Use in conjunction with STOCK(..., NONNEGATIVE).

Syntax​

LIMITFLOW(<flowexpr>, <stock1>, <stock2>)

Example​

V Factory Inventory = STOCK(-Shipments, 1000)
V Warehouse Inventory = STOCK(Shipments, 0)
V Shipments = LIMITFLOW(600, Factory Inventory, Warehouse Inventory)

LOGINV​

Inverse of the lognormal cumulative distribution.

Syntax​

LOGINV(<probability>, <mean>, <standard_dev>)


LOGNORMAL​

Random number from a log-normal distribution.

Syntax​

LOGNORMAL(<mean>, <standard_dev>, <seed>)


LOGNORMDIST​

Cumulative lognormal distribution.

Syntax​

LOGNORMDIST(<x>, <mean>, <standard_dev>)


LOOKUP​

Returns a value by 0-based index. If index exceeds the list, returns the last value.

Syntax​

LOOKUP(<input>, <val1>, <val2>, ...)

Example​

V Result = LOOKUP(STEP, 10, 30, 0, 50)
# Step 0: 10, Step 1: 30, Step 2: 0, Step 3: 50

MAX​

Highest value in a list of arguments.

Syntax​

MAX(<expr1>, <expr2>, ...)

Example​

V Highest = MAX(100, -5, 300, 0) # returns 300

MIN​

Lowest value in a list of arguments.

Syntax​

MIN(<expr1>, <expr2>, ...)

Example​

V Lowest = MIN(100, -5, 300, 0) # returns -5

NORMAL​

Random number from a standard normal distribution (mean 0, std dev 1). Optional <seed> for reproducibility.

Syntax​

NORMAL(<seed>)


NORMDIST​

Normal distribution. <cumulative> 1 = cumulative, 0 = density.

Syntax​

NORMDIST(<x>, <mean>, <standard_dev>, <cumulative>)


NORMSDIST​

Standard normal cumulative distribution (mean 0, std dev 1).

Syntax​

NORMSDIST(<z>)


NORMINV​

Inverse of the normal cumulative distribution.

Syntax​

NORMINV(<probability>, <mean>, <standard_dev>)


POISSON​

Random integer from a Poisson distribution with mean <mean>.

Syntax​

POISSON(<mean>, <seed>)


RAND​

Random number between 0 and 1.

Syntax​

RAND(<seed>)


RANDBETWEEN​

Random number between <bottomvalue> and <topvalue>.

Syntax​

RANDBETWEEN(<bottomvalue>, <topvalue>, <seed>)


STDDEV​

Standard deviation of a list of arguments (equivalent to Excel's STDEVP).

Syntax​

STDDEV(<expr1>, <expr2>, ...)

Example​

V StdDev = STDDEV(0, 10, 90, 100) # returns 45.27

SUM​

Sum of a list of arguments.

Syntax​

SUM(<expr1>, <expr2>, ...)

Example​

V Total = SUM(0, 10, 90, 100) # returns 200

TDIST​

One-tailed Student t-distribution percentage points.

Syntax​

TDIST(<x>, <degrees_freedom>)


TINV​

One-tailed t-value of the t-distribution.

Syntax​

TINV(<probability>, <degrees_freedom>)