For those who can't run the demo file because of 'undefined function' error. You need to:
1) Run this command: list = dir('*.cpp');
to get the list of files.
2) For all the files in list, change log(2) to log(2.0). You can get all the files' names by:
2) Run 'makeosmex.m'
Now this should works like a dream.
I got following error, on running demo_mi.m
Undefined function 'estpab' for input arguments of type 'double'.
Error in mutualinfo (line 21)
[p12, p1, p2] = estpab(vec1,vec2);
Error in demo_mi (line 25)
What's wrong ?
I also get the problem "Undefined function 'estpa' for input arguments of type 'double'". I find the estpa is cpp file which is a C++ file. I use Win8 62 bit application and Matlab 2011b. What's wrong with it?
when the range of the features vectors is large, let's say 1-10000 estpab() calculates probibilty density with the same length (10000 in this case). Now if both feature vectors have a large range, lets say the other one is 1-10000 too, then the joint pdf computed by estpab is a 10000 x 10000 matrix and the computation if MI takes very long time. Is there a way to modify the algorithm in order to avoid this problem?