Шпоры по МПиПА / Численные методы / метод Якоби решения СЛАУ / Описание / Метод Якоби решения СЛАУ
.docРешение системы линейных алгебраических уравнений ( СЛАУ ) методом Якоби (методом простых итераций).
Входные данные - матрица коэффициентов СЛАУ, вектор правых частей, размерность системы.
Выходные данные - вектор решения.
Вспомогательная функция getDiagonal( double **coefficients, double *rightPart, int currRowAndColumn, int numberOfEquation ) преобразует матрицу СЛАУ к диагональному виду с паралелльным преобразованием вектора правых частей.
Код: SLAU.cpp
Теоретическое обоснование: Теория.doc
Исполняемый файл: SLAU.exe.
Не всякая система может быть приведена к системе с матрицей с ненулевой диагональю. Если такое приведение не найдено ( в данном случае оно ищется перестановкой строк ) – система не решается.
Даже если система приведена к виду с ненулевой диагональю решение может быть не найдено. Это зависит от нормы матрицы и первого приближения решения. Подробнее смотри в файле с теорией.
Примеры использования (распечатка листинга):
Simple iteration method.
Enter system dimension: 3
Enter 1 row: 10 1 1
Enter 2 row: 2 10 1
Enter 3 row: 2 2 10
Enter right part: 12 13 14
Enter precision: 0.1
Solution is:
0.9946
0.9934
0.9916
Number of step: 4
Press "Enter" to continue...
Simple iteration method.
Enter system dimension: 3
Enter 1 row: 2 0 1
Enter 2 row: 1 0 1
Enter 3 row: 1 1 1
Enter right part: 7 4 6
Enter precision: 0.01
Solution is:
2.99854
1.99658
0.999512
Number of step: 22
Press "Enter" to continue...