The formula to calculate malanobis distance from 2 distributions is follows:
This is source code
struct mean_cov{
float mean11;
float mean21;
float cov11;
float cov12;
float cov21;
float cov22;
};
float Dist_2Distribution( mean_cov mc1, mean_cov mc2 )
{
float a,b,c,d;
float A = (mc1.mean11 - mc2.mean11);
float B = (mc1.mean21 - mc2.mean21);
float e = 1/((mc1.cov11 + mc2.cov11)*(mc1.cov22 + mc2.cov22) - (mc1.cov12 + mc2.cov12)*(mc1.cov21 + mc2.cov21));
a = e * (mc1.cov22 + mc2.cov22);
b = e * -(mc1.cov12 + mc2.cov12);
c = e * -(mc1.cov21 + mc2.cov21);
d = e * (mc1.cov11 + mc2.cov11);
return ((a*A + c*B)*A + (b*A + d*B)*B);
}
No comments:
Post a Comment