with_colin function
with_colin({ProbList},{ValList})
Takes two lists with equal size, and returns an element from the second argument, picked at random with the probability of each element proportional to the value of the corresponding element in the first argument. A new return value is generated each time step.
Inputs: list of probabilities (real), list of corresponding values (any).
Outputs: element picked from second list (any).
This can be used to make a deviate from an explicit set of probabilities where the pattern does not match any other built-in statistical function.
Note that it only works on lists; if you want to do something similar with fixed-size arrays, you can combine the element and colin functions to achieve the same effect as follows: element([ValList], colin([ProbList]))
This function is implemented using a pseudo-random sequence generator; notes regarding its behaviour can be found in the documentation for the rand_var function.
Example:
with_colin({1,1,1,10,1}, {"apples", "pears", "oranges", "grapes", "bananas"}) --> "grapes" (usually), "apples", "pears", "oranges" or "bananas" (occasionally)
In: Contents >> Working with equations >> Functions >> Built-in functions