Краткий курс вычислительной математики. Денисова Э.В - 54 стр.

UptoLike

Составители: 

Пример. Рассмотрим алгоритм решения линейной системы методом Гаусса и некоторые особенности этого
метода для случая трех уравнений:
12
123
123
10 7 7,
3 3 6 4,
5 5 6.
xx
xx x
xxx
−=
−+ + =
−+ =
Исключим x
1
из второго и третьего уравнений. Для этого сначала умножим первое уравнение на 0.3 и
результат прибавим ко второму, а затем умножим первое же уравнение на -0.5 и результат прибавим к
третьему. Получим
12
23
23
10 7 7,
0.1 6 6.1,
2.5 5 2.5.
xx
xx
xx
−=
+=
+=
Прежде чем исключать х
2
из третьего уравнения, заметим, что коэффициент при х
2
во втором уравнении
(ведущий элемент) мал; поэтому было бы лучше переставить второе и третье уравнения. Однако мы проводим
сейчас вычисления в рамках точной арифметики и погрешности округлении не опасны, поэтому продолжим
исключение. Умножим второе уравнение на 25 и результат сложим с третьим уравнением. Получим систему в
треугольном виде:
12
23
3
10 7 7,
0.1 6 6.1,
155 155.
xx
xx
x
−=
+=
=
На этом заканчивается прямой ход метода Гаусcа.
Обратный ход состоит в последовательном вычислении х
3
, х
2
, х
1
соответственно из третьего, второго, первого
уравнений. Проведем эти вычисления:
3
2
32 1
6 6.1
155 7 7
1, 1, 0.
155 0.1 10
x
x
xx x
+
== = =−= =
Подстановкой в исходную систему легко убедиться, что (0, - 1, 1) и есть ее решение.
Изменим теперь слегка коэффициенты системы таким образом, чтобы сохранить прежним решение и вместе с
тем при вычислениях использовать округления. Таким условиям, в частности, соответствует система
12
1 23
12 3
10 7 7,
3 2.099 6 3.901,
5 5 6.
xx
x xx
xx x
−=
−+ + =
−+ =
Здесь изменены коэффициент при х
2
и правая часть второго уравнения. Будем снова вести процесс
исключения, причем вычисления проведем в рамках арифметики с плавающей точкой, сохраняя пять разрядов
числа. После первого шага исключения получим
12
23
23
10 7 7,
0.001 6 6.001,
2.5 5 2.5.
xx
xx
xx
−=
+=
+=
Следующий шаг исключения проводим при малом ведущем элементе (-0.001). Чтобы исключить х
2
из треть-
его уравнения, мы вынуждены умножить второе уравнение на 2500. При умножении получаем число 15002,5,
которое нужно округлить до пяти разрядов. В результате получаем третье уравнение в виде
3
15005 15006.x =
Отсюда х
3
= 15 006/15 005 = 1.0001. Из второго и первого уравнений найдем
21
6.001 6 1.0001 7 7 ( 0.4)
0.4, 0.42.
0.001 10
xx
+ ⋅−
= =−= =
Вычисления проводились с усечением до пяти разрядов по аналогии с процессом вычислений на компьютере.
В результате этого было получено решение (0.42, - 0.4, 1.0001) вместо (0, - 1,1).
Такая большая неточность результатов объясняется малой величиной ведущего элемента. В подтверждение
этому переставим сначала уравнения системы:
12
23
23
10 7 7,
2.5 5 2.5,
0.001 6 6.001.
xx
xx
xx
−=
+=
+=
Исключим теперь х
2
из третьего уравнения, прибавив к нему второе, умноженное на 0.0004 (ведущий элемент
53