Глава 4.

Вычислительная математика.

Предмет, цель, задачи читаемого курса.

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

Цель чтения вычислительной математики – ознакомление студентов специальности 220100 «Вычислительные машины, комплексы, системы и сети» с основными численными методами решения прикладных задач и техники.

Задачи вычислительной математики – методы представления решений (точно или приближенно) в виде последовательности арифметических операций.

Замечание Любой численный метод состоит из алгоритма решения (т. е. точного описания последовательности арифметических операций) и оценки погрешности этого алгоритма.

Содержанием читаемого курса являются численные методы алгебры и математического анализа.

Рекомендуемая литература

Основная (из библиотечного фонда МГИЭМ)

1.  «Численные методы», М., «Дрофа», 2003, 224 с.

2.  , «Численные методы», М., «Лаборатория базовых знаний», 2002, 672 с.

Дополнительная

3.  , , «Программированные и численные методы», М., МГУ, 1998, 224 с.

«Основы численных методов», М., В. школа, 2002, 840 с. «Методы оптимизации. Вводный курс», М., «Радио и связь», 1998, 128 с. Деммель Дж. «Вычислительная линейная алгебра», М., «Мир», 2001.

Методология решения задач вычислительной математики

Этапы решения задачи в общем случае следующие:

НЕ нашли? Не то? Что вы ищете?

-  Составление континуальной математической модели;

-  Построение дискретной (вычислительной) модели (на базе континуальной);

-  Разработка вычислительного алгоритма с учетом требований точности и экономичности;

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

Исходные понятия

Величина – то, что можно измерить, исчислить.

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

Векторная величина – величина, описываемая n числами (компонентами вектора).

Измеряемая величина – свойство или параметр объекта.

Измерение – отображение измеряемой величины на числовую ось.

Приближенная величина – то, что заменяет точную величину.

Математическая модель – гомоморфное отображение объекта (явления, процесса и т. д.) на предметном языке.

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

Вычислительный алгоритм – конечная последовательность предписаний решения задачи с заданной точностью посредством конечного количества операций (арифметических и логических).

Погрешность – величина, характеризующая неточность математической модели и (или) вычислительного алгоритма.

Корректная задача (корректно поставленная задача) – задача, для которой выполнимы условия корректности: а) разрешимость при любых допустимых входных данных, б) каждым исходным данным соответствует только одно решение, в) устойчивость решения.

Некорректная (некорректно поставленная задача) – задача, для которой не выполняется хотя бы одно из условий корректности.

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

Округление числа – приближенное представление числа в некоторой системе счисления с помощью конечного количества разрядов.

Ошибка (погрешность) округления – погрешность представления числа при его округлении.

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

Элементарная теория погрешностей

Структура погрешности

В результате численного решения задачи существуют четыре источника погрешностей:

-  Математическая модель задачи;

-  Исходные данные;

-  Вычислительный алгоритм;

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

Первые два источника погрешностей к неустранимой погрешности решаемой задачи. Третий источник порождает остаточные погрешности как результат замены бесконечных процессов конечной последовательности действий. Так если в ряде sinx = x - . взять определенное количество членов и принять их сумму за sinx, то, естественно, допускается погрешность.

Четвертый источник обуславливает зарождающиеся погрешности при отбрасывании младших разрядов числа. Так, если разрядная сетка ЭВМ допускает запись семизначных десятичных чисел, то записью числа 0, в ячейке будет округленное число 0, 9835479.

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

Оценка погрешности

Оценка погрешности может быть осуществлена с помощью: абсолютной погрешности, относительной погрешности, остаточного члена, статистических оценок.

Пусть а – точное, вообще говоря, неизвестное числовое значение некоторой величины, а a* - известное приближенное значение этой величины. Тогда число ∆(а*) = │а – а*│ есть истинная абсолютная погрешность числа а*.

Величину δ(а*) = ∆(а*)/│а*│ называют истинной относительной погрешностью приближенного числа а*.

Очевидно, что если а неизвестно, то неизвестны и ∆(а*) и δ(а*). Именно, в этом случае целесообразно применение граничных величин истинных погрешностей: │а – а*│ ≤ ∆*(а*), δ(а*) ≤ δ*(а*).

Основные теоремы о представлении чисел в позиционной системе счисления

I.  Каждое число, представленное в позиционной системе счисления конечной последовательности цифр, является рациональным числом.

Пример

2∙101 + 3∙100 + 0∙10-1 + 4∙10-2 + 0∙10-3 = 23,040 = 567/25 (25, 567 € N) – десятичная система счисления.

Пример

1∙21 + 0∙20 + 0∙2-1 + 1∙2-2 + 1∙2-3 = 10,011 – двоичная система счисления.

Очевидно, что запись числа 10,011 в десятичной системе есть 2,375. Действительно 2∙100 + 3∙10-1 + 7∙10-2 + 5∙10-3 = 2,375

II.  В каждой позиционной системе можно представить точно только некоторое подмножество рациональных чисел (зависящее от основания q).

Пример

Числа 1/3, 1/7, 1/9, 1/11, 1/13, 1/17, 1/19, … нельзя представить в десятичной системе счисления в виде конечной последовательности цифр.

Пример

Число 1/25 в десятичной системе счисления записывается как 0,004, а в двоичной (троичной, четверичной, шестиричной, семиричной, и т. д.) 1/25 конечной последовательностью цифр представлено быть не может.

III.  Рациональное число x/y (x€Z, y€Z, x, y – взаимно простые) может быть точно представлено в позиционной системе с основанием q тогда и только тогда, когда каждый простой множитель в разложении числа y является простым множителем в разложении q.

Пример

В десятичной системе счисления, т. е. когда q = 10, представимы только такие рациональные числа x/y € Q = { r € D: r = x/y, y € N, x, y – взаимно простые }, у которых у содержит лишь простые множители 2 и 5.

В этом плане: ½ = 0,5; 1/5 = 0,2; 1/8 = 0,25; 1/25 = 0,04; 19/8 = 2,375; 7/16 = 0,4375; 3/200 = 0,015.

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

Запись действительных чисел в ЭВМ

Современные ЭВМ оперируют с числами, записанными либо в форме с фиксированной запятой, либо в форме с плавающей запятой.

В первой записи все числа имеют модуль, меньший 1, а число цифр после запятой – фиксировано, т. е. машина оперирует с числом х!

Х = sign x ∑ (i=1 по k) αi q-i => sign x (α1, α2 ,…αk),

Где q – основание системы счисления, αi - цифра, 0≤αi≤q; sign x – знак числа, т. е. sign x € {+,-}.

Наибольшее распространение получила вторая запись числа – запись с плавающей запятой:

X = sign x qPx ∑ (i=1 по k) αi q-i = ± qPx Mx

Здесь Мх - мантисса числа, т. е. Мх = (α1, α2 ,…αk), Px – порядок числа, k – число разрядов.

Если α1 мантиссы Мх не равно 0, то число х называется нормализованным.

Пример

Число 821,26 в нормализованном виде представляется как х = 0,82126∙103 (здесь q=10, Mx = 0,82126, p=3)

Пример

Двоичное число 1101,01 в нормализованном виде есть число х = 0,110101∙24

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

Цифры, составляющие приближенное число, могут быть значащими, верными и сомнительными.

- Верной (точной) цифрой называется цифра, погрешность которой не превышает половины единицы следующего разряда, т. е. если ∆*(а*)≤0,5∙10m-1+n (где m – число разрядов а*, n – число верных цифр в нем).

Пример

Число 3,142 является приближенным значением числа π с четырьмя точными (верными) значащими цифрами, т. к.:

│π – 3,142│ = │3,14159… - 3,142│< 0,0005 = 0,5∙103

- Значащими цифрами числа а ≈ а* = <αn,… α1, α0, α-1, α-2,…, α-m> называются все его цифры, кроме 0, стоящих левее первой отличной от 0 цифры (если приближенное число – десятичная дробь), и нулей, стоящих в округленных разрядах (если это число - целое).

Пример

В числах:

54,297 – пять значащих цифр,

0,000704 – три значащих цифры,

1,90007 – шесть значащих цифр.

Пример

Число 0,020, являющееся приближенным значением числа 0,02035, имеет три десятичных знака (разряда), а значащих цифр – две (2 и следующий за ней 0). Нуль в конце числа 0,020 есть значащая цифра, показывающая, что число 0,02035 оборвано (округлено) до третьего десятичного знака, а поэтому не писать его нельзя. Нули, стоящие слева от цифры 2, не являются значащими цифрами.

Очевидно, что значащая цифра αt является верной, если ∆(а*)≤0,5qt (здесь q – основание системы счисления действительного числа а*).

- Сомнительной цифрой числа называется цифра, следующая за верной (точкой).

Пример

Приближенным значением числа а = √19 (=4,358898…) возьмем среднее арифметическое приближенных чисел а1* = 4,32 и а2* = 4,37 (соответственно с недостатком и избытком, т. е. а1*<a<a2*) :

а* = (4,32 + 4,37)/2 = 4,345

В этом приближенном числе 4,345 с четырьмя значащими цифрами первые две цифры верные (4 и 3), а третья и четвертая – сомнительные.

Замечание

- Число называется приближенным с недостачей, если оно меньше точного числа (т. е. а*<a).

Пример

Число 3,14 есть приближенное числа π = 3,… с недостачей.

- Число называется приближенным с избытком, если оно больше точного числа (т. е. a*>a).

Пример

Число 0,699 есть приближение с избытком числа lg5 = ,698970…

- На числовой оси каждому точному числу соответствует одно единственная точка, а приближенному числу – интервал.

Пример

если 3 – точное число, то ему соответствует точка с координатой 3, а если 3 – приближенное число, то ему соответствует интервал допустимых значений 2,50000… - 3,49999… (т. к. округляя эти числа, получается приближенное число 3). Очевидно, что чем больше в числе верных десятичных знаков, тем меньше интервал неопределенности. Так, на числовой оси для приближенного числа 3,0 соответствует интервал 2,95000… - 3,049999… .

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

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

Для уменьшения погрешности округления чисел приняты правила округления (по дополнению), которые согласуются с принципом :

«Приближенное число следует писать так, чтобы в нем все значащие цифры, кроме последней, были верными, и лишь последняя цифра была сомнительной, и притом не более как на 1-2 единицы».

Пример

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

Округленное число в этом случае будет записано как 2,983∙107.

Итак, при округлении чисел следует придерживаться правила дополнения:

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

Пример

Округлением числа 2,4627 до тысячных, сотых и десятых долей являются соответственно следующие приближенные числа: 2,463; 2,46; 2,5.

Пример

Округлить число 7203654 до десятков, сотен, тысяч и десятков тысяч.

Имеем соответствующие приближенные числа: 7203650; 7203700; 7204000; 7200000 или 720365∙10; 72037∙102; 7204∙103; 720∙104 (последняя форма записи приближенных чисел указывает число округленных разрядов точного числа).

Замечание

1)  Правила округления построены таким образом, чтобы абсолютная погрешность, возникающая при округлении, не превышала пяти единиц первого отброшенного разряда.

2)  Округляют числа или до определенного десятичного знака (разряда), или до определенного количества значащих цифр.

Пример

Округлить число 0,07025 до третьего десятичного знака (тысячных долей).

Имеем а = 0,07025 (здесь четыре значащих цифры – 7, 0, 2, 5), а* = 0,070 (здесь 7, 0 – значащие цифры).

Пример

Округлить числа 4576681 и 499971 до четырех значащих цифр.

Имеем а1 = 4 а1* = 4577∙103,

а2 = а2* = 5000∙102.

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

Пример

Округлить сомнительные цифры числа а* = 34,124 ± 0,021. Определить абсолютную погрешность результата.

Решение

Приближенное число а* имеет три верные цифры – 3, 4, 1, т. к. а* - 0,021<а<а* + 0,021, или 34,103<a<34,145 и, очевидно, ∆(а*) = 0,021<0,05. Следовательно, последние две цифры а* 2 и 4 – сомнительные. Округлив а*, имеем (а*)* = 34,1.

Суммарная погрешность ∆(а*)* = ∆(а*) + ∆ (окр а*) = 0,021 + 0,024 = 0,045<0,05 итак, все значащие цифры числа (а*)* верные, т. е. (а*)* = 34,1.

Пример

Округлить сомнительные цифры приближенного числа а* = 36,7245 ± 0,0026, оставив верные разряды. Определить абсолютную погрешность результата.

Решение

По условию 36,7245 – 0,0026<a<36,7245 + 0,0026, ∆а* = 0,0026<0,005, а поэтому верными цифрами числа а* являются его цифры – 3, 6, 7, 2. Округление а* дает (а*)* = 36,72. Суммарная погрешность (а*)*: ∆((а*)*) = ∆(а*) + ∆(окр а*) = 0,0026 + 0,0045 = 0,0071>0,005

Поскольку ∆((а*)*)>0,005, то необходимо в (а*)* уменьшение цифр путем округления числа. Имеем ((а*)*)* = 36,7. В этом случае:

∆(((а*)*)*) = ∆(а*) + ∆(окр) = 0,0026 + 0,0245 = 0,0271<0,05.

Это означает, что верными цифрами приближенного числа а* = 36,7245 ± 0,0026 являются 3, 6, 7.

Пример

Округлить сомнительные цифры приближенного числа а* = 22,7314, оставив верные цифры. Определить абсолютную погрешность, если δ(а*) = 0,2%.

Решение

Заданная относительная погрешность числа в виде десятичной дроби имеет вид δ(а*) = 0,002. С учетом ∆(а*) = а*∙δ(а*) имеем истинную абсолютную погрешность ∆(а*) = 22,7314∙0,002 = 0,0454628 ≈ 0,0455

Так как эта погрешность меньше 0,05, то верных цифр числа а* будет три – 2, 2, 7. Округлим а* до десятых долей, имеем (а*)* = 22,7. Суммарная погрешность (а*)* равна ∆((а*)*) = ∆(а*) + ∆(окр) = 0,0455 + 0,0314 = 0,0769.

Поскольку эта погрешность больше 0,05, то уменьшается число цифр приближенного числа а* до двух, т. е. ((а*)*)* = 23, имеем:

∆(((а*)*)*) = ∆(а*) + ∆(окр) = 0,0455 + (23 – 22,7314) = 0,0455 + 0,2686 = 0,3141<0,5

Это означает, что в полученном округленном числе ((а*)*)* обе цифры, т. е. 2 и 3 являются верными.

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

Формула верных знаков приближенного числа

Абсолютная погрешность m-разрядного приближенного числа, т. е. ∆(а*), связана с числом его верных знаков n соотношением

∆(а*) ≤ 0,5∙10m-n+1 , что следует из определения верной значащей цифры а*.

Записав а* как десятичную дробь, т. е. а* = α1∙10m + α2∙10m-1 +…+ αn∙10m-n+1, имеем очевидное неравенство:

Δ(а*) = ∆(а*)/│а*│≤ (0,5∙10m-n+1)/│десятичн. представ.│ ≤ 0,5∙10m-n+1/α1∙10m, позволяющее записать предельную (граничную) относительную погрешность в виде δ*(а*) = 0,5/α1∙10n-1

Эта формула связывает между собой граничную относительную погрешность приближенного числа а*, первая цифра которого α1 известна, с числом верных знаков этого числа.

Пример

Предельная относительная погрешность приближенного числа а* = 4,176 со всеми верными цифрами равна:

δ*(а*) = 0,5/4∙104-1 = 0,000125 (Здесь α1 = 4, n = 4)

Пример

Сколько верных десятичных знаков надо взять при вычислении √19, чтобы δ*(а*) не превышала 0,1. n = ?

Имеем 0,001 ≤ 0,5/4∙10n-1 ≤ 1,25/10n, или 10n ≤ 1250 = 1,25∙103; n ≤ lg1,25 + 3,.. –e δ*(a*) ≤ 0,5/4∙102 = 0,125%. Поскольку δ*(a*) должно быть 0,1%, то следовательно n ≥ 3 + lg1,25, т. е. можно принять n = 4.

Примечание

Относительная точность приближенного числа определяется только количеством его значащих цифр, а положение запятой при этом никакого значения не имеет. 743,8, 0, 7438 имеют одинаковую относительную погрешность, т. к. для них δ(а*) = 0,000067.

Пример

Какое из приближенных чисел а1* = 0, а2* = 98,1 задано более точно?

Решение

δ(а1*) = 0,0000005/0,000001 = 0,5. δ(а2*) = 0,05/98,1 = 0,00051, т. е. приближенное число а2* можно определить в тысячу раз точнее, чем а1*

Вычисление с учетом погрешностей

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

А) Погрешности суммы и разности

1. При сложении двух приближенных чисел аi* = аi ± ∆(аi), i € {1,2} получаем результат а1* + а2* = а1 + а2 ± ∆(а1*) ± ∆(а2*)

Действительно:

а1* - ∆(а1*) < a1 < a1* + ∆(a1*)

+

а2* - ∆(а2*) < a2 < a2* + ∆(a2*)

___________________________

(a1* + a2*) – (∆(a1*) + ∆(a2*)) < a1 + a2 < (a1* + a2*) + (∆(a1*) + ∆(a2*))

Итак, в иной записи, имеем:

а1* + а2* = а1 + а2 + (±∆(а1*) ± ∆(а2*))

Отсюда получаем:

∆(а1* + а2*) = (±∆(а1*) ± ∆(а2*))

Поскольку истинные знаки погрешностей ∆(а1*) и ∆(а2*) в общем случае неизвестны, то для достоверности результата следует брать наихудший случай – т. е. когда погрешности складываются:

∆*(а1* + а2*) = ∆*(a1*) + ∆*(a2*)

Пользуясь методом полной математической индукции, легко доказать результат для k операндов:

∆* (∑ i=1 по k ai*) = ∑ i=1 по k ∆*(ai*)

Итак, приходим к следующему утверждению: «Граничная абсолютная погрешность суммы операндов равна сумме граничных абсолютных погрешностей слагаемых».

Пример

Согласно пятизначным таблицам логарифмов, lg1,1 = 0,04139; lg1,14 = 0,05690. Имеем: lg1,1 + lg1,14 = 0,09829 = lg1,254, а непосредственно из таблицы lg1,254 = 0,09830

Расхождение результатов становится понятным, если обратиться к семизначным таблицам, согласно которым lg1,1 = 0,0413927; lg1,14 = 0,0569049. В этом случае: lg1,1 + lg1,14 = 0,0982976 ≈ 0,09830

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

Пример

Найти сумму приближенных чисел 5,8; 287,649; 0,308064.

Решение

Из трех вариантов сложения этих чисел правильным являтся третий.

5,8 5,8 5,8

287,,6 287,65

0,308064 0,3 0,31

_________ _____ ______

293, 757,7 293,76 ≈ 293,8

Действительно, в числе 5,8??? Отброшенные цифры нам неизвестны, так что не имеет никакого смысла к неизвестным цифрам прибавлять известные и получать результат с точностью до миллионных, которая ничем не гарантированна.

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

Пример

Вычислить сумму √2 + √3 + √10 с тремя десятичными знаками.

Решение

Поскольку сумму приближенных чисел надо получить с тремя десятичными разрядами, то каждое из слагаемых следует вычислить с одним запасным знаком √2 ≈ 1,4142; √3 ≈ 1,7321; √10 ≈ 3,1623. Тогда имеем 1,4142 + 1,7321 + 3,1623 = 6,3086 ≈ 6,309.

Итак, при сложении чисел различной абсолютной точности следует поступить следующим образом:

- выделить число (или числа) наименьшей абсолютной точности (т. е. число, имеющее наибольшую абсолютную погрешность);

- наиболее точные числа округлить так, чтобы сохранить в них на один знак больше, чем в выделенном числе (т. е. оставить один запасной знак);

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

- полученный результат округлить на один знак.

Следует, однако, отметить, что формула ∆* (∑ i=1 по k ai*) = ∑ i=1 по k ∆*(ai*) при большом количестве слагаемых (практически больше 10) дает завышенную оценку абсолютной погрешности суммы, т. к. обычно происходит частичная компенсация погрешностей разных знаков. Если все слагаемые округлены до m-го десятичного разряда, т. е. их погрешности оцениваются величиной 0,5∙10-m, то статистическая оценка абсолютной погрешности суммы дается правилом Чеботарева:

∆(∑ i=1 по k ai*) = √(3n) ∙ 0,5∙10-m, где n – число слагаемых. Это правило применяют для n > 10.

2) При вычитании приближенных чисел их погрешности также вычитаются, но алгебраически, т. е. когда обе погрешности одного знака, они вычитаются, а когда знаки различны, то складываются. Поэтому как и в случае сложения, граничная абсолютная погрешность разности двух приближенных чисел равняется сумме их граничных абсолютных погрешностей: ∆*(а1* - а2*) = ∆*(а1*) + ∆*(а2*).

Для того чтобы отнять одно приближенное число от другого, прежде надо одинаково их округлить.

Пример

а1* = 27,613 отнимаем от а2* = 546,3 так: 546,3 – 27,6 = 518,7

При этом нет никаких оснований писать 546,3 – 27,613 = 518,687, т. к. в числе 546,3??? Цифры сотых и тысячных нам неизвестны и заменять их нулями нет никаких оснований.

Пример

Разность чисел а1* = 5,847 и а2* = 2,342, имеющих все верные цифры, равна:

_ 5,874 ± 0,0005

2,342 ± 0,0005

3,532 ± 0,001

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

Очевидно, что в результате вычитания двух близких чисел может произойти большая потеря точности. Так, например, 985,437 – 985,421 = 0,016 есть разность двух чисел, из которых каждое имеет шесть значащих цифр, сохранившая только две значащие цифры, причем полученный результат может иметь погрешность до одной единицы последнего разряда (т. е. 0,0005 + 0,0005 = 0,001).

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

Пример

Найти число а* = √4,300 - √4,287 с двумя значащими цифрами.

Решение

Если √4,300 ≈ 2,0736, √4,287 ≈ 2,0705, то будем иметь а* = 2,0736 – 2,0705 = 0,0031

Этот же результат проще получить при помощи преобразования вычислительной схемы: √4,300 - √4,287 = (4,300 – 4,287)/( √4,300 + √4,287) = 0,013/(2,07 + 2,07) = 0,0031

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

Пример

Вычислить площадь концентрического кольца S = π[(r + x)2 – r2].

Если х мало, то непосредственное вычитание дает большую потерю точности. Поэтому целесообразно вести расчет по формуле: S = π(2xr + x2) = π(2r + x)x

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

3) Относительная погрешность суммы положительных (отрицательных) чисел имеет вид:

δ(∑ i=1 по k ai*) = (∑ i=1 по k ∆(ai*))/(∑ i=1 по k ai*)

Учитывая, что аi*∙δ(ai) = ∆(ai*) и принимает ai > 0, получаем оценку:

δmin(ai*) = δmin(ai*)(∑ i=1 по k ai*)/(∑ i=1 по k ai*) < δ(∑ i=1 по k ai*)< δmax(ai*)(∑ i=1 по k ai*)/(∑ i=1 по k ai*) = δmax(ai*)

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

Пример

Оценить относительную погрешность суммы чисел, имеющих верные цифры: 0,1732; 17,45; 0,000333; 204,4; 7,25; 144,2; 0,0112; 0,634; 0,0771. Сравнить ее с относительными погрешностями слагаемых.

0,1 7

17,4 5

0,0 0

204,4

7,2 5

144,2

0,0 1

0,6 3

0,0 8

374,1 9

Округляя результат суммирования заданных приближенных чисел, получаем окончательную ∑ i=1 по 9 ai* = 374,2

Оценка полученного результата:

- предельная погрешность исходных данных равна 0,00005 + 0,005 + 0,0000005 + 0,05 + 0,005 + 0,05 + 0,00005 + 0,0005 + 0,00005 = 0,1106505 < 0,111

- погрешность округления слагаемых равна 0,0032 + 0,000333 + 0,0012 + 0,004 – 0,0029 = 0,005833 < 0,006

- погрешность округления равна – 0,01

Следовательно, ∆*(∑ i=1 по 9 ai*) = 0,1106505 + 0,005833 – 0,01 ≈ 0,107

Искомая сумма есть 374,2 ± 0,107

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

δ(∑ i=1 по 9 ai*) = 0,107/374,2 = 0,00027 = 0,027%

Граничные относительные погрешности слагаемых составляют соответственно:

0,5/ 1732 ≈ 0,029% ; 0,5/ 1745 ≈ 0,0285% ; 0,5/ 333 ≈ 0,15% ; 0,5/ 2044 ≈ 0,0245% ; 0,5/ 725 ≈ 0,07% ; 0,5/ 1442 ≈ 0,0345 ; 0,5/ 112 ≈ 0,445% ; 0,5/ 634 ≈ 0/08% ; 0,5/ 771 ≈ 0,065%.

δmax* = 0,445% ; δmin* = 0,0245%

Итак, δmin* < 0,027% < δmax*

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

δ*(а1* - а2*) = (∆(а1*) + ∆(а2*)) / │а1* - а2*│

Очевидно, что если а1* и а2* близки друг к другу, то даже при очень малых абсолютных погрешностях ∆(а1*) и ∆(а2*) (знаки которых могут быть любыми) величина относительной погрешности может быть весьма значительной.

Пример

Пусть √4,300 ≈ 2,0736 ± 0,00005 = а1*, √4,287 ≈ 2,0705 ± 0,00005 = а2*

Относительная граничная погрешность при вычислении каждого из корней равна δ*(а1*) = δ*(а2*) = 0,00005/2,07 = 0, а относительная граничная погрешность разности √4,300 - √4,287 ≈ 0,00031 ± 0,00005 равна δ*(а1* - а2*) = 0,00005/0,0031 ≈ 0,016, т. е. δ*(а1* - а2*) более чем в 600 раз грубее исходных данных.

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

Так, если известно, что первые m значащих цифр могут пропасть, а результат надо получить с n верными знаками, то исходные данные необходимо брать с m + n верными значащими цифрами.

Б) Погрешность произведения и частного

·  Формулы для непосредственного вычисления абсолютных погрешностей умножения и деления приближенных чисел громоздки, и поэтому в этих случаях сначала вычисляют относительную погрешность, а затем с учетом δ(а*) = ∆(u*)/ │u*│ находят ∆(u*) (здесь u* = а1*∙а2*∙…∙аn*) или u* = a1*/a2* = a1*∙(1/a2*)

Имея в виду, что ai = ai* ± ∆(ai*) = ai*(1 ± ∆(ai*)/ai*) = ai*(1 ± δ(ai*)), запишем операнды в виде

a1*[1 – δ(a1*)] < a1 < a1*[1 + δ(a1*)]

a2*[1 – δ(a2*)] < a2 < a2*[1 + δ(a2*)]

Почленно перемножая, имеем:

a1*∙a2*[1 – δ(a1*)]∙[1 – δ(a2*)] < a1∙a2 < a1*∙a2*[1 + δ(a1*)]∙[1 + δ(a2*)]

Произведение а1∙а2 с учетом [1 ±δ(a1*)]∙[1 ±δ(a2*)] = 1 ± [δ(a1*) + δ(a2*)] + [δ(a1*)∙[δ(a2*)] ≈ 1 ± [δ(a1*) + δ(a2*)]

Перепишем так:

a1*∙a2*[1 – δ(a1*) – δ(a2*)] < a1a2 < a1*∙a2*[1 + δ(a1*) + δ(a2*)]

это означает, что

a1∙a2 = a1*∙a2*[1 ± δ(a1*) ± δ(a2*)] = a1*∙a2*[1 ± ∆(a1*a2*)/ │ a1*∙a2*│] = a1*∙a2*[1 ± δ (a1*a2*)

или δ*(а1*а2*) = δ*(а1*) + δ*(а2*)

Очевидно, что если ∏ i=1 по k ai* = а1*∙а2*∙…∙аk*, то δ*(∏ i=1 по k ai*) = ∑ i=1 по k δ*(ai*) – т. е. при умножении приближенных чисел складываются их относительные, а не абсолютны погрешности.

Пример

Найти произведение чисел а1* = 1,45 ± 0,01; а2* = 2,28 ± 0,02; а3* = 1,12 ± 0,01 и оценить его относительную и абсолютную погрешность.

Решение

δ*(1,45∙2,28∙1,12) = δ*(3,70) = 0,01/1,45 + 0,02/2,28 + 0,01/1,12 ≈ 0,025

Следовательно, произведение вычислено с погрешностью, не превышающей 0,025. Поэтому абсолютная погрешность ∆(3,71*) = 0,025∙3,71 < 0,093

Пример

Найти произведение чисел а1* = 42,78 и а2* = 0,0764, все цифры которых верные.

Решение

Так как а1* и а2* - приближенные числа, то в действительности они могут произвольно лежащими в интервалах:

42,775 ≤ а1* ≤ 42,785,

0,07635 ≤а2*≤ 0,07645

Очевидно, что произведение этих чисел заключено в интервале 42,775∙0,07635 – 42,785∙0,07645. Округляя до трех верных значащих цифр верхнюю и нижнюю границы произведения а1*∙а2*, получаем 3,268392 ≈ 3,27. Таким образом, если найдем произведение 42,78∙0,0764, то в этом результате 3,268392 ≈ 3,27 можно гарантировать надежность только первых трех цифр – ровно столько имеет значащих цифр наименьшее (в относительном смысле) число а2* = 0,0764.

Замечание

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

Пример

Произведение приближенных чисел а1* = 0,108 ± 0,0005 и а2* = 91,6 ± 0,05 не может иметь значащих цифр больше, чем три, поскольку каждый множитель содержит три верных знака. Поэтому a1*∙a2* = 1,108∙91,6 = 9,8928 ≈ 9,89

Действительно, нижней и верхней границами будут произведения 0,1078∙91,55 = 9,841625 ≈ 9,84 ; 0,1085∙91,65 = 9,944025 ≈ 9,94. Здесь последняя цифра произведения a1*∙a2* сомнительна и может иметь погрешность, составляющую пять единиц последнего разряда. Отсюда следует рекомендация: «для повышения точности произведения приближенных чисел, которые начинаются с единицы, надо стараться вычислять одну лишнюю значащую цифру».

Примечание

1)  Если один из сомножителей произведения, например а1, есть точное число, то δ(а1∙а2*) = δ(а2*), т. к. δ(а1) = 0. Из этого, в частности, следует, что относительная погрешность приближенного числа δ(а*) не зависит от положения запятой.

2)  Абсолютная погрешность в случае, когда а1 – точное число, имеем ∆(а1∙а2*) = а1∙а2* δ(а1∙а2*) = а1∙а2* δ(а2*) = а1∙а2*(∆(а2*)/а2*) = а1∙∆(а2*)

3)  Если сj – точное число, то ∆(∑ j=1 по k сj∙aj*) = ∑ j=1 по k сj∙∆(aj*)

·  Поскольку деление на число а* равнозначно умножению на число 1/a*, то и относительная частного равна сумме относительных погрешностей делимого и делителя.

Рассматривая наименее благоприятный случай, определим абсолютную погрешность обратной величины равенством

∆(1/a*) = │1/a* - 1/(a* - ∆(а*)│ = ∆(а*)/((а*)2 (1 - ∆(а*)/а*)) = ∆(а*)/((а*)2 (1 – δ(а*))

Пренебрегая в этом равенстве величиной δ(а*) (вследствие ее малости по сравнению с 1), получаем: ∆(1/a*) = ∆(а*)/(а*)2

Очевидно, что δ(1/а*) = ∆(1/а*)/(1/а*) = (∆(а*)/(а*)2)/(1/а*) = ∆(а*)/(а*) = δ(а*)

Итак, δ(а1*/а2*) = δ(а1*) + δ(1/а2*) = δ(а1*) + δ(а2*)

Пользуясь методом полной математической индукции, легко доказать, что если даны положительные числа а1*∙а2*∙…∙аm-1*, am*,…ak*, то относительная погрешность выражения:

(∏ от i=1 по m–1 ai*)/(∏ от j=m по k aj*) = ui*

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13