Example 21
intermediate
21
Random

Random Sampling & Distributions

Generate random numbers from various probability distributions. Useful for simulations, Monte Carlo methods, and data generation. This example uses deepbox/random and focuses on setSeed, rand, randn, randint, uniform, normal, binomial, poisson, exponential, gamma, beta.

Deepbox Modules Used

deepbox/random

What You Will Learn

  • Use deepbox/random for setSeed, rand, randn, randint, uniform, normal, binomial, poisson, exponential, gamma, beta.
  • Generate random numbers from various probability distributions. Useful for simulations, Monte Carlo methods, and data generation.

Source Files

index.ts
1/**2 * Example 21: Random Sampling & Distributions3 *4 * Generate random numbers from various probability distributions.5 * Useful for simulations, Monte Carlo methods, and data generation.6 */78import {9  beta,10  binomial,11  exponential,12  gamma,13  normal,14  poisson,15  rand,16  randint,17  randn,18  setSeed,19  uniform,20} from "deepbox/random";2122console.log("=== Random Sampling & Distributions ===\n");2324// Set seed for reproducibility25setSeed(42);26console.log("Random seed set to 42 for reproducibility\n");2728// Uniform distribution [0, 1)29console.log("1. Uniform Distribution [0, 1):");30const uniformSamples = rand([5]);31console.log(`${uniformSamples.toString()}\n`);3233// Standard normal distribution34console.log("2. Standard Normal Distribution (mean=0, std=1):");35const normalSamples = randn([5]);36console.log(`${normalSamples.toString()}\n`);3738// Random integers39console.log("3. Random Integers [0, 10):");40const intSamples = randint(0, 10, [8]);41console.log(`${intSamples.toString()}\n`);4243// Custom uniform distribution44console.log("4. Uniform Distribution [-5, 5]:");45const customUniform = uniform(-5, 5, [6]);46console.log(`${customUniform.toString()}\n`);4748// Custom normal distribution49console.log("5. Normal Distribution (mean=100, std=15):");50const customNormal = normal(100, 15, [6]);51console.log(`${customNormal.toString()}\n`);5253// Binomial distribution (coin flips)54console.log("6. Binomial Distribution (n=10, p=0.5):");55const binomialSamples = binomial(10, 0.5, [8]);56console.log(binomialSamples.toString());57console.log("(Number of heads in 10 coin flips)\n");5859// Poisson distribution60console.log("7. Poisson Distribution (λ=3):");61const poissonSamples = poisson(3, [8]);62console.log(poissonSamples.toString());63console.log("(Number of events with rate λ=3)\n");6465// Exponential distribution66console.log("8. Exponential Distribution (scale=2):");67const expSamples = exponential(2, [6]);68console.log(expSamples.toString());69console.log("(Time between events)\n");7071// Gamma distribution72console.log("9. Gamma Distribution (shape=2, scale=2):");73const gammaSamples = gamma(2, 2, [6]);74console.log(`${gammaSamples.toString()}\n`);7576// Beta distribution77console.log("10. Beta Distribution (α=2, β=5):");78const betaSamples = beta(2, 5, [6]);79console.log(betaSamples.toString());80console.log("(Values between 0 and 1)\n");8182console.log("✓ Random sampling complete!");83

Console Output

$ npx tsx 21-random-sampling/index.ts
Console output showing samples from 10 different probability distributions