diff options
Diffstat (limited to 'FEAST/MIToolbox/cmi.m')
-rw-r--r-- | FEAST/MIToolbox/cmi.m | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/FEAST/MIToolbox/cmi.m b/FEAST/MIToolbox/cmi.m new file mode 100644 index 0000000..30e4bb0 --- /dev/null +++ b/FEAST/MIToolbox/cmi.m @@ -0,0 +1,31 @@ +function output = cmi(X,Y,Z) +%function output = cmi(X,Y,Z) +%X, Y & Z can be matrices which are converted into a joint variable +%before computation +% +%expects variables to be column-wise +% +%returns the mutual information between X and Y conditioned on Z, I(X;Y|Z) + +if nargin == 3 + if (size(X,2)>1) + mergedFirst = MIToolboxMex(3,X); + else + mergedFirst = X; + end + if (size(Y,2)>1) + mergedSecond = MIToolboxMex(3,Y); + else + mergedSecond = Y; + end + if (size(Z,2)>1) + mergedThird = MIToolboxMex(3,Z); + else + mergedThird = Z; + end + [output] = MIToolboxMex(8,mergedFirst,mergedSecond,mergedThird); +elseif nargin == 2 + output = mi(X,Y); +else + output = 0; +end |