Пример #1
0
        //ввод данных с клавиатуры
        public static SLAU GetSLAU()
        {
            Console.WriteLine("Введите количество уравнений:");
            var n    = int.Parse(Console.ReadLine());
            var slau = new SLAU(n);

            Console.WriteLine();
            Console.WriteLine("Введите коэффициенты (через пробел, разделяя уравнения переносом строки):");
            for (int i = 0; i < n; i++)
            {
                var str = Console.ReadLine().Split(' ');
                for (int j = 0; j < n; j++)
                {
                    slau.Matrix[i, j] = double.Parse(str[j]);
                }
            }
            Console.WriteLine();
            Console.WriteLine("Введите свободные члены (через пробел):");
            var str2 = Console.ReadLine().Split(' ');

            for (int j = 0; j < n; j++)
            {
                slau.B[j] = double.Parse(str2[j]);
            }
            Console.WriteLine();
            return(slau);
        }
Пример #2
0
        static void Main(string[] args)
        {
            var slau = SLAU.GetSLAU();

            slau.PrintSLAU();
            Console.WriteLine("Выберите метод:\n1 - решение с помощью QR разложения;\n2 - метод простой итерации;\n3 - LU разложение;\n" +
                              "4 - метод квадратных корней;\n5 - нахождение минимального собственного числа степенным методом;\n" +
                              "6 - нахождение собственных значений QR-алгоритмом");
            switch (int.Parse(Console.ReadLine()))
            {
            case 1:
                Console.WriteLine();
                slau.SolveSlauQR(slau.Matrix, slau.B);     //v
                break;

            case 2:
                Console.WriteLine();
                slau.IterativeMethod();      //v
                break;

            case 3:
                Console.WriteLine();
                slau.LUdecomposition();     //v
                break;

            case 4:
                Console.WriteLine();
                slau.UUTdecomposition();     //v
                break;

            case 5:
                Console.WriteLine();
                slau.PowerIteration();      //v
                break;

            case 6:
                Console.WriteLine();
                slau.QRdecomposition();     //числа
                break;

            default:
                Console.WriteLine();
                Console.WriteLine("Неверный номер метода");
                break;
            }

            Console.ReadLine();
        }