Elementary Cellular Automata

Simulates any 1D nearest-neighbour binary cellular automaton.
4.5K Downloads
Updated 15 Mar 2010

View License

There are 256 elementary cellular automata, where "elementary" means that there is a single row of cells, with binary values, and update rules that depend only on nearest-neighbour interactions. They are described at http://mathworld.wolfram.com/ElementaryCellularAutomaton.html

Our artist in residence asked if anyone had a program that would generate the patterns produced by these simple automata. I said it would only take a few minutes to write one in Matlab. Here's the result. It demonstrates the use of sub2ind to write very compact code.

In this function, the width of the pattern (the length of the array of cells) may be restricted, in which case the 1D array is taken to be circular to determine the states of the end elements. Random noise may also be added to the processing if required.

Cite As

David Young (2024). Elementary Cellular Automata (https://www.mathworks.com/matlabcentral/fileexchange/26929-elementary-cellular-automata), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired: EternalTime/CellularAutomata

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.1.0.0

Arguments now checked using validateattributes instead of custom functions. Example added to comments.

1.0.0.0