- •Оглавление
- •Введение
- •1.Решение слау
- •1.1.Общие сведения
- •1.2. Исходные данные
- •1.3.Решение методом Гаусса
- •3.Численное интегрирование
- •2.Решение нелинейного уравнения
- •2.2.Исходные данные
- •2.3.Решение методом половинного деления
- •4.2.Описание интерфейса
- •4.3.Описание панели инструментов
- •4.4.Принцип работы программы
- •Заключение
1.Решение слау
1.1.Общие сведения
С
истема
алгебраических уравнений (СЛАУ) имеет
вид:
a11x1+
a12x2+
+ a1nxn=b1
a21x1+ a22x2+ + a2nxn=b2
an1x1+ an2x2+ + annxn=bn
или, при записи в матричной форме:
A ∙ x = b,
где х = – вектор искомых неизвесных,
A = – матрица коэффициентов при неизвестных,
b = – вектор свободных членов.
Итерационные методы служат для поиска приближённого решения СЛАУ с заданной точностью. Итерационный процесс не всегда сходится к решению системы, а только тогда, когда последовательность получаемых при расчётах приближений стремится к точному решению.
1.2. Исходные данные
Система линейных алгебраических уравнений имеет вид:
6
х1+3х2+4х3=5
х1+5х2+2х3=47
3х1+4х2+9х3=30
1.3.Решение методом Гаусса
Данный метод основан на упорядоченном исключении неизвестных из СЛАУ и приводит к решению за заранее известное количество операций (если матрица не является вырожденной).
Решение СЛАУ выполняется в два этапа. Па первом этапе приводят систему к треугольной форме, пересчитывая значения матрицы А и вектора b. Данный этап называют прямым ходом. Па втором этапе упрощенную систему решают методом подстановки. Этот этап называют обратным ходом.
Рассмотрим более подробно решение системы из n уравнений:
a
11x1+a12x2+∙∙∙+a1nxn=b1
a21x1+a22x2+∙∙∙+a2nxn=b2
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
an1x1+an2x2+∙∙∙+annxn=bn
Прямой ход.
На первом шаге выразим из первого уравнения переменную x1:
x1
= −
∙ (b1
− a12x2
− a13x3
− ∙∙∙ − a1nxn).
Подставляя данное выражение в исходную СЛАУ, исключим из второго и последующих уравнений х1 и получим систему следующего вида:
a11x1
+ a12x2
+ a13x3
+
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
+ a1nxn
= b1
0 ∙ x1
+ a22 −
x2 + a23
−
x3 + ∙∙∙ + a2n
−
xn
= b2 −
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
0 ∙
x1
+ an2
−
x2
+ an3
−
x3
+ ∙∙∙ + ann
−
xn
= bn
−
Запишем данную систему в виде:
a11x1
+ a12x2
+ a13x3
+ ∙∙∙ + a1nxn
= b1
0 ∙ x1 + a22(1)x2 + a23(1)x3 + ∙∙∙ + a2n(1)xn = b2(1) ,
∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙
0 ∙ x1 + an2(1)x2 + an3(1)x3 + ∙∙∙ + ann(1)xn = bn(1) ,
где верхний индекс указывает номер шага прямого хода. На втором шаге из второго уравнения полученной системы выразим x2 и повторим преобразования описанные выше. Получим новую матрицу.
Аналогично выполнив n-1 шаг, получим преобразованную треугольную систему:
a11x1 + a12x2 + a13x3 + ∙∙∙ + a1nxn = b1
0 + a22(1)x2 + a23(1)x3 + ∙∙∙ + a2n(1)xn = b2(1)
∙ ∙ ∙ ∙ ∙
∙ ∙ ∙ ∙ ∙
∙ ∙ ∙ ∙ ∙
0 + 0 + 0 + ∙∙∙ + ann(n-1)xn = bn(n-1)
Формула пересчета коэффициентов может быть представлена в виде
aij(k)
= aij(k-1)
−
, при i>k
и j>k.
Пересчет свободных членов производится по формуле
=
−
, при
i>k.
В приведенных выше выражениях через индекс k обозначен шаг преобразования матрицы. Необходимо отметить, что при равенстве нулю элемента akk следует найти элемент aik ≠ 0, при i>k и поменять местами i-ую и k-ую строки. Если такой элемент отсутствует, то вычисления аварийно прекращают и говорят, что матрица выраждена. Для повышения точности расчетов следует производить перестановку уравнений таким образом, чтобы главный элемент akk, на каждом шаге был максимальным.
Обратный ход.
Из последнего уравнения преобразованной
системы находим xn =
и далее по выражению xi
=
, где i=n-1,
n-2,…,1; находим
вектор искомых неизвестных.
1.4.Алгоритм решения
1.5.Программа решения
1.6.Результат работы программы
x1=−4.45 x2=10.172 x3=0.296
1.7.Проверка работы программы
