ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.08.2019
Просмотров: 4679
Скачиваний: 6

Глава 1
Лекции
1.1
Лекция 1
ïîãðåøíîñòü
ìàò
.
ìî
äåëü
èçìåðåíèÿ
÷èñëåííûé
ìåòî
ä
ó
ñòîé÷èâûé
íåó
ñòîé÷èâûé
îêðóã
ëåíèå
÷èñåë
îáðåçàíèå
ïðè
ââî
äå
äëèííîãî
äåéñòâèò
.
÷èñëà
îêðóã
ëåíèå
ïðè
àðèì.
îïåðàöèÿõ
Редкая техническая, инженерная, физическая задача может быть ре-
шена точно и иметь «краcивый» ответ. В практической деятельности че-
ловеку часто бывает достаточно иметь приближение к точному ответу с
некоторой допустимой погрешностью.
Поэтому, разработка способов вычислений волновало умы многих вид-
ных математиков. Можно упомянуть методы, названные в честь Ньютона,
Лагранжа, Чебышёва.
Итак, численные методы имеют дело с приближёнными вычислениями.
Важно понимать какая ошибка может быть в итоге допущена. Основные
источники ошибок:
1. Ошибка математической модели. Например, планету Земля можно
рассматривать как плоскость, если речь идет о расстояниях
< 25 км.
6

Лекция 1
7
В других случаях следует рассматривать Землю как шар со радиусом
6371 км. Более точная модель будет эллипсоидом (большая полуось
6378 км, малая полуось 6357 км). Самая точная модель — это геоид
(напоминает форму груши). Все модели содержат погрешность, кото-
рой можно пренебречь в одном случае и нельзя в другом.
2. Погрешность измерений. Например, неточность приборов, плохие из-
мерения, неудачная статистическая выборка.
3. Погрешность численного метода. Например, интеграл заменяется ко-
нечной суммой (
R
→
P
), производная заменяется разделённой разно-
стью (
f
0
→ ∆y/∆x).
4. Ошибка округления. Как правило целочисленных вычислений не хва-
тает для практических нужд. Приходится работать с действительны-
ми числами
R
. Компьютер воспринимает числа в позиционной системе
с основанием 2. Понятно, что в этом случае иррациональные числа и
часть рациональных чисел невозможно точно представить двоичным
числом конечной длины. Кроме того, если под число отводится фик-
сированное число ячеек в памяти компьютера, то некоторые близкие
числа
x, y
∈
R
станут неотличимы в памяти компьютера (действи-
тельно, в 8 байтах можно разместить не более
2
64
различных чисел, а
|
R
| = ∞). В итоге, уже при вводе данных в компьютер будет допуще-
на ошибка округления (в Matlab около 15–16 десятичных разрядов).
Задача математика состоит в том, чтобы по окончании вычислений
финальная относительная ошибка в ответе имела порядок малости
близкий к порядку малости относительной ошибки исходных данных,
либо не превышала заданный порог
ε.
Рассмотрим более подробно последний пункт.
Число в позиционной системе счисления с основанием
p представляет
из себя слово в алфавите
{a
0
, a
1
, . . . , a
p
−1
, запятая
}, где a
i
принято назы-
вать цифрами. Запятая может встречаться только один раз. Она отделяет
целую часть числа от дробной. Чем больше позиций между цифрой и за-

Лекция 1
8
пятой, тем больший (если цифра слева от запятой) или меньший (если
цифра справа от запятой) «вес» имеет цифра в числе. То есть важны не
только цифры, но и их позиции. Отсюда происходит название «позицион-
ная».
Примеры:
123, 45
10
= 1
· 10
2
+ 2
· 10
1
+ 3
· 10
0
|
{z
}
целая часть
+ 4
· 10
−1
+ 5
· 10
−2
|
{z
}
дробная часть
,
1F
16
= 1
· 16
1
+ 15
· 16
0
,
101, 11
2
= 1
· 2
2
+ 0
· 2
1
+ 1
· 2
0
|
{z
}
целая часть
+ 1
· 2
−1
+ 1
· 2
−2
|
{z
}
дробная часть
.
Отклонение по абсолютной величине точного значения некоторой вели-
чины
x от приближённого значения ˜
x называется абсолютной ошибкой
∆x =
|x − ˜x|. Отношение |x − ˜x|/|x| абсолютной ошибки к величине x
называется относительной погрешностью.
Округление при сложении.
Пусть требуется найти сумму пяти четы-
рехразрядных чисел:
S = 0.2764+0.3944+1.475+26.46+1364. Складывая
все эти числа, а затем округляя полученный результат до четырёх зна-
чащих цифр, получаем
S = 1393. Однако при вычислении на компьюте-
ре округление происходит после каждого сложения. Предполагая условно
мантиссу четырехразрядной, проследим за вычислением на компьютере
суммы чисел от наименьшего к наибольшему, т. е. в порядке их записи:
0.2764 + 0.3944 = 0.6708, 0.6708 + 1.475 = 2.156, 2.156 + 26.46 = 28.62,
28.62 + 1364 = 1393; получили S
1
= 1393, т. е. верный результат. Изменим
теперь порядок вычислений и начнём складывать числа последователь-
но от последнего к первому:
1364 + 26.46 = 1390, 1390 + 1.475 = 1391,
1391 + 0.3944 = 1391, 1391 + 0.2764 = 1391; здесь окончательный резуль-
тат
S
2
= 1391, он менее точный. Вывод: в сумме слагаемые желательно
упорядочить в порядке возрастания их абсолютных величин.
Рассмотрим важный пример — использование рядов для вычисления
значений функций. Запишем, например, разложение функции
sin x по сте-

Лекция 1
9
пеням аргумента:
sin x = x
−
x
3
3!
+
x
5
5!
−
x
7
7!
+ . . .
За приближённое значение
sin x можно принять сумму первых N слагае-
мых ряда. При этом остаток суммы ряда не должен превышать величину
погрешности. Это означает, что слагаемое
u
k
=
x
2k
−1
(2k
− 1)!
(1.1)
для
k > N тоже должно быть мало. Попробуем вычислить одно и то же
значение синуса для различных аргументов:
sin
π
6
= sin
π
6
+ 2π
= sin
π
6
+ 8π
=
1
2
.
Заметим, что
π
6
≈ 0, 5235,
π
6
+ 2π
≈ 6.8068,
π
6
+ 8π
≈ 25.6563. Для вы-
полнения условия
u
k
→ 0, необходимо, чтобы факториал в знаменателе
превысил числитель. На рис. 1.1 столбиками обозначены слагаемые
u
k
.
Хорошо видно, что чем больше аргумент
x, тем длиннее будет начальная
сумма ряда для заданной точности. В случае
x = π/6 достаточно уже
u
1
+ u
2
+ u
3
. Для
π/6 + 2π потребуется u
1
+ . . . + u
11
или даже больше.
Для
π/6 + 8π ситуация ещё хуже, нужно более 20 слагаемых. Очевидно,
для вычисления
sin x выгодно иметь дело с самым малым возможным ар-
гументом. Кроме этого при больших аргументах слагаемые ряда имеют
существенно различный порядок (например, для
x =
π
6
+ 8π это u
1
∼ 10
0
и
u
14
∼ 10
10
). Это может вызвать потерю значащих цифр при округлении
значения мантиссы.
Для тригонометрических функций можно использовать формулы при-
ведения, благодаря чему аргумент будет находится на отрезке
[0, 1]. При
вычислении экспоненты аргумент
x можно разбить на сумму целой и дроб-
ной частей (
e
x
= e
n+a
= e
n
· e
a
,
0 < a < 1) и использовать разложение в
ряд только для
e
a
, а
e
n
вычислять умножением. Таким образом, при ор-
ганизации вычислений можно своевременно обойти «подводные камни»,
дающие потерю точности.

Лекция 1
10
-0,1
0
0,1
0,2
0,3
0,4
0,5
0,6
u
1
u
2
u
3
-150
-100
50
0
50
100
150
u
1
u
2
u
3
u
4
u
5
u
6
u
7
u
8
−1, 5 · 10
10
−1 · 10
10
−0, 5 · 10
10
0 · 10
10
0, 5 · 10
10
1 · 10
10
1, 5 · 10
10
u
3
u
7
u
11
u
15
u
19
à)
á)
â)
ïîðÿäêè
ñèëüíî
îòëè÷àþòñÿ
Рис. 1.1: Слагаемые в начальных суммах разложения
sin x: a) x =
π
6
≈
0, 5235; b) x =
π
6
+ 2π
≈ 6.8068; c) x =
π
6
+ 8π
≈ 25.6563.
Устойчивость.
Пусть в результате решения задачи по исходному значе-
нию некоторой величины
x находится значение искомой величины y. Если
исходная величина имеет абсолютную погрешность
∆x, то решение имеет
погрешность
∆y. Задача называется устойчивой по исходному параметру
x, если решение y непрерывно от него зависит, т. е. малое приращение ис-
ходной величины
∆x приводит к малому приращению искомой величины
∆y. Другими словами, малые погрешности в исходной величине приводят
к малым погрешностям в решении.
Отсутствие устойчивости означает, что даже незначительные погреш-
ности в исходных данных приводят к большим погрешностям в решении
или даже к неверному результату. О неустойчивых задачах также говорят,
что они чувствительны к погрешностям исходных данных.
Приведем пример неустойчивой задачи. Рассмотрим квадратное урав-
нение с параметром
a
x
2
− 2x + sign a = 0, sign a =
(
1, a
>
0,
−1, a < 0.
Решение этого уравнения в зависимости от значения
a таково: x
1
= x
2
= 1
при
a
>
0; x
1,2
= 1
±
√
2 при a < 0. Очевидно, что при a = 0 сколь угодно