示例#1
0
        private static double I(double[][] matrix_pxandy)
        {
            var px = Lab1.Px(matrix_pxandy);

            Lab1.H(px, out var Hx);
            var py = Lab1.Py(matrix_pxandy);

            Lab1.H(py, out var Hy);
            var hXandY = Lab1.HXandY(matrix_pxandy);
            var res    = Hx + Hy - hXandY;

            Console.WriteLine("I(X;Y) = " + Hx + " + " + Hy + " - " + hXandY + " = " + res);
            return(res);
        }
示例#2
0
        private static double RelativeDifference(List <Symbol> coded, int wordLength)
        {
            PullLists(coded, out var pi, out var li);
            var l = AverageLength(pi, li) / wordLength;

            Lab1.H(pi, out var entr);
            var res = ((l - entr) / entr) * 100.0;

            Console.WriteLine("((" +
                              Math.Round(l, 3) +
                              "-" +
                              Math.Round(entr, 3) +
                              ")/" +
                              entr +
                              ")*100%=" +
                              Math.Round(res, 3) +
                              "%");
            return(res);
        }