Function To Generate Truth Table Condition Vectors

This function efficiently generates a matrix of binary condition vectors for use in a truth table.
Updated 25 Apr 2011

View License

This function returns a matrix of all possible binary condition vectors for a logical system with (I) inputs.

The number of inputs is limited only by the user's available system memory. The function is highly efficient, written using only three variables in 16 lines of MATLAB code.

While this is longer in terms of lines than similar functions on MATLAB CENTRAL, it is the quickest and most direct function that obtains the solution (and the only function that doesn't depend on other functions to achieve the result).

INPUT: (I) shall be an integer >= 1

OUTPUT: CONDVECTS is a binary matrix of size [2^I,I]

ans =
0 0 0
0 0 1
0 1 0
0 1 1
1 0 0
1 0 1
1 1 0
1 1 1

Cite As

Paul Metcalf (2024). Function To Generate Truth Table Condition Vectors (, MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2010a
Compatible with any release
Platform Compatibility
Windows macOS Linux
Find more on Logical in Help Center and MATLAB Answers

Community Treasure Hunt

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

Start Hunting!
Version Published Release Notes

Further minor refinement of code.

The submission is updated to correct performance issues accidentally introduced in the previous version, as well as address the comments of James Tursa.

Added screenshot to download page.

The algorithm is now up to 33% faster thanks to the excellent 'Guideline on writing clean and fast code in MATLAB' by Nico Schlömer.
This should now be the simplest, fastest and most direct way of generating a truth table in MATLAB.

Slightly updated function description.