File Exchange

image thumbnail


version by Giuseppe Cardillo
A very compact routine to compute Fisher's exact test on a 3x3 matrix


Updated 06 Apr 2018

View Version History

GitHub view license on GitHub

Fisher's exact test of 3x3 contingency tables permits calculation of precise probabilities in situation where, as a consequence of small cell frequencies, the much more rapid normal approximation and chi-square calculations are liable to be inaccurate. The Fisher's exact test involves the computations of several factorials to obtain the probability of the observed and each of the more extreme tables. Factorials growth quickly, so it's necessary use logarithms of factorials. In Matlab this is very easy using the Gammaln function. The function uses preallocation and vectorization to speed-up the computations. Actually, the function also computes the mid-P correction to make the test less conservative.

Cite As

Giuseppe Cardillo (2020). MyFisher33 (, GitHub. Retrieved .

Comments and Ratings (4)

Giuseppe Cardillo

in my PC version it is correct. Bah! I uploaded it again


line 146: you must use "<=" not "<"

i.e., the line should read:


(You want to sum across all probabilities that are less than or equal to the observed probability)

Giuseppe Cardillo

Thank you. If you need fisher onto 2x3 matrix it is on FEX:

In any case, you can use Myfisher that it is able to manage any kind of matrix


Elegant, fast, clean and accurate. Thanks!
Why not have myfisher32.m? Best wishes, B.-

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

Community Treasure Hunt

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

Start Hunting!