예제 #1
0
파일: Program.cs 프로젝트: AAlvz/Stuff
        static void Main(string[] args)
        {
            List<double> DatosW = new List<double>();
            List<double> DatosX = new List<double>();
            List<double> DatosY = new List<double>();
            List<double> DatosZ = new List<double>();

            DatosW.Add(345); DatosW.Add(168); DatosW.Add(94); DatosW.Add(187); DatosW.Add(621); DatosW.Add(255);
            DatosX.Add(65); DatosX.Add(18); DatosX.Add(0); DatosX.Add(185); DatosX.Add(87); DatosX.Add(0);
            DatosY.Add(23); DatosY.Add(18); DatosY.Add(0); DatosY.Add(98); DatosY.Add(10); DatosY.Add(0);
            DatosZ.Add(31.4); DatosZ.Add(14.6); DatosZ.Add(6.4); DatosZ.Add(28.3); DatosZ.Add(42.1); DatosZ.Add(15.3);

            Gauss G = new Gauss();
            Funciones F = new Funciones();
            double[,] a = F.llenarMatriz(DatosW, DatosX, DatosY, DatosZ);
            double[] r = new double[a.GetLength(0)];
            double[] resultados = new double[a.GetLength(0)];
            G.ShowMatrix(a, "Ejemplo 1");
            if (G.ResolverGauss(a, r))
                resultados = G.ShowSolution(r);
            else
                Console.WriteLine("No es un sistema de ecuaciones lineales");
            double B0 = resultados[0];
            double B1 = resultados[1];
            double B2 = resultados[2];
            double B3 = resultados[3];
            double Wk = 185; double Xk = 150; double Yk = 45;
            double z = F.obtenerZ(Wk, Xk, Yk, B0, B1, B2, B3);
            Console.WriteLine("La z = " + z);
            double rango = F.calcularRango(Wk, Xk, Yk, DatosW.Count - 4 , DatosW, DatosX, DatosY, DatosZ, B0, B1, B2, B3);
            Console.WriteLine("UPI = " + (z + rango));
            Console.WriteLine("LPI = " + (z - rango));

            Console.ReadLine();
            ////////////////////////////////////////////////////
            List<double> DatosW2 = new List<double>();
            List<double> DatosX2 = new List<double>();
            List<double> DatosY2 = new List<double>();
            List<double> DatosZ2 = new List<double>();

            DatosW2.Add(1142); DatosW2.Add(863); DatosW2.Add(1065); DatosW2.Add(554); DatosW2.Add(983); DatosW2.Add(256);
            DatosX2.Add(1060); DatosX2.Add(995); DatosX2.Add(3205); DatosX2.Add(120); DatosX2.Add(2896); DatosX2.Add(485);
            DatosY2.Add(325); DatosY2.Add(98); DatosY2.Add(23); DatosY2.Add(0); DatosY2.Add(120); DatosY2.Add(88);
            DatosZ2.Add(201); DatosZ2.Add(98); DatosZ2.Add(162); DatosZ2.Add(54); DatosZ2.Add(138); DatosZ2.Add(61);

            double[,] a2 = F.llenarMatriz(DatosW2, DatosX2, DatosY2, DatosZ2);
            double[] r2 = new double[a2.GetLength(0)];
            double[] resultados2 = new double[a2.GetLength(0)];
            G.ShowMatrix(a, "Ejemplo 1");
            if (G.ResolverGauss(a2, r2))
                resultados2 = G.ShowSolution(r2);
            else
                Console.WriteLine("No es un sistema de ecuaciones lineales");
            double B02 = resultados2[0];
            double B12 = resultados2[1];
            double B22 = resultados2[2];
            double B32 = resultados2[3];
            double Wk2 = 650; double Xk2 = 3000; double Yk2 = 155;
            double z2 = F.obtenerZ(Wk2, Xk2, Yk2, B02, B12, B22, B32);
            Console.WriteLine("La z = " + z2);
            double rango2 = F.calcularRango(Wk2, Xk2, Yk2, DatosW2.Count - 4, DatosW2, DatosX2, DatosY2, DatosZ2, B02, B12, B22, B32);
            Console.WriteLine("UPI = " + (z2 + rango2));
            Console.WriteLine("LPI = " + (z2 - rango2));

            Console.ReadLine();
        }
예제 #2
0
파일: Program.cs 프로젝트: AAlvz/Stuff
        static void Main(string[] args)
        {
            List <double> DatosW = new List <double>();
            List <double> DatosX = new List <double>();
            List <double> DatosY = new List <double>();
            List <double> DatosZ = new List <double>();

            DatosW.Add(345); DatosW.Add(168); DatosW.Add(94); DatosW.Add(187); DatosW.Add(621); DatosW.Add(255);
            DatosX.Add(65); DatosX.Add(18); DatosX.Add(0); DatosX.Add(185); DatosX.Add(87); DatosX.Add(0);
            DatosY.Add(23); DatosY.Add(18); DatosY.Add(0); DatosY.Add(98); DatosY.Add(10); DatosY.Add(0);
            DatosZ.Add(31.4); DatosZ.Add(14.6); DatosZ.Add(6.4); DatosZ.Add(28.3); DatosZ.Add(42.1); DatosZ.Add(15.3);

            Gauss     G = new Gauss();
            Funciones F = new Funciones();

            double[,] a = F.llenarMatriz(DatosW, DatosX, DatosY, DatosZ);
            double[] r          = new double[a.GetLength(0)];
            double[] resultados = new double[a.GetLength(0)];
            G.ShowMatrix(a, "Ejemplo 1");
            if (G.ResolverGauss(a, r))
            {
                resultados = G.ShowSolution(r);
            }
            else
            {
                Console.WriteLine("No es un sistema de ecuaciones lineales");
            }
            double B0 = resultados[0];
            double B1 = resultados[1];
            double B2 = resultados[2];
            double B3 = resultados[3];
            double Wk = 185; double Xk = 150; double Yk = 45;
            double z = F.obtenerZ(Wk, Xk, Yk, B0, B1, B2, B3);

            Console.WriteLine("La z = " + z);
            double rango = F.calcularRango(Wk, Xk, Yk, DatosW.Count - 4, DatosW, DatosX, DatosY, DatosZ, B0, B1, B2, B3);

            Console.WriteLine("UPI = " + (z + rango));
            Console.WriteLine("LPI = " + (z - rango));

            Console.ReadLine();
            ////////////////////////////////////////////////////
            List <double> DatosW2 = new List <double>();
            List <double> DatosX2 = new List <double>();
            List <double> DatosY2 = new List <double>();
            List <double> DatosZ2 = new List <double>();

            DatosW2.Add(1142); DatosW2.Add(863); DatosW2.Add(1065); DatosW2.Add(554); DatosW2.Add(983); DatosW2.Add(256);
            DatosX2.Add(1060); DatosX2.Add(995); DatosX2.Add(3205); DatosX2.Add(120); DatosX2.Add(2896); DatosX2.Add(485);
            DatosY2.Add(325); DatosY2.Add(98); DatosY2.Add(23); DatosY2.Add(0); DatosY2.Add(120); DatosY2.Add(88);
            DatosZ2.Add(201); DatosZ2.Add(98); DatosZ2.Add(162); DatosZ2.Add(54); DatosZ2.Add(138); DatosZ2.Add(61);

            double[,] a2 = F.llenarMatriz(DatosW2, DatosX2, DatosY2, DatosZ2);
            double[] r2          = new double[a2.GetLength(0)];
            double[] resultados2 = new double[a2.GetLength(0)];
            G.ShowMatrix(a, "Ejemplo 1");
            if (G.ResolverGauss(a2, r2))
            {
                resultados2 = G.ShowSolution(r2);
            }
            else
            {
                Console.WriteLine("No es un sistema de ecuaciones lineales");
            }
            double B02 = resultados2[0];
            double B12 = resultados2[1];
            double B22 = resultados2[2];
            double B32 = resultados2[3];
            double Wk2 = 650; double Xk2 = 3000; double Yk2 = 155;
            double z2 = F.obtenerZ(Wk2, Xk2, Yk2, B02, B12, B22, B32);

            Console.WriteLine("La z = " + z2);
            double rango2 = F.calcularRango(Wk2, Xk2, Yk2, DatosW2.Count - 4, DatosW2, DatosX2, DatosY2, DatosZ2, B02, B12, B22, B32);

            Console.WriteLine("UPI = " + (z2 + rango2));
            Console.WriteLine("LPI = " + (z2 - rango2));

            Console.ReadLine();
        }