Simulation of Roulette Wheel Gambling

**ROULETTE_SIMULATION**,
a MATLAB library which
simulates the spinning of a roulette wheel and the evaluation of
certain common roulette bets.

A fair wheel would have 36 pockets; a European wheel has an extra "0" pocket, while a Las Vegas wheel has "0" and "00" pockets. Pockets "0" and "00" are in general losers for the player. Players can bet on a single number, red or black, odd or even, low or high, column 1, 2 or 3, or more complicated bets. The payoffs are computed as though there were no 0 pockets, so this gives the house a considerable edge.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

**ROULETTE_SIMULATION** is available in
a MATLAB version.

BROWNIAN_MOTION_SIMULATION, a MATLAB program which simulates Brownian motion in an M-dimensional region.

COIN_SIMULATION, a MATLAB library which looks at ways of simulating or visualizing the results of many tosses of a fair or biased coin.

DICE_SIMULATION, a MATLAB program which simulates N tosses of M dice, making a histogram of the results.

DUEL_SIMULATION, a MATLAB program which simulates N repetitions of a duel between two players, each of whom has a known firing accuracy.

GAMBLERS_RUIN_SIMULATION, a MATLAB program which simulates the game of gambler's ruin.

HIGH_CARD_SIMULATION, a MATLAB program which simulates a situation in which you see the cards in a deck one by one, and must select the one you think is the highest and stop.

ISING_2D_SIMULATION, a MATLAB program which carries out a Monte Carlo simulation of an Ising model, a 2D array of positive and negative charges, each of which is likely to "flip" to be in agreement with neighbors.

LIGHTS_OUT, a MATLAB program which sets up the "Lights Out" game and allows a user to try to solve it.

LORENZ_SIMULATION, a MATLAB program which solves the Lorenz equations and displays the solution, for various starting conditions.

POISSON_SIMULATION, a MATLAB library which simulates a Poisson process in which events randomly occur with an average waiting time of Lambda.

RANDOM_WALK_1D_SIMULATION, a MATLAB program which simulates a random walk in a 1-dimensional region.

RANDOM_WALK_2D_AVOID_SIMULATION, a MATLAB program which simulates a self-avoiding random walk in a 2-dimensional region.

RANDOM_WALK_2D_SIMULATION, a MATLAB program which simulates a random walk in a 2-dimensional region.

RANDOM_WALK_3D_SIMULATION, a MATLAB program which simulates a random walk in a 3-dimensional region.

REACTOR_SIMULATION, a MATLAB program which a simple Monte Carlo simulation of the shielding effect of a slab of a certain thickness in front of a neutron source. This program was provided as an example with the book "Numerical Methods and Software."

SIR_SIMULATION, a MATLAB program which simulates the spread of a disease through a hospital room of M by N beds, using the Susceptible/Infected/Recovered (SIR) model.

THREE_BODY_SIMULATION, a MATLAB program which simulates the behavior of three planets, constrained to lie in a plane, and moving under the influence of gravity, by Walter Gander and Jiri Hrebicek.

TRAFFIC_SIMULATION, a MATLAB program which simulates the cars waiting to get through a traffic light.

TRUEL_SIMULATION, a MATLAB program which simulates N repetitions of a duel between three players, each of whom has a known firing accuracy.

- bet_black.m, returns the pockets involved in a bet on black.
- bet_column1.m, returns the pockets involved in a bet on column 1.
- bet_column2.m, returns the pockets involved in a bet on column 2.
- bet_column3.m, returns the pockets involved in a bet on column3.
- bet_even.m, returns the pockets involved in a bet on even.
- bet_high.m, returns the pockets involved in a bet on high.
- bet_low.m, returns the pockets involved in a bet on low.
- bet_low.m, returns the pockets involved in a bet on low.
- bet_red.m, returns the pockets involved in a bet on red.
- i4vec_print.m, prints an I4VEC.
- i4vec_sorted_unique_hist.m, given a sorted list of integers, returns the number of unique values, the unique values, and the frequency with which each value occurred.
- i4vec_uniform_ab.m, returns a pseudorandom I4VEC in a given range;
- i4vec2_print.m, prints a pair of I4VECs.
- roulette_result.m, returns the result of N spins of a roulette wheel.
- roulette_value.m, given the result of N spins of a roulette wheel, the size of the user's bet, and the number of pockets bet, returns the value of each spin.
- timestamp.m, prints the current YMDHMS date as a timestamp;