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

UptoLike

Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
Matrix res(rang, 1 + n - rang);
for(int i = 0; i < rang; i++)
{
res[i][0] = B[0][i];
for(int j = rang; j < n; j++)
res[i][j – rang + 1] = -A[i][j];
}
x = res;
isSolved = true;
}
Выбор метода для решения СЛАУ осуществляется в функции
Solve(). Если матрица коэффициентов системы является квадратной, то
пользователю предлагается задать метод решения системы: метод
Крамера или с помощью обратной матрицы. Если определитель
квадратной матрицы окажется нулевым, СЛАУ будет решаться методом
исключений Жордана-Гаусса. Для решения СЛАУ с прямоугольной
матрицей коэффициентов применим только метод Жордана-Гаусса.
// функция выбора метода решения
// системы линейных уравнений
void Slau::Solve()
{
if(m == n)
try
{
// матрица коэффициентов квадратная –
// предоставлется выбор метода решения
// пользователю
cout << "Метод Крамера - 1,
С помощью обратной матрицы - 2"
<< endl;
int i;
cin >> i;
if(i == 1)
Kramer();
else
InverseMatrix();
}
catch(ZeroDevideException e)
{
// генерация исключения происходит при
// равенстве нулю определителя матрицы
// коэффициентов осуществляется получение
// общего решения системы
JordanGauss();
}
210
                              Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
          Matrix res(rang, 1 + n - rang);
          for(int i = 0; i < rang; i++)
          {
               res[i][0] = B[0][i];
               for(int j = rang; j < n; j++)
                    res[i][j – rang + 1] = -A[i][j];
          }
          x = res;
          isSolved = true;
      }

    Выбор метода для решения СЛАУ осуществляется в функции
Solve(). Если матрица коэффициентов системы является квадратной, то
пользователю предлагается задать метод решения системы: метод
Крамера или с помощью обратной матрицы. Если определитель
квадратной матрицы окажется нулевым, СЛАУ будет решаться методом
исключений Жордана-Гаусса. Для решения СЛАУ с прямоугольной
матрицей коэффициентов применим только метод Жордана-Гаусса.

      // функция выбора метода решения
      // системы линейных уравнений
      void Slau::Solve()
      {
           if(m == n)
                try
                {
                     // матрица коэффициентов квадратная –
                     // предоставлется выбор метода решения
                     // пользователю
                     cout << "Метод Крамера - 1,
                              С помощью обратной матрицы - 2"
                               << endl;
                     int i;
                     cin >> i;
                     if(i == 1)
                          Kramer();
                     else
                          InverseMatrix();
                }
                catch(ZeroDevideException e)
                {
                     // генерация исключения происходит при
                     // равенстве нулю определителя матрицы
                     // коэффициентов осуществляется получение
                     // общего решения системы
                     JordanGauss();
                }

210