예제 #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
        public static void Task1()
        {
            Console.WriteLine("I(X;Y)");
            var I = Lab2.I(matrix_t1);

            Console.WriteLine("V");
            var v = Lab2.V(v0_t1, I);

            Console.WriteLine("P(X|Y)");
            var pXifY = Lab1.Pxify(matrix_t1, Lab1.Py(matrix_t1));

            Console.WriteLine("P(Y|X)");
            var pYifX = Lab1.PYifX(matrix_t1);

            Console.WriteLine("C");
            var c = Lab2.C(v0_t1, pYifX);

            string[] val = { "I(X;Y)", "V", "C" };
            AnsverTable(val, new[] { I, v, c });
        }