
Информатика.-5
.pdf31
Пример. Решить систему уравнений методом Гаусса
x1 + 2x2 + x3 + 4x4 =132x1 + 0x2 + 4x3 + 3x4 = 284x1 + 2x2 + 2x3 + x4 = 20
−3x1 + x2 + 3x3 + 2x4 = 6
Расширенная матрица имеет вид
|
1 |
2 |
1 |
4 |
|
13 |
|
|
|||||||
|
|
|
|
|
|
|
|
[ A | B] = |
2 |
0 |
4 |
3 |
|
28 |
|
|
4 |
2 |
2 |
1 |
|
|
|
|
|
20 |
|||||
|
−3 |
1 |
3 |
2 |
|
6 |
|
Первая строка используется для получения нулей под главной диагональю в первом столбце. Для этого из второй строки вычитается первая строка с множителем 2; из третьей строки вычитается первая строка с множителем 4; из четвертой строки вычитается первая строка с множителем ( -3). В результате расширенная матрица принимает вид
1 |
2 |
1 |
4 |
|
13 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
[ A | B] = 0 |
−4 |
2 |
−5 |
|
2 |
. |
|
|
|
−6 |
−2 |
−15 |
|
|
|
0 |
|
−32 |
|||||
|
0 |
7 |
6 |
14 |
|
45 |
|
Вторая строка используется для получения нулей под главной диагональю во втором столбце. Для этого из третьей строки вычитается вторая строка с множителем 1,5; из четвертой строки вычитается вторая строка с множителем ( -7/4). В результате расширенная матрица принимает вид
1 |
2 |
1 |
4 |
|
13 |
|
|
|
|||||||
|
|
|
|
|
|
|
|
[ A | B] = 0 |
−4 |
2 |
−5 |
|
2 |
. |
|
|
|
0 |
−5 |
−7,5 |
|
−35 |
|
0 |
|
|
|||||
|
0 |
0 |
9,5 |
5,25 |
|
48,5 |
Вычтем из четвертой строки третью строку с множителем ( -1,9) и получим
1 |
2 |
1 |
4 |
|
13 |
|
|
||||||
|
|
|
|
|
|
|
[ A | B] = 0 |
−4 2 |
−5 |
|
2 |
. |
|
|
0 |
−5 |
−7,5 |
|
|
|
0 |
|
−35 |
||||
0 |
0 |
0 |
−9 |
|
−18 |
Используя алгоритм обратной подстановки, получим
32
x |
= −18 |
= 2 , x |
= |
−35 − 2 (−7,5) |
= |
−20 |
= 4 , |
||||||
4 |
|
−9 |
3 |
|
|
−5 |
|
−5 |
|
||||
x = 2 − 2 (−5) − 4 2 = |
4 |
= −1, |
|
|
|
||||||||
|
|
|
|
||||||||||
2 |
|
|
−4 |
|
|
−4 |
|
|
|
||||
|
|
|
|
|
|
|
|
||||||
x = |
13 − 2 4 − 4 1− (−1) 2 |
= |
3 |
= 3 |
|
|
|||||||
|
|
|
|
||||||||||
1 |
|
|
1 |
|
1 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
Поскольку компьютер использует арифметику с фиксированной точностью, то при выполнении арифметических операций каждый раз вводится небольшая ошибка. Эти ошибки могут накапливаться и привести к значительной ошибке в решении системы линейных уравнений.
Значения
1,133 x1 + 5,281 x2 = 6,41424,14 x1 −1,210 x2 = 22,93.
Если решать эту систему методом Гаусса, то для получения нулевого значения под главной диагональю расширенной матрицы требуется из второй строки вычесть первую
строку с множителем |
24,14 |
= 21,31. Используя четыре знака в вычислениях, получим |
||||||||||
|
||||||||||||
|
1,133 |
|
|
|
|
|
|
|
||||
a(2) |
= −1,210 − 21,31 5,281 = −1,210 −112,5 = −113,7 , |
|||||||||||
22 |
|
|
|
|
|
|
|
|
|
|
|
|
b(2) |
= 22,93 − 21,31 6,414 = 22,93 −136,7 = −113,8 . |
|||||||||||
2 |
|
|
|
|
|
|
|
|
|
|
|
|
Получается система уравнений |
|
|
|
|||||||||
1,133 x1 + 5,281 x2 |
= 6,414 |
|
|
|
||||||||
|
|
|
|
|
|
|
. |
|
|
|
||
−113,7 x2 = −113,8 |
|
|
|
|
|
|
||||||
С помощью обратной подстановки получаем |
|
|
|
|||||||||
x = |
−113,8 |
=1,001, |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||||
2 |
|
−113,7 |
|
|
|
|
|
|
||||
x = |
6,414 −5,281 1,001 |
= |
6,414 −5,286 |
= |
1,128 |
= 0,9956 , |
||||||
|
|
|
||||||||||
1 |
1,133 |
|
1,133 |
1,133 |
|
|||||||
|
|
|
Возникшая ошибка обусловлена значением коэффициента 24,141,133 = 21,31.
Теперь поменяем местами уравнения системы
24,14 x1 −1,210 x2 = 22,931,133 x1 + 5,281 x2 = 6,414

33
Множитель первой строки стал 1,13324,14 = 0,04693 . Новые коэффициенты равны
a(2) |
= 5,281− 0,04693 (−1,210) = 5,281+ 0,05679 = 5,338, |
||||
22 |
|
|
|
|
|
b(2) |
= 6,414 − 0,04693 22,93 = 6,414 −1,076 = 5,338 . |
||||
2 |
|
|
|
|
|
Получается система уравнений |
|
||||
24,14 x1 |
−1,210 x2 |
= 22,93 |
|
||
|
|
= 5,338 |
|
. |
|
5,338 x2 |
|
|
|
||
С помощью обратной подстановки получаем |
|
||||
x = 5,338 |
=1,000 , |
x = 22,93 +1,210 1,000 |
= 24,14 =1,000. |
||
2 |
5,338 |
|
1 |
24,14 |
24,14 |
|
|
|
Таким образом, для уменьшения ошибок при решении системы уравнений требуется при вычислении множителей использовать наибольший по абсолютной величине элемент.
Значительные ошибки решения системы уравнений возможны в случае плохой обусловленности. Например, требуется решить систему, записанную в матричном виде,
A X = B .
Решение данной системы X = A−1 B .
Матрица A называется плохо обусловленной, если существует такая матрица B , что при небольших возмущениях коэффициентов матриц A и B произойдут большие изменения в решении X = A−1 B .
Плохая обусловленность имеет место в системах двух уравнений, когда две линии почти параллельны. Рассмотрим два уравнения
x + 2 y − 2,00 = 0 2x + 3y − 3,40 = 0
y
1,0 |
2x + 3y = 3,4 |
|
|
|
|
(0,8;0,6) |
|
|
|
|
|
|
|
|
0,5 |
|
|
x + 2 y = 2 |
|
|
|
|
||
|
|
|
|
x |
|
0,5 |
1,0 |
1,5 |
2,0 |
Рис. 3.1. Область, точки которой «почти удовлетворяют» обоим уравнениям
34
Подстановка x0 =1,00 и y0 = 0,48 в эти уравнения «почти приводит к нулям»: |
||
1,00 + 2 0,48 − 2,00 =1,96 − 2,00 = −0,04 ≈ 0 |
|
|
2 1,00 + 3 0,48 − 3,40 = 3,44 −3,40 = 0,04 ≈ 0 . |
|
|
Расхождение с нулем составило ±0,04 . Истинное решение этой линейной системы |
||
равно x = 0,8 и y = 0,6 . |
Ошибки приближенного и точного решений |
равны |
x − x0 = 0,80 −1,00 = −0,20 |
и y − y0 = 0,60 − 0,48 = 0,12 . Таким образом, |
просто |
подстановка значений в систему уравнений не является надежным критерием точности. Ромбообразная область на рис.6.3.1 представляет множество, точки которого «почти удовлетворяют» обоим уравнениям.
Плохая обусловленность имеет более сильные последствия, когда нужно решать
несколько |
уравнений. |
Рассмотрим |
задачу |
нахождения |
кубического полинома |
|||
y = c x3 |
+ c x2 + c x + c , который |
проходит |
через четыре |
точки: (2;8) , |
(3;27) , |
|||
1 |
|
2 |
3 |
4 |
|
|
|
|
(4;64) , |
|
(5;125). |
Очевидно, что |
y = x3 |
- требуемый |
полином. При |
поиске |
коэффициентов полинома по методу наименьших квадратов требуется решить следующую линейную систему
|
20514 |
4424 |
978 |
224 |
c1 |
|
|
20514 |
||
|
4424 |
978 |
224 |
54 |
|
c |
|
|
4424 |
|
|
978 |
224 |
54 |
14 |
|
2 |
|
= |
978 |
. |
|
|
c |
|
|
|
|||||
|
224 |
54 |
14 |
4 |
|
3 |
|
|
224 |
|
|
|
c4 |
|
|
При вычислении коэффициентов использовался компьютер с 9-ю знаками точности. Были получены значения
c1 =1,000004 , c2 = −0,000038 , c3 = 0,000126 , c4 = −0,000131.
Хотя они близки к истинному решению, но видно, что ошибка решения существует. Предположим, что коэффициент a11 = 20514 заменен значением 20515, и
решается возмущенная система. Значения, полученные на таком же компьютере и равные
c1 = 0,642857 , c2 = 3,750000 , c3 = −12,3928, c4 =12,7500 ,
являются ничего не стоящим ответом.
35
3.3 Итеративный метод Якоби
Рассмотрим систему линейных уравнений
4x − y + z = 74x −8y + z = −21
−2x + y + 5z =15
Уравнения можно записать в виде
|
7 + y − z |
|
||
x = |
|
|
4 |
|
|
|
|
|
|
21 |
+ 4x + z |
|
||
|
|
|||
y = |
|
|
|
. |
|
|
8 |
||
|
|
|
|
|
|
15 + 2x − y |
|
||
z = |
|
|
|
|
|
|
5 |
|
|
|
|
|
|
Это позволяет записать следующий итеративный процесс Якоби:
|
= |
|
7 + yk − zk |
|
|
|
|||
xk+1 |
|
|
|
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
21 |
+ 4x |
+ z |
|
|
|
|||
|
|
k |
|
|
|||||
yk +1 |
= |
|
|
|
k |
|
. |
|
|
|
|
|
8 |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
15 + 2xk |
− yk |
|
|||||
zk+1 |
= |
|
|
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Подставим |
начальное приближение x0 =1, |
y0 = 2 , z0 = 2 в правую часть |
|||||||
каждого уравнения, чтобы получить новые значения |
x1 =1,75 , y1 = 3,75 , z1 = 3. Они |
ближе к истинным значениям (2;4;3) . В таблице 3.1. показана сходимость итераций Якоби для данной системы линейных уравнений.
36
Таблица 3.1. Сходимость итераций Якоби
N |
x |
y |
z |
0 |
1 |
2 |
2 |
1 |
1,75 |
3,375 |
3 |
2 |
1,84375 |
3,875 |
3,025 |
3 |
1,9625 |
3,925 |
2,9625 |
4 |
1,990625 |
3,9765625 |
3 |
5 |
1,994140625 |
3,9953125 |
3,0009375 |
6 |
1,99859375 |
3,9971875 |
2,99859375 |
7 |
1,999648438 |
3,999121094 |
3 |
8 |
1,999780273 |
3,999824219 |
3,000035156 |
9 |
1,999947266 |
3,999894531 |
2,999947266 |
10 |
1,999986816 |
3,999967041 |
3 |
11 |
1,99999176 |
3,999993408 |
3,000001318 |
12 |
1,999998022 |
3,999996045 |
2,999998022 |
Метод Якоби работает не всегда. Возможно получение расходящейся итерационной последовательности точек.
3.4 Итеративный метод Гаусса-Зейделя
Итерационный процесс можно ускорить. Итеративный процесс Якоби производит
три последовательности |
{xk }, {yk }, {zk }. Кажется разумным, что |
xk+1 |
может быть |
||||||
использовано вместо xk |
в формуле вычисления |
yk+1 . Аналогично xk+1 и |
yk+1 можно |
||||||
использовать |
в формуле |
zk +1 вместо xk и yk . |
В результате этих |
замен |
получается |
||||
итеративный процесс Гаусса-Зейделя. |
|
|
|
||||||
|
= |
7 + yk − zk |
|
|
|
||||
xk+1 |
4 |
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
21+ 4xk +1 + zk |
|
|
|
||||
|
|
|
|
|
|
||||
yk +1 |
= |
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
||
|
|
15 + 2xk +1 − yk +1 |
|
|
|
||||
zk+1 = |
|
|
|
|
|
|
|
|
|
5 |
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
В таблице 3.2 дана его сходимость при решении системы уравнений
37
4x − y + z = 74x −8y + z = −21
−2x + y + 5z =15
С начальными приближениями x0 =1, y0 = 2 , z0 = 2 .
Таблица 3.2. Сходимость итераций Гаусса-Зейделя
N |
x |
y |
z |
0 |
1 |
2 |
2 |
1 |
1,75 |
3,375 |
3 |
2 |
1,84375 |
3,921875 |
2,953125 |
3 |
1,9921875 |
3,990234375 |
2,998828125 |
4 |
1,997851563 |
3,998779297 |
2,999384766 |
5 |
1,999848633 |
3,999847412 |
2,999969971 |
6 |
1,99996936 |
3,999980927 |
2,999991559 |
7 |
1,999997342 |
3,999997616 |
2,999999414 |
8 |
1,999999551 |
3,999999702 |
2,99999988 |
9 |
1,999999956 |
3,999999963 |
2,99999999 |
10 |
1,999999993 |
3,999999995 |
2,999999998 |
11 |
1,999999999 |
3,999999999 |
3 |
12 |
2 |
4 |
3 |

38
4. Численное интегрирование
Задача численного интегрирования сводится к нахождению численного значения I
b
I = ∫ f (x)dx .
a
Численное интегрирование является основным методом, используемым инженерами и учеными для получения приближенного ответа при вычислении определенных интегралов, которые нельзя вычислить аналитически. Например, функцию
x |
3 |
Φ(x) , являющуюся решением интеграла Φ(x) = ∫0 ett−1 dt , нельзя записать в
элементарных функциях. Для получения значения Φ(6) необходимо использовать численное интегрирование. Площадь криволинейной трапеции, изображенной на рис. 4.1, равно значению Φ(6) .
1,5
1
0,5
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
1 |
2 |
3 |
4 |
5 |
|
6 |
7 |
|||
Рис. 4.1. Площадь под кривой y = |
t3 |
|
при 0 ≤ t ≤ 6 |
|
|
||||||
et −1 |
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
Численное интегрирование основано на аппроксимации подынтегральной функции другой функцией, для которой существует аналитическое решение определенного интеграла.
Аппроксимация – замена одних математических объектов другими
в том или ином смысле близкими к исходным.

39
4.1 Метод прямоугольников
Численное интегрирование методом прямоугольников имеет три разновидности: метод левых прямоугольников, метод правых прямоугольников и метод центральных прямоугольников.
При вычислении интеграла методом левых прямоугольников криволинейная трапеция заменяется прямоугольниками, высоты которых равны значению функции в левых точках (рис. 4.2). Основания всех прямоугольников равны
h = b −n a ,
где n – число интервалов разбиения отрезка [a;b] , a – нижний предел интегрирования,
b – верхний предел интегрирования.
1,5 |
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
0,5 |
|
|
|
|
|
|
|
0 |
|
|
3 |
4 |
5 |
6 |
7 |
0 |
1 |
2 |
|||||
Рис. 4.2. Аппроксимация методом левых прямоугольников |
|
Предположим, что требуется вычислить определенный интеграл I = ∫b |
f (x)dx . |
a |
|
Разобьем отрезок [a;b] на шесть интервалов ( n = 6 ). |
|
Суммарная площадь прямоугольников равна
SΣ = S1 + S2 + S3 + S4 + S5 + S6 .
Учитывая, что

40
S1 = h f (a) , S2 = h f (a +h) , S3 = h f (a +2h) ,
S4 = h f (a +3h) , S5 = h f (a +4h) , S5 = h f (a +5h)
и вынося h за скобки, получим
SΣ = S1 + S2 + S3 + S4 + S5 + S6 =
= h f (a) + h f (a + h) + h f (a + 2h) + h f (a +3h) + h f (a + 4h) + h f (a +5h) = = h ( f (a) + f (a + h) + f (a + 2h) + f (a +3h) + f (a + 4h) + f (a +5h))
В общем случае формула для решения интеграла методом левых прямоугольников имеет вид
n−1
IЛП = h ∑ f (a +i h) ,
i=0
где h = b −n a .
|
|
|
|
Пример. |
|
Предположим, |
что |
|
требуется |
вычислить определенный |
интеграл |
|||||||||||||||||||||||||||||
|
6 |
|
|
x3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
x3 |
|
|
|
I = ∫0 |
|
|
|
|
dx . В этом случае a = 0 , |
b = 6 , |
f (x) = |
|
|
|
. Разобьем отрезок [0;6] |
на шесть |
||||||||||||||||||||||||||||
ex −1 |
ex −1 |
|||||||||||||||||||||||||||||||||||||||
интервалов ( n = 6 ). Шаг интегрирования равен h = |
6 −0 |
=1. |
|
|||||||||||||||||||||||||||||||||||||
6 |
|
|
||||||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
3 |
|
|
|
|
3 |
|
|
|
|
2 |
3 |
|
|
|
|
3 |
|
|
|
4 |
3 |
|
|
|
3 |
|
|
|
|
|
||||
IЛП =1 |
|
|
|
|
|
+ |
|
1 |
|
+ |
|
|
|
|
+ |
|
|
3 |
|
+ |
|
|
|
+ |
|
5 |
|
|
= |
|
|
|||||||||
|
0 |
|
|
|
|
1 |
|
|
e |
2 |
|
|
|
e |
3 |
|
e |
4 |
|
|
e |
5 |
|
|
|
|
||||||||||||||
|
|
|
|
e |
−1 |
|
|
e −1 |
|
|
−1 |
|
|
−1 |
|
−1 |
|
−1 |
|
|
|
|||||||||||||||||||
= |
1 |
|
|
+ |
|
|
8 |
|
|
|
+ |
27 |
|
+ |
64 |
|
+ |
125 |
|
= 0,582 +1,252 +1,415 +1,194 +0,848 = 5,291 |
|
|||||||||||||||||||
e −1 |
e2 − |
1 |
e3 −1 |
e4 −1 |
e5 −1 |
|
||||||||||||||||||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
При вычислении интеграла методом правых прямоугольников криволинейная трапеция заменяется прямоугольниками, высоты которых равны значению функции в правых точках (рис. 4.3). Основания всех прямоугольников равны
h = b −n a ,
где n – число интервалов разбиения отрезка [a;b] ,
a– нижний предел интегрирования,
b– верхний предел интегрирования.
Предположим, что требуется вычислить определенный интеграл I = ∫b f (x)dx .
a
Разобьем отрезок [a;b] на шесть интервалов ( n = 6 ).
Суммарная площадь прямоугольников равна
SΣ = S1 + S2 + S3 + S4 + S5 + S6 .