ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 02.08.2019

Просмотров: 4679

Скачиваний: 6

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Глава 1

Лекции

1.1

Лекция 1

ïîãðåøíîñòü

ìàò

.

ìî

äåëü

èçìåðåíèÿ

÷èñëåííûé

ìåòî

ä

ó

ñòîé÷èâûé

íåó

ñòîé÷èâûé

îêðóã

ëåíèå

÷èñåë

îáðåçàíèå

ïðè

ââî

äå

äëèííîãî

äåéñòâèò

.

÷èñëà

îêðóã

ëåíèå

ïðè

àðèì.

îïåðàöèÿõ

Редкая техническая, инженерная, физическая задача может быть ре-

шена точно и иметь «краcивый» ответ. В практической деятельности че-

ловеку часто бывает достаточно иметь приближение к точному ответу с

некоторой допустимой погрешностью.

Поэтому, разработка способов вычислений волновало умы многих вид-

ных математиков. Можно упомянуть методы, названные в честь Ньютона,

Лагранжа, Чебышёва.

Итак, численные методы имеют дело с приближёнными вычислениями.

Важно понимать какая ошибка может быть в итоге допущена. Основные

источники ошибок:

1. Ошибка математической модели. Например, планету Земля можно

рассматривать как плоскость, если речь идет о расстояниях

< 25 км.

6


background image

Лекция 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

принято назы-

вать цифрами. Запятая может встречаться только один раз. Она отделяет

целую часть числа от дробной. Чем больше позиций между цифрой и за-


background image

Лекция 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 по сте-


background image

Лекция 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

вычислять умножением. Таким образом, при ор-

ганизации вычислений можно своевременно обойти «подводные камни»,

дающие потерю точности.


background image

Лекция 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 сколь угодно