Essays.club - Получите бесплатные рефераты, курсовые работы и научные статьи
Поиск

Задачи по "Математике"

Автор:   •  Август 21, 2022  •  Задача  •  4,012 Слов (17 Страниц)  •  159 Просмотры

Страница 1 из 17

Задание 1. Вариант 7.

Решение системы линейных алгебраических уравнений (СЛАУ) методом обратной матрицы с проверкой правильности расчетов

Вариант 7.

[pic 1]

Решение:

Запишем систему в матричном виде:

  [pic 2][pic 3][pic 4]

AX=B; X=A-1B; Найдем обратную матрицу A-1

, где Aij – алгебраическое дополнение к элементам матрицы. [pic 5]

Найдем определитель матрицы - .[pic 6]

[pic 7]

Определитель матрицы отличен от 0, следовательно, обратная матрица существует.

Для нахождения матрицы А-1 осталось вычислить алгебраические дополнения к каждому элементу матрицы по формуле:

[pic 8]

[pic 9]

[pic 10]

[pic 11]

[pic 12]

[pic 13]

[pic 14]

[pic 15]

[pic 16]

[pic 17]

Подставим найденные значения в исходную формулу для вычисления А-1.

.[pic 18]

Выполним проверку:

[pic 19]

. [pic 20]

Проверка подтвердила правильность найденной матрицы.

Найдем матрицу-столбец неизвестных:

X=A-1B=.[pic 21]

Итак,   Сделаем проверку, подставив найденное решение в каждое уравнение системы.[pic 22][pic 23]

Проверка:

;  [pic 24][pic 25]

Итак, мы видим, что после подстановки в систему каждое уравнение обратилось в числовое тождество. Следовательно, решение системы найдено верно.


#include "stdafx.h"

#include <iostream>

#include <cstdlib>

#include <cmath>

using namespace std;

const int N = 3;

double det3(int A[N][N])

{

        return A[0][0] * A[1][1] * A[2][2] +

                A[0][1] * A[1][2] * A[2][0] +

                A[1][0] * A[2][1] * A[0][2] -

                A[2][0] * A[1][1] * A[0][2] -

                A[1][0] * A[0][1] * A[2][2] -

                A[2][1] * A[1][2] * A[0][0];

}

double det_2(int A[N-1][N-1])

{

        return A[0][0] * A[1][1] - A[0][1] * A[1][0];

}

int main()

{

        int A[N][N] =

        {

                1, 2, 3,

                3, 1, 1,

                2, 1, 2

        };

        int B[N] =

        {

                8,

                6,

                6

        };

        double X[N] =

        {

                0,

                0,

                0

        };

        int minor[N - 1][N - 1];

        int For_minor[N][N];

        double A_minus1[N][N];

        double detA;

        int i, j, t, l;

        int i1, j1, t1, l1;

        if (det3(A) != 0) { detA = det3(A); }

        else { cout << "ne sovmestnaya matritsa" << endl; system("pause"); return 0; }

        for (t = 0; t < N; t++)

        {

                for (l = 0; l < N; l++)

                {

                        for (i = 0; i < N; i++)

                        {

                                for (j = 0; j < N; j++)

                                {

                                        if (t != i && l != j) For_minor[i][j] = A[i][j]; else For_minor[i][j] = 2147483647;

...

Скачать:   txt (20.9 Kb)   pdf (618 Kb)   docx (961.7 Kb)  
Продолжить читать еще 16 страниц(ы) »
Доступно только на Essays.club