示例#1
0
        public void mainFunctions(int _countColumn, int _n, double[] _arrayX, double[] _arrayY, double[] _findAnswerValues)
        {
            double[] sumPowTemp = new double[_n + 4];

            double[] sumMulTempCp = new double[_n];

            CountSum countSum = new CountSum();

            countSum.sumPowerX(sumPowTemp, _arrayX, _countColumn, _n);

            //Console.WriteLine("sumPowTemp");
            //for (int i = 0; i < sumPowTemp.Length; i++)
            //{
            //    Console.WriteLine(sumPowTemp[i]);
            //}

            countSum.multXY(sumMulTempCp, _arrayX, _arrayY, _countColumn, _n);

            //Console.WriteLine("sumMulTempCp");
            //for (int i = 0; i < sumMulTempCp.Length; i++)
            //{
            //    Console.WriteLine(sumMulTempCp[i]);
            //}

            //=============================================================================

            double[,] mainMassive = new double[_n, _n];

            assignmentMainMassive(mainMassive, sumPowTemp, _n);

            //Console.WriteLine("mainMassive");
            //for (int i = 0; i < _n; i++)
            //{
            //    for (int j = 0; j < _n; j++)
            //    {
            //        Console.Write(mainMassive[i, j] + " ");
            //    }
            //    Console.WriteLine();
            //}

            double[] freeVar = new double[_n];
            for (int i = 0; i < _n; i++)
            {
                freeVar[i] = sumMulTempCp[i];
                //Console.WriteLine(freeVar[i]);
            }

            MethodGaussa methodGaussa = new MethodGaussa();

            methodGaussa.Kramer(_n, mainMassive, freeVar, _findAnswerValues);
            //Console.WriteLine(" _findAnswerValues");
            //for (int i = 0; i < _findAnswerValues.Length; i++)
            //{
            //    Console.WriteLine(_findAnswerValues[i]);
            //}
        }
示例#2
0
        public void mainFunctions(int _countColumn, int _n, double[] _arrayX, double[] _arrayY, double[] _arrayZ, double[] _findAnswerValues)
        {
            double[] sumPowTemp = new double[_n + 6];

            double[] sumMulTempCp = new double[_n];

            sumPowTemp[0] = 0;
            for (int i = 0; i < _countColumn; i++)
            {
                sumPowTemp[0] += Math.Pow(_arrayX[i], 2);
            }
            double tempX = 0, tempY = 0;

            for (int i = 0; i < _countColumn; i++)
            {
                tempX += _arrayX[i];
                tempY += _arrayY[i];
            }
            sumPowTemp[1] = tempX * tempY;
            sumPowTemp[2] = tempX;
            sumPowTemp[3] = tempX * tempY;
            sumPowTemp[4] = 0;
            for (int i = 0; i < _countColumn; i++)
            {
                sumPowTemp[4] += Math.Pow(_arrayY[i], 2);
            }
            sumPowTemp[5] = tempY;
            sumPowTemp[6] = tempX;
            sumPowTemp[7] = tempY;
            sumPowTemp[8] = _countColumn;

            //Console.WriteLine("sumPowTemp");
            //for (int i = 0; i < sumPowTemp.Length; i++)
            //{
            //    Console.WriteLine(sumPowTemp[i]);
            //}

            //countSum.multXY(sumMulTempCp, _arrayX, _arrayY, _countColumn, _n);
            double tempZ = 0;

            for (int i = 0; i < _countColumn; i++)
            {
                tempZ += _arrayZ[i];
                //Console.WriteLine(_arrayZ[i]);
            }
            sumMulTempCp[0] = tempZ * tempX;
            sumMulTempCp[1] = tempZ * tempY;
            sumMulTempCp[2] = tempZ;

            //Console.WriteLine("x2 = " + sumPowTemp[0]);
            //Console.WriteLine("y2 = " + sumPowTemp[4]);
            //Console.WriteLine("xy = " + sumPowTemp[1]);
            //Console.WriteLine("x = " + sumPowTemp[6]);
            //Console.WriteLine("y = " + sumPowTemp[7]);
            //Console.WriteLine("sumMulTempCp");
            //for (int i = 0; i < sumMulTempCp.Length; i++)
            //{
            //    Console.WriteLine(sumMulTempCp[i]);
            //}

            //=============================================================================

            double[,] mainMassive = new double[_n, _n];

            assignmentMainMassive(mainMassive, sumPowTemp, _n);

            //Console.WriteLine("mainMassive");
            //for (int i = 0; i < _n; i++)
            //{
            //    for (int j = 0; j < _n; j++)
            //    {
            //        Console.Write(mainMassive[i, j] + " ");
            //    }
            //    Console.WriteLine();
            //}

            double[] freeVar = new double[_n];
            for (int i = 0; i < _n; i++)
            {
                freeVar[i] = sumMulTempCp[i];
                //Console.WriteLine(freeVar[i]);
            }

            MethodGaussa methodGaussa = new MethodGaussa();

            methodGaussa.Kramer(_n, mainMassive, freeVar, _findAnswerValues);
            //Console.WriteLine(" _findAnswerValues");
            //for (int i = 0; i < _findAnswerValues.Length; i++)
            //{
            //    Console.WriteLine(_findAnswerValues[i]);
            //}
        }