Maptitude GISDK Help |
Return an array of random samples of the given type of random distribution and parameters defined in the options array.
Added to Version 2019.
sample_vector = RandSamples(int n, string type, opt array params)
Argument |
Contents |
n |
The number of samples to return (in an array) |
type |
One of the following strings: |
Type |
Description |
Uniform |
Random numbers between 0.0 (inclusive) and 1.0 (exclusive) with uniform distribution. If option "population" is provided, then the return values will be items in the array rather than values between 0.0 and 1.0. |
Discrete |
Random numbers between 1 and n based on the probability densities defined by option "weight", where n is the length of the "weight" array. An option "population", which has the same length as "weight", can also be given if you want the return values to be drawn from the population array instead of the 1-based index to the population bins. Items in the population array can be int, string, double, or color. |
Binary |
Random numbers of 1 and 0, with probability of 1 given by optional parameter "p" (default is 0.5). |
NegativeExp |
Random numbers of negative exponential distribution. Requires parameter "lambda" |
Poisson |
Random integers from the Poisson distribution. Requires parameter "lambda". |
Norm |
Random numbers of Normal distribution. Optional parameters are mean "mu" (0.0) and standard derivation "sigma" (1.0). |
LogNorm |
Random numbers of Log Normal distribution. Optional parameters are mean "mu" (0.0) and standard derivation "sigma" (1.0). |
Gumbel |
Random numbers of Gumbal distribution. Optional parameters are mode "mu" and standard derivation "sigma". |
Gamma |
Random numbers of Gamma distribution. Parameters are "shape" (k) and "scale" (theta). |
The options supported vary by distribution type:
Uniform:
Option |
Type |
Contents |
population |
array or vector |
If provided, returned values will be drawn from this array or vector. If not provided, returns a value between 0 and 1. |
Discrete:
Option |
Type |
Contents |
population |
array or vector |
If provided, returned values will be drawn from this array or vector. If not provided, returns an integer between 1 and the length of the Weight array or vector. |
weight |
array or vector |
Defines the weights to use for sampling. Defaults to an array or vector of size n filled with the value 1. |
Binary:
Option |
Type |
Contents |
p |
real or array |
A value between 0 and 1.0 that describes the probability of sampling a 1. Defaults to 0.5. |
NegativeExp and Poisson:
Option |
Type |
Contents |
lambda |
real or array |
Describes the shape of the distribution. Must be greater than 0. Defaults to 1. |
Norm, LogNorm, and Gumbell:
Option |
Type |
Contents |
mu |
real or array |
The mean of the distribution for "Norm" and "LogNorm". For "Gumbell", it is the mode. Defaults to 0. |
sigma |
real or array |
The standard deviation of the distribution. Defaults to 1. |
Gamma:
Option |
Type |
Contents |
shape |
real or array |
Controls the shape of the function. Defaults to 1. |
scale |
real or array |
Controls the scale of the function. Defaults to 1. |
A vector of random samples.
The options array is an optional argument.
// Example 1
SetRandomSeed(42)
params = null
params.population = { "A", "B", "C", "D", "E" }
samples = RandSamples(10, "Uniform", params)
// samples = { "vector", { "A", "B", "A", "A", "A", "C", "C", "A", "A", "D" } }
// Example 2
SetRandomSeed(42)
params = null
params.population = { "A", "B", "C", "D", "E" }
params.weight = { 20, 45, 18, 4, 22 }
samples = RandSamples(10, "Discrete", params)
// samples = { "vector", { "A", "B", "A", "A", "A", "B", "B", "B", "A", "C" } }
// Example 3
SetRandomSeed(42)
params = null
params.mu = 1
params.sigma = 2
samples = RandSamples(5, "Norm", params)
// samples = { "vector", { -0.487258, -0.486241, -4.497264, -1.318424, -1.180147 } }
// Example 4
SetRandomSeed(1)
params = null
params.p = .75
samples = RandSamples(10, "Binary", params)
// samples = { "vector", { 1, 1, 0, 1, 1, 1, 1, 0, 0, 1 } }
// Example 5 - using vectors/arrays for parameters
SetRandomSeed(42)
params = null
params.mu = {1.2, 4.6, 17.2}
// Vectors work, too:
// params.mu = A2V({1.2, 4.6, 17.2})
samples = RandSamples(3, "Norm", params)
// samples = { "vector", { 0.456371, 3.856879, 14.451368 } }
Function |
Summary |
Seeds the RandomNumber() function |
©2025 Caliper Corporation | www.caliper.com |