File Exchange

image thumbnail

Elementary Cellular Automata

version 1.1 (2.57 KB) by

Simulates any 1D nearest-neighbour binary cellular automaton.



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

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.

Comments and Ratings (3)

yuting zhou

Sk Sarif

I want to do three states 1D 3 nbds CA. This code is for 1D, 2 States, 3 nbds. Can any one code it for me?


alaa (view profile)



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

MATLAB Release
MATLAB 7.10 (R2010a)

Inspired: EternalTime/CellularAutomata

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video