Лабораторная работа: Прямые методы решения систем линейных алгебраических уравнений

Постановка задачи
. Найти решение систем линейных алгебраических уравнений Ах=b, найти А-1, вычислить det A.
1. Методом Гаусса с выбором ведущего элемента в строке.
2. Методом Гаусса с выбором ведущего элемента в столбце.
3. Методом Гаусса с выбором ведущего элемента в матрице.


Дата добавления на сайт: 04 марта 2025
Министерство образования и науки, молодежи и спорта Украины
Харьковский национальный университет имени В.Н. Каразина

Лабораторная работа №2
Прямые методы решения систем линейных алгебраических уравнений

Выполнила:
студентка группы МП-31
Кальницкая Б.М.
Проверил:
доц. Скорик В.А.

Харьков 2014

Постановка задачи
. Найти решение систем линейных алгебраических уравнений Ах=b, найти А-1, вычислить det A.
.Методом Гаусса с выбором ведущего элемента в строке.
.Методом Гаусса с выбором ведущего элемента в столбце.
3.Методом Гаусса с выбором ведущего элемента в матрице. На печать вывести исходную матрицу A, вектор b, решение x, невязку, det A, А-1. Сравнить полученые результаты.. Найти решение систем линейных алгебраических уравнений Ах=b, вычислить det A.
1. Методом факторизации.
Напечать вывести исходную матрицу A, вектор b, решение x, невязку, вычислить det A. Сравнить полученые результаты.
Вариант №4

А = , b =

Метод Факторизации

Теорема.
Пусть

Тогда А представима единственным образом в виде где

- нижнетреугольная,
- верхнетреугольная;
.

При этом решение сводится к решению двух систем

Листинг программы

#include \"stdafx.h\"
#include
#include
#include namespace std;int n = 4;main()
{i = 0, j = 0, k = 0, m = 0;A[n][n], B[n][n], C[n][n], f[n], x[n], y[n], r[n], Ax[n], max = -1;= 0; i--)
{s = 0;(int k = i + 1; k
#include
#include namespace std;int n = 4;Print(double array[n][n])
{(int i = 0; i max)
{= fabs(A_1[i][j]);
line = i;// нахождение макс элемента и его позиции= j;
}
}
}(line != k)// меняем строки местами
{(int j = k; j max)
{= fabs(A_1[i][k]);
line = i;// нахождение макс элемента и его позиции
}
}(line != k)// меняем строки местами
{(int j = k; j max)
{= fabs(A_1[k][j]);= j;
}
}(column!= k)// меняем столбцы местами
{(int i = 0; i max)
{= fabs(A[i][j]);
line = i;// нахождение макс элемента и фикс позиции= j;
}
}
}(line != k)// меняем строки местами
{(int j = k; j max)
{= fabs(A_2[i][j]);
line = i;// нахождение макс элемента и фикс позиции= j;
}
}
}(line != k)// меняем строки местами
{(int j = k; j max)
{= fabs(A_2[k][j]);= j;
}
}(column != k)// меняем столбцы местами
{(int i = 0; i max)
{= fabs(A_2[i][k]);
line = i;// нахождение макс элемента и фикс позиции
}
}(line != k)// меняем строки местами
{(int j = k; j < 2*n; j++)
{(A_2[k][j], A_2[line][j]);
}
}= A_2[k][k];(int j = k; j < 2*n; j++)// деление к-й строки на макс элемент
{_2[k][j] = (double) A_2[k][j] / d;
}(int i = 0; i < n; i++)
{(i != k)
{= A_2[i][k];(int j = k; j < 2*n; j++)
{_2[i][j] -= d*A_2[k][j];
}
}
}
}A_Inverted[n][n];<< endl;<< \"Inverted matrix is:\" << endl;(int i = 0; i < n; i++)
{(int j = 0; j < n; j++)
{_Inverted[i][j] = A_2[i][j+n];
}
}<< endl;(A_Inverted);<< endl << \"Check\" << endl << endl;(A, A_Inverted);
}main()
{A[n][n];(A);<< \"Our matrix A is:\" << endl;
Print(A);f[n] = {0.17,1,0.21,2.71}; // это вектор свободных членов
cout << endl << \"Our vector f is:\" << endl;(int i = 0; i < n; i++)
{(\" %.4f\", f[i], \" \");
}<<endl;<< \"Gauss method - max element in MATRIX\";_Matr(A, f);<< \"Gauss method - max element in COLUMN\";_column(A, f);<< \"Gauss method - max element in LINE\";_Line(A, f);<< \"Determinant:\" << endl;(A);(A);<< \"matrix A_2[n][2*n]\" << endl;_Gauss_Matr(A);<< \"Matrix by lines\" << endl;_Gauss_Line(A);<< \"Matrix by the column\" << endl;_Gauss_Column(A);(\"PAUSE\");}
Распечатка результатовmatrix A is:
0.1100 -0.1700 0.7200 -0.3400
.8100 0.1200 -0.9100 0.1700
.1700 -0.1800 1.0000 0.2800
.1300 0.1700 -0.9900 0.3500vector f is:
.1700 1.0000 0.2100 2.7100method - max element in MATRIXis a matrix A_1[n][n+1]
.1100 -0.1700 0.7200 -0.3400 0.1700
.8100 0.1200 -0.9100 0.1700 1.0000
.1700 -0.1800 1.0000 0.2800 0.2100
.1300 0.1700 -0.9900 0.3500 2.7100
.0073
.3203
.8955
.9967
.00000000000000008
.00000000000000089
.00000000000000086
.00000000000000178
||Ax-f||=0.000000000000001776method - max element in COLUMN
.0073
.3203
.8955
.9967
.000000000000003469
.000000000000000888
.000000000000000916
.000000000000000000
||Ax-f||=0.000000000000003469method - max element in LINE
.0073
.3203
.8955
.9967
.000000000000001249
.000000000000002442
.000000000000000472
.000000000000000888
||Ax-f||=0.000000000000002442:
.0168305A_2[n][2*n]
.1100 -0.1700 0.7200 -0.3400 1.0000 0.0000 0.0000 0.0000
.8100 0.1200 -0.9100 0.1700 0.0000 1.0000 0.0000 0.0000
.1700 -0.1800 1.0000 0.2800 0.0000 0.0000 1.0000 0.0000
.1300 0.1700 -0.9900 0.3500 0.0000 0.0000 0.0000 1.0000matrix is:
.4253 1.7694 0.2315 -2.4292
.4211 9.1371 -1.6455 -30.7307
.9593 1.5461 0.2594 -5.7760
.3063 -0.7221 1.4468 2.3479
.0000 -0.0000 0.0000 -0.0000
.0000 1.0000 0.0000 0.0000
.0000 0.0000 1.0000 -0.0000
.0000 0.0000 0.0000 1.0000by linesmatrix is:
.4253 1.7694 0.2315 -2.4292
.4211 9.1371 -1.6455 -30.7307
.9593 1.5461 0.2594 -5.7760
.3063 -0.7221 1.4468 2.3479
.0000 -0.0000 0.0000 0.0000
.0000 1.0000 -0.0000 -0.0000
.0000 0.0000 1.0000 -0.0000
.0000 0.0000 -0.0000 1.0000by the columnmatrix is:
-1.4253 1.7694 0.2315 -2.4292
.4211 9.1371 -1.6455 -30.7307
.9593 1.5461 0.2594 -5.7760
.3063 -0.7221 1.4468 2.3479
.0000 -0.0000 -0.0000 0.0000
.0000 1.0000 0.0000 0.0000
.0000 0.0000 1.0000 -0.0000
.0000 -0.0000 0.0000 1.0000
линейный алгебраический уравнение гаусс

Вывод

В нашем случае более точным оказался метод Гаусса с выбором ведущего элемента в матрице, его невязка составила
||Ax-f||=0.000000000000001776.
Потом идет метод Гаусса с выбором ведущего элемента в строке
||Ax-f||=0.000000000000002442.
А уже после идут метод факторизации с невязкой
||Ax-f||=0.000000000000002470
и метод Гаусса с выбором ведущего элемента в столбце с невязкой
||Ax-f||=0.000000000000003469
соответственно. Так же было найдено решение системы
Root
.0073
.3203
.8955
.9967
и определитель
Determinant:
.0168305
значение которых совпало для всех методов.



Комментарии:

Вы не можете оставлять комментарии. Пожалуйста, зарегистрируйтесь.