Скачиваний:
38
Добавлен:
02.05.2014
Размер:
24.58 Кб
Скачать

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

Входные данные - матрица коэффициентов СЛАУ, вектор правых частей, размерность системы.

Выходные данные - вектор решения.

Вспомогательная функция 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...