Действия над приближенными числами

Иркутский государственный технический университет

Факультет кибернетики

Кафедра вычислительной техники

КУРС ЛЕКЦИЙ

По дисциплине

ВЫЧИСЛИТЕЛЬНАЯ

МАТЕМАТИКА

Направления

подготовки: - 654600 “Информатика и вычислительная техника”

- 654700 “Информационные системы”

Специальности: 2201 “Вычислительные машины, комплексы,

Системы и сети ” (ЭВМ)

Автоматизированные системы обработки

Информации и управления ” (АСУ)

Информационные системы в технике и

Технологиях ” (МЭИ)

ЛЕКЦИЯ 1

Приближенные числа.

«В численных расчетах всегда есть

бездна ловушек…»

Форсайт, Малькольм, Моулер.

1. Источники погрешностей результатов вычислений.

а) исходные данные получены из эксперимента, т.е. имеют ограниченную точность;

б) в процессе вычислений иррациональные величины: π, е, Действия над приближенными числами - student2.ru и т.д. могут быть представлены лишь приближенно;

в) часто методы решения задач требуют для получения ответа бесконечного числа шагов (например при интегрировании, когда исходная функция заменяется степенным рядом с бесконечным числом членов). Решение прекращается после выполнения конечного числа операций;

г) ограниченное число разрядов в ЭВМ и т.д.

При решении задач на ЭВМ пользуются те или иные вычислительные схемы.

Пример, «ловушки» при численных расчетах [Березин, Жидков, т 1 стр. 39]

Вычислить объем шара, заключенного между цилиндром радиуса R и взаимно перпендикулярными плоскостями. Радиус шара – r.

Действия над приближенными числами - student2.ru

Действия над приближенными числами - student2.ru ; Действия над приближенными числами - student2.ru

Рассмотрим три различных вычислительных схемы:

Действия над приближенными числами - student2.ru

Подсчитаем три выражения для двух приблизительных значений

Действия над приближенными числами - student2.ru = 1,4142135624…

1. Действия над приближенными числами - student2.ru = 1,4 = Действия над приближенными числами - student2.ru ; ∆1 = 0,014 /∆1 / = 0,014

2. Действия над приближенными числами - student2.ru = 1,4166 = Действия над приближенными числами - student2.ru2 = -0,0024 /∆2 / = 0,0024

второе значение более точное.

Результаты сведем в таблицу

Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru (3-2 Действия над приближенными числами - student2.ru ) 99-70 Действия над приближенными числами - student2.ru
Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru
Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru

Имеем 6 ответов (от -0,1666 до +1), существенно отличающихся друг от друга. Причем вариант - Действия над приближенными числами - student2.ru очевидно абсурден. Сразу не ясно, какой из оставшихся результатов ближе к верному.

Один программист сказал: «написать две хороших подпрограммы на порядок легче, чем решить, какая из них лучше»

[Малькольм, Форсайт, Моулер]

Необходимость оценивать результаты программ обусловила необходимость анализа погрешностей.

2. Абсолютная и относительная погрешности,

Под ошибкой или погрешностью, ∆а приближенного числа, а понимают разность между точным числом и приближенным

∆а = А – а (иногда: ∆а = а – А )

Абсолютная погрешность приближенного числа

∆ = ‌‌‌‌‌/∆а/ ∆ = /А-а/

Т.к. точное число А обычно неизвестно, то используют верхнюю оценку ∆ – предельную абсолютную погрешность ∆а, т.е. всякое число, не меньше абсолютной погрешности этого числа.

∆ = ‌/А – а/ ≤ ∆а (1)

Т.о.

а – ∆а ≤ А ≤ а +∆а

Или

А = а ± ∆а

Пример: определить ∆а числа а = 3,14, заменяющего π.

Решение: 3,14 < π < 3,15

/а – π/ < 0,01 т.о. ∆а = 0,01

Если учесть, что

3,14 < π < 3,142, то ∆а = 0,02

Нужно выбирать нижнюю грань числа ∆а, удовлетворяющего неравенству (1).

Относительной погрешностью δ приближенного числа а называют отношение абсолютной погрешности ∆ к модулю точного числа А (А ≠0)

δ = Действия над приближенными числами - student2.ru (2)

т.е. ∆ = /А/ • δ

Предельной относительной погрешностью δа называется всякое число, не меньшее относительной погрешности приближенного числа а.

δ ≤ δа т.е. Действия над приближенными числами - student2.ru ≤ δа → ∆ = /А/ • δа

Сравнивая с (1) получаем: предельная абсолютная погрешность равная предельной относительной погрешности умноженной на модуль точного значения числа.

∆а = /А/ • δа (3)

На практике считают (т.к. А ≈ а)

∆а = /а/ • δа (4)

границы для точного числа А равны

а(1 – δа) и а(1 + δа)

т.о. А = а(1 ± δа)

3. Значащая цифра. Число верных знаков.

Опр. 1 Значащей цифрой приближенного числа называется всякая цифра в его десятичном изображении, отличная от нуля, и нуль, если он содержится между значащими цифрами или является представлением сохраненного десятичного разряда.

Примеры:

Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru

незначащие цифры

Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru Действия над приближенными числами - student2.ru

значащие цифры

Опр. 2 n первых значащих цифр приближенного числа а является верными, если абсолютная погрешность этого числа не превышает половины единицы разряда, выражаемого n-ой значащей цифрой, считая слева направо.

Т.о. для числа

а = αm • 10m +…+ αm-n+1 – 10m-n +1 +…

(ли известно, что ∆ = /А – а/ ≤ 1/2 • 10m-n +1)

Пример: А = 35,97 а = 36,00

В а верны три знака, т.к. /А – а/ = 0,03 < 1/2 • 0,1

следовательно, 0 • 10-1 – верная значащая цифра.

4. Округление чисел.

Чтобы округлить число до n значащих цифр, отбрасывают все цифры его, стоящие справа от n-ой значащей цифры, или, если это нужно для сохранения разряда, заменяют их нулями. При этом:

1) если первая из отброшенных цифр < 5, то оставшиеся десятичные знаки сохраняются без изменения;

2) если первая из отброшенных цифр > 5, то к последней оставшейся цифре добавляется 1;

3) если первая из отброшенных цифр = 5 и среди отброшенных цифр есть ненулевые, то последняя оставшееся цифра увеличивается на 1;

4) если все отброшенные цифры (первая = 5) – нулевые, то последняя оставшееся цифра остается неизменной, если она четная, и увеличивается на 1, если она нечетная.

Рекомендации для практического применения:

1. Количество верных знаков числа отсчитывается от 1-ой значащей цифры числа до первой значащей цифры его абсолютной погрешности. S = 20.7426; ∆s = 0.0926 верные знаки 2, 0, 7. по определению 2, верные значащие цифры были бы 2,0, т.к. 0,09>

1/2 • 0,1 = 0,05

2. В окончательных результатах вычислений обычно оставляют, кроме верных, один сомнительный знак. В промежуточных результатах обычно оставляют два-три сомнительных знака, чтобы не накапливать погрешности от округлений.

Пример: Длина и ширина комнаты, измеренные с точностью до 1 см., равны

а = 5,43м; в = 3,82м. Оценить погрешность площади.

S = ав = 20,7426 м2

Решение: ∆а = 0,01м; ∆в = 0,01м

Smax = (a + 0.01)(в + 0,01) = 20,8952 м2 /Smax – S/ = 0,0926

Smin = (a - 0.01)(в - 0,01) = 20,6502 м2 /Smin – S/ = 0,0924

∆S = 0,0926. Можно положить ∆S = 0,1. Погрешность увеличивают при округлении.

Приближенное значение S = 20,7 (или даже 21).

5. Сложение и вычитание приближенных чисел.

Абсолютная погрешность алгебраической суммы нескольких приближенных чисел равна сумме абсолютных погрешностей слагаемых:

если S = а12+…±аn

то ∆S = ∆а1+∆а2+…±∆аn

За предельную абсолютную погрешность можно принять сумму предельных абсолютных погрешностей.

Практическое правило для сложения приближенных чисел.

1. выделить числа, десятичная запись которых обрывается ранее других, и оставить их без изменения;

2. остальные числа округлить по образцу выделенных, сохраняя один или два запасных знака;

3. произвести сложение, учитывая все сохраненные знаки;

4. результат округлить на 1 знак

Пример: найти сумму приближенных чисел, каждое из которых имеет все верные значащие цифры:

0,348; 0,1834; 345,4; 235,2; 11,2; 11,75; 9,27; 0,0849; 0,0214; 0,000354.

Решение:1) выделяем числа наименьшей точности: 345,4; 235,2 (абсолютная погрешность может достигать 0,1).

2) округляем остальные числа до 0,01

получим

345,4 3) округляем результат до 0,1. По правилу четной цифры получаем: S = 602,2
235,2
11,2
9,27
0,35
0,18
0,08
0,02
Действия над приближенными числами - student2.ru 0,00
602,25

Абсолютная погрешность находится в (приближенно) как сумма абсолютных погрешностей исходных данных и погрешности округления

∆S = 0,10 + 0,05 = 0,15 ∆а = 0,2

Относительная погрешность δs суммы нескольких чисел одного и того же знака между наименьшей и наибольшей из относительных погрешностей слагаемых: min δак ≤ δs ≤ δак (ак > 0, к = 1, 2, 3…, n)

Пример: оценить относительную погрешность суммы, найденной в предыдущем примере, и сравнить ее с относительными погрешностями слагаемых.

Решение: абсолютная погрешность (погрешность суммирования) ∆ равна 0,1. относительная погрешность δ = ∆/А:

Δ = 0,1/602,2 = 0,017 %

Относительные погрешности слагаемых: 0,0005/0,348 = 0,5/348 = 15 %

0,5/348 = 15 %; 0,5/1834 = 0,027 %; 0,5/3454 = 0,015 %

05/2352 = 0,022 %; 0,5/1175 = 0,043 %; 0,5/927 = 0,054 %

0,5/849 = 0,059 %; 0,5/214 = 0,24 %; 0,5/354 = 0,015 %

min δак = 0,015 %

max δак = 0,24 %

δs = 0,017 %

Наибольший вклад в сумму вносят слагаемые 345,4 (δ = 0,015 %) и 235,2 (δ = 0,022 %). δ заключена между этими значениями.

Относительная погрешность разности двух положительных чисел больше относительных погрешностей этих чисел, особенно, если эти числа близки между собой.

Это приводит к потере точности при вычитании близких чисел. При приближенных вычислениях полезно преобразовать выражения, связанные с вычислением близких чисел.

Пример: U = Действия над приближенными числами - student2.ru ; найти разность с тремя верными знаками.

Действия над приближенными числами - student2.ru = 1,41774469

Действия над приближенными числами - student2.ru = 1,41421356

U = 0,00353 = 3,53•10–3 вычисления нужно вести с 6 знаками после запятой, т.е. 7 верных знаков.

Преобразуем U:

Действия над приближенными числами - student2.ru

Заданную точность можно обеспечить, взяв корни лишь с тремя верными знаками.

U = Действия над приближенными числами - student2.ru

ЛЕКЦИЯ 2

Действия над приближенными числами.

1 Умножение и деление приближенных чисел.

1. При умножении и делении приближенных чисел складываются их относительные погрешности (не абсолютные!).

Относительная погрешность выражения

r = Действия над приближенными числами - student2.ru (1)

оценивается величиной

δ2 = δа1 + δа2 +…+ δаm + δb1 + δb2 +…+ δbn (2)

Если у одного из чисел ai, bj относительные погрешности значительно превышают относительные погрешности других чисел, относительная погрешность выражения (1) считается равной этой наибольшей погрешности.

2. Абсолютная погрешность выражения (1) вычисляется по его относительной погрешности.

∆r = /r/•δr

Пример: вычислить выражение:

Действия над приближенными числами - student2.ru

считая, что все числа даны с верными знаками, т.е. их абсолютные погрешности не превосходят половины единицы младшего оставляемого разряда.

Решение: наибольшую относительную погрешность имеет число 3,2

δа = Действия над приближенными числами - student2.ru

т.о. результат содержит не более двух верных знаков. В расчетах сохраняем один дополнительный знак (округляем числа)

Действия над приближенными числами - student2.ru

Абсолютная погрешность ∆r = r • δr = 0,221• 0,016 = 0,0036

Результат: r = 0,22; ∆r < 0,005

2. Погрешности вычисления значений функции.

Пусть задана дифференциальная функция

U = f (x1, x2,…xn)

Пусть /∆xi/ (i = 1,…,n) – абсолютные погрешности аргументов.

Абсолютная погрешность функции

/∆U/ = /f (x1 +∆ x1, x2 +∆ x2, …, xn +∆ xn) - f (x1, x2,…xn)/

Т.к. ∆xi – малы, то можно, разложив f (xi +∆xi (i = 1,…n)) в ряд Тейлора и пренебрегая числами ∆xi 2 и т.д., т.е. оставив в разложении только линейные числа, получить:

Действия над приближенными числами - student2.ru , т.е.

Действия над приближенными числами - student2.ru (1)

Относительная погрешность функции:

Действия над приближенными числами - student2.ru (2)

7.1. Функция одной переменной: y = f (x)

Абсолютная погрешность: ∆у = /f’(x)/ • ∆x

Относительная погрешность: Действия над приближенными числами - student2.ru (3)

Т.к. Действия над приближенными числами - student2.ru

Примеры: а) степенная функция у = ха

∆у = /а/ха-1∆x; т.к. ∆у = /f’(x)/ • ∆x

Действия над приближенными числами - student2.ru

б) показательная функция: у = ах (а > 0)

∆у = ах • lnа • ∆х; δу = ∆х • lnа

для функции у = ех получаем δу = ∆х

в) логарифмическая функция у = lnх

∆у = 1/х • ∆х = δх

для десятичного логарифма имеем ∆у = 0,4343•δх

г) тригонометрические функции:

абсолютные погрешности синуса и косинуса не превосходят абсолютные погрешности аргумента: ∆sinx = /cosx/•∆x ≤ ∆x и т.д.

д) функция нескольких переменных.

Пусть U = x y2 z3.

x = 37.1 y = 9.87 z = 6.052

∆x = 0.3 ∆у = 0.11 ∆z = 0.016

Находим относительные погрешности аргументов.

Действия над приближенными числами - student2.ru ; Действия над приближенными числами - student2.ru ; Действия над приближенными числами - student2.ru

Относительная погрешность функции равна см.(2)

Действия над приближенными числами - student2.ru

Действия над приближенными числами - student2.ru ;

Действия над приближенными числами - student2.ru

На практике ориентировочно можно считать, что наличие только одного знака соответствует относительной погрешности порядка 10 %, двух верных знаков – относительная погрешность порядка 1 %, трех верных знаков – порядка 0,1 %.

При такой относительной погрешности значение функции следует вычислять не более чем с двумя-тремя значений.

U = 801 • 103

Абсолютная погрешность при этом равна

∆U = U • δU = 801• 103 • 0,038 = 30 • 103

Целесообразно результат округлить до двух знаков:

U = 8,0 • 105 ∆U = 0,3 • 105

3. Определение допустимой погрешности аргументов по допустимой погрешности функции.

(Обратная задача теории погрешностей)

Действия над приближенными числами - student2.ru Каковы должны быть абсолютные погрешности аргументов функции, чтобы абсолютная погрешность функции не превышала заданной величины?

Эта задача математически неопределенна, т.к. заданную предельную погрешность Δu функции u = f(x1,x2,…,xn) можно обеспечить, устанавливая по-разному предельные абсолютные погрешности Δx ee аргументов.

Простейшее решение обратной задачи дается принципом равных влияний:

Наши рекомендации