This is a faster implementation of MATLAB's corr2. Implemented as a mex-file generated with the ITERATOR tool that can be downloaded from www.mathworks.com
Re compile the source with MEX -O prcorr2.c
C = PRCORR2(A,B) computes the correlation between A and B. A and B are arrays witn any number of dims but with same number of elements
A and B can be any numeric type but not complex value. C is a scalar double.
See also CORR2, CORRCOEF, STD2, ITERATOR, MEX
In future I may complement this fast function with a set of them that can replace some slow MATLAB functions.
(C) 2003 Peter Rydesäter, http://www.rydesater.com
Fantastic! In my analyses ~38 times faster. Thanks for sharing this!
I also get NaNs. Is there something wrong with mac system?
Really fast! I like it very much.
Define two 2x2 matrix of ones.
Try prcorrel2 --> result is NaN
Correlation should be one, or am I wrong?
That's why I give the N/A rating, just like the function ...
Very good code... with my real-life experience on imaging processing, it is about 3 times as fast as corrcoef.m and 50% faster than corr2.m