Elementary Cellular Automata

Simulates any 1D nearest-neighbour binary cellular automaton.

You are now following this Submission

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 (2026). Elementary Cellular Automata (https://www.mathworks.com/matlabcentral/fileexchange/26929-elementary-cellular-automata), MATLAB Central File Exchange. Retrieved .

Acknowledgements

Inspired: EternalTime/CellularAutomata

General Information

MATLAB Release Compatibility

  • Compatible with any release

Platform Compatibility

  • Windows
  • macOS
  • Linux
Version Published Release Notes Action
1.1.0.0

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

1.0.0.0