Объектно-ориентированное программирование на C++. Андрианова А.А - 202 стр.

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
единственное решение и получить его можно, к примеру, методом
Крамера или по формуле
BAX
1
=
, где
1
A
обратная матрица к A. Если
определитель det(A) равен 0, то система может не иметь решения или
иметь бесконечное число решений. Решить систему уравнений в этом
случае можно, используя метод исключений Жордана-Гаусса. Когда
система имеет бесконечное число решений, формируется общее решение
СЛАУ, в котором значения одних переменных выражаются через
значения других переменных.
Для решения системы уравнений с прямоугольной матрицей A
можно применять метод исключений Жордана-Гаусса поиска общего
решения системы.
Определим класс Slau, описывающий систему линейных
уравнений и основные методы ее решения.
Структурными свойствами класса системы уравнений Slau
являются:
количество уравнений,
количество неизвестных,
матрица коэффициентов,
вектор свободных членов,
признак совместности системы,
ранг матрицы коэффициентов,
вектор решений.
Значения последних трех свойств определяются в процессе решения
СЛАУ.
Поскольку вектор является частным случаем матрицы (вектор
матрица, состоящая из одного столбца), будем использовать для хранения
как самой матрицы, так и вектора класс Matrix, описанный в разделе
3.2.
class Slau
{
private:
int m; // количество уравнений
int n; // количество переменных
Matrix a; // матрица коэф.
Matrix b; // вектор правой части
Matrix x; // вектор решений
bool isSolved; // признак совместности
int* reoder; // перестановка переменных,
// полученная в методе Жордана-Гаусса
int rang; // ранг матрицы коэффициентов
202
                                 Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
единственное решение и получить его можно, к примеру, методом
Крамера или по формуле X = A − 1 B , где A− 1 – обратная матрица к A. Если
определитель det(A) равен 0, то система может не иметь решения или
иметь бесконечное число решений. Решить систему уравнений в этом
случае можно, используя метод исключений Жордана-Гаусса. Когда
система имеет бесконечное число решений, формируется общее решение
СЛАУ, в котором значения одних переменных выражаются через
значения других переменных.
      Для решения системы уравнений с прямоугольной матрицей A
можно применять метод исключений Жордана-Гаусса поиска общего
решения системы.
      Определим класс Slau, описывающий систему линейных
уравнений и основные методы ее решения.
      Структурными свойствами класса системы уравнений Slau
являются:
   • количество уравнений,
   • количество неизвестных,
   • матрица коэффициентов,
   • вектор свободных членов,
   • признак совместности системы,
   • ранг матрицы коэффициентов,
   • вектор решений.
Значения последних трех свойств определяются в процессе решения
СЛАУ.
     Поскольку вектор является частным случаем матрицы (вектор –
матрица, состоящая из одного столбца), будем использовать для хранения
как самой матрицы, так и вектора класс Matrix, описанный в разделе
3.2.

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

202