Практикум по курсу "Объектно-ориентированное программирование" на языке C#. Андрианова А.А - 34 стр.

UptoLike

33
формируется общее решение СЛАУ, в котором значения одних переменных
выражаются через значения других переменных.
Для решения системы уравнений с прямоугольной матрицей A можно
применять метод исключений Жордана-Гаусса поиска общего решения
системы.
Определим класс Slau, описывающий систему линейных уравнений и
основные методы ее решения.
Структурными свойствами класса системы уравнений Slau являются:
количество уравнений,
количество неизвестных,
матрица коэффициентов,
вектор свободных членов,
признак совместности системы,
ранг матрицы коэффициентов,
вектор решений.
Значения последних трех свойств определяются в процессе решения СЛАУ.
Поскольку вектор является частным случаем матрицы (вектор
матрица, состоящая из одного столбца), будем использовать для хранения
как самой матрицы, так и вектора класс Matrix.
class Slau
{
int m; // количество уравнений
int n; // количество переменных
Matrix a; // матрица коэффициентов
Matrix b; // вектор правой части
Matrix x; // вектор решений
bool isSolved; // признак совместности
int[] reoder; // перестановка переменных,
// полученная в методе Жордана-Гаусса
int rang; // ранг матрицы коэффициентов
. . .
}
Помимо конструктора класса и методов ввода/вывода, класс Slau
будет содержать методы решения системы линейных уравнений различными
способами:
метод Крамера,
метод решения с помощью обратной матрицы,
метод исключений Жордана-Гаусса.
формируется общее решение СЛАУ, в котором значения одних переменных
выражаются через значения других переменных.
      Для решения системы уравнений с прямоугольной матрицей A можно
применять метод исключений Жордана-Гаусса поиска общего решения
системы.
      Определим класс Slau, описывающий систему линейных уравнений и
основные методы ее решения.
      Структурными свойствами класса системы уравнений Slau являются:
       количество уравнений,
       количество неизвестных,
       матрица коэффициентов,
       вектор свободных членов,
       признак совместности системы,
       ранг матрицы коэффициентов,
       вектор решений.
Значения последних трех свойств определяются в процессе решения СЛАУ.
      Поскольку вектор является частным случаем матрицы (вектор –
матрица, состоящая из одного столбца), будем использовать для хранения
как самой матрицы, так и вектора класс Matrix.

     class Slau
     {
        int m;           //   количество уравнений
        int n;           //   количество переменных
        Matrix a;        //   матрица коэффициентов
        Matrix b;        //   вектор правой части
        Matrix x;        //   вектор решений
        bool isSolved;   //   признак совместности
        int[] reoder;    //   перестановка переменных,
                         //   полученная в методе Жордана-Гаусса
         int rang;       //   ранг матрицы коэффициентов
         . . .
     }

      Помимо конструктора класса и методов ввода/вывода, класс Slau
будет содержать методы решения системы линейных уравнений различными
способами:
         метод Крамера,
         метод решения с помощью обратной матрицы,
         метод исключений Жордана-Гаусса.

33