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

Постановка задачи
. Найти решение систем линейных алгебраических уравнений Ах=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

А = Прямые методы решения систем линейных алгебраических уравнений (рис. 1), b = Прямые методы решения систем линейных алгебраических уравнений (рис. 2)

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

Прямые методы решения систем линейных алгебраических уравнений (рис. 3)

Теорема.
Пусть Прямые методы решения систем линейных алгебраических уравнений (рис. 4)

Тогда А представима единственным образом в виде Прямые методы решения систем линейных алгебраических уравнений (рис. 5)где

Прямые методы решения систем линейных алгебраических уравнений (рис. 6)- нижнетреугольная, Прямые методы решения систем линейных алгебраических уравнений (рис. 7)
Прямые методы решения систем линейных алгебраических уравнений (рис. 8)- верхнетреугольная;
Прямые методы решения систем линейных алгебраических уравнений (рис. 9) .

При этом решение Прямые методы решения систем линейных алгебраических уравнений (рис. 10)сводится к решению двух систем Прямые методы решения систем линейных алгебраических уравнений (рис. 11)

Прямые методы решения систем линейных алгебраических уравнений (рис. 12)
Прямые методы решения систем линейных алгебраических уравнений (рис. 13)

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

#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
соответственно. Так же было найдено решение системы Прямые методы решения систем линейных алгебраических уравнений (рис. 112)
Root
.0073
.3203
.8955
.9967
и определитель
Determinant:
.0168305
значение которых совпало для всех методов.



Похожие материалы:


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

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

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

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