Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций кп.doc
Скачиваний:
12
Добавлен:
01.03.2025
Размер:
4 Мб
Скачать
☆

2. Точность вычислительного эксперимента

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

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

Десятичные числа с фиксированной точкой - это привычная нам форма записи чисел: 5; 10; 1.62 и т.д. Здесь вместо запятой ста­вится точка.

Как известно, множество целых чисел бесконечно. Однако ЭВМ из-за ограниченности ее разрядной сетки может оперировать лишь с некоторым конечным подмножеством этого множества. Так, для многих ЭВМ, например для микроЭВМ , целые числа лежат в диапазоне от 32768 до 32707.

При решении научно-технических задач в основном используются действительные (вещественные) числа. Для их представления использу­ется форма с плавающей точкой. Десятичное число x в этой форме записи имеет вид

где М и P соответственно мантисса и порядок. Так число 273,9 можно записать в виде 273.9 100; - 273910-1; -2.739102; -.2739103. Последняя запись - нормализованная форма числа с пла­вающей точкой. Таким образом, если представить мантиссу числа в виде M = 0.a1a2a3...an , то при a1≠0 получаем нормализован­ную форму числа с плавающей точкой.

Подмножество действительных чисел для ЭВМ не является бесконеч­ным: оно конечно и определяется разрядностью k, а также границами порядка P1≤P2 (P1≤P≤P2) , Можно показать, что это подмножество содержит

2(-1)(P2- P1+1)k-1+1 чисел.

Так, для микроЭВМ "Нейрон" диапазон действительных чисел

0.587747110-38 =<x<=17014121032

границы порядка P1 и P2 определяют ограниченность действительных чисел по величине, а размерность k - дискретность распределения их на числовой оси.

Например, в случае десятичных чисел при четырехразрядном пред­ставлении все значения, находящиеся в интервале между числами 0,2851 и 0.2852, представляются числом 0.2851 (при отбрасывании остальных разрядов без округления). Разность между двумя соседни­ми значениями равна 1 последнего разряда. Числа меньше этой разно­сти воспринимается как машинный нуль.

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

2.2. Относительная и абсолютная погрешности

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

Пусть x - истинное значение некоторой величины, а - ее из­вестное приближение. Абсолютная погрешность равна разности истинно­го и известного приближения:

Относительная погрешность x определяется как отношение абсолют­ной погрешности к известному приближению:

Как правило, истинное значение x неизвестно, поэтому приближе­ние задается предельной абсолютной погрешностью x:

(22)

Неравенство (22) дает возможность установить границы, в которых лежит истинное значение x:

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

Пусть x = 0.00001 и = 0.000008, тогда =0.000002 и x = 0.25.

При значениях x, намного отличающихся от единицы, абсолютная и относительная погрешности сильно различаются:

Пусть x = 100000 и , тогда lx= 100 и x = 0.0001.

2.3. Погрешности исходной информации и ошибки ограничения

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

Задача исследователя состоит в том, чтобы проанализировать иc-ходные данные для определения их точности, стремясь к тому, чтобы все исходные данные были примерно одинаковой точности.

Например, если длина детали l измеряется линейкой с миллиметро­выми делениями, то абсолютная погрешность, возникающая при измере­нии, не превысит 0,5 мм. В этом случае одновременно с длиной указы­вают границы измеряемой величины l ± 0,5 мм.

Многие числа (, l) нельзя представить в виде конечной деся­тичной дроби. Ряд чисел при переводе из одной системы счисления в другую становится бесконечным. Например, 1/3 - бесконечная десятич­ная периодическая дробь; 0.2 в десятичной системе счисления при пе­реводе в двоичную систему счисления становится бесконечной периоди­ческой дробью 0.0011(0011). Поэтому, вычисляя с помощью ЭВМ сумму пяти чисел, каждое из которых равно 0.2 мм, мы не получим точно 1, так как ЭВМ оперирует числами в двоичной системе.

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

Если для вычисления значения синуса и используется степенной ряд

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

2.4. Ошибки округления

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

Напомним, что действительное число с плавающей точкой мы рас­сматриваем в нормализованном виде, т.е. в виде правильной дроби, называемой мантиссой, умноженной на целую степень 10, называемую порядком:

Х=±М10±Р, здесь М - мантисса, р - порядок:

0,1≤М<1.

При выполнении сложения или вычитания ЭВМ выравнивает порядки, т.е. сдвигает мантиссу меньшего по абсолютной величине числа впра­во или влево на столько порядков, на сколько пришлось увеличить или уменьшить порядок меньшего числа:

123 • 103 + 0,453 • 101 = 0.123 • 103 + 0.00453 • 103 - 0.12753 • 103.

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

0.12753 • 103 = 0,127 • 103 + 0.53 • 100.

Результат любого из четырех арифметических действий можно пред­ставить в общем виде:

x = ±M • 10±Р + • 10Р-t,

где 0,1≤М<1; 0≤<1; t - число значащих цифр в мантиссе (зна­чащими цифрами называют цифры, отличные от нуля). Существуют два способа округления результата арифметических операций:

1) просто приравнивают к нулю;

2) к М прибавляется единица младшего разряда, если по абсо­лютной величине больше или равно 0,5; если //<0.5, то М оста­ется без изменения.

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

т.е. при этом способе округления относительная погрешность не за­висит от полученного результата, а определяется количеством знача­щих цифр в ячейке память ЭВМ.

При втором способе округленный результат записывается следую- щим образом:

В этом случае абсолютная погрешность не превышает 0,5 • 10p-t, а относительная - не будет превышать

Таким образом, во втором случае предельная ошибка округления меньше в два раза.

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

2.5. Движение ошибок вычислительного процесса

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

Рассмотрим абсолютную и относительную погрешности каждой из че­тырех арифметических операций. Пусть числа x и y представлены так:

Абсолютная погрешность суммы

Lx+y=lx+ly

Аналогично запишем абсолютную погрешность разности;

Lx-y=lx-ly

При умножении

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

Запишем абсолютную погрешность частного, опуская преобразование:

а затем относительные погрешности каждой из арифметических операций

Эти формулы дают возможность проследить распространение ошибок. Абсолютные и относительные погрешности каждого из четырех действий можно рассматривать как функции приближенных значений исходных опе­рандов и их ошибок lx, ly,x,y. Ошибка округления в данной арифметической операции не учитывается и ее следует прибав­лять к погрешности арифметической операции.

Пример.

Вычислить

u = ((x+y)z+v)w,

где x,y,z,v,w - исходные числа, данные точно.

Вначале сложим числа x и y. Относительная погрешность сум­мы определится ошибкой округления и не должна превышать при втором

способе 0,510-t+1, где t - число значащих цифр в мантиссе:

Далее

по условию

Следя за движением ошибки, получим

здесь k2 - ошибка определения, возникающая при прибавлении V:

Так как v = 0 по условию, то

Окончательно запишем:

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

2.6. Граф вычислительного процесса

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

Около стрелок графа пишутся, коэффициенты, позволяющие легко оп­ределить общую погрешность результата.

Граф следует читать снизу вверх, причем сначала выполняются операции одного горизонтального уровня.

Коэффициенты у стрелок пишутся по определенным правилам.

Если складываются два числа a и b, то у двух стрелок, входя­щих в кружок сложения, коэффициенты будут a/(a+b) и b/(a+b), как показано на рис. 6.

Аналогично при вычитании a/(a-b) и b/(a-b) получим граф, изображенный на рис. 7.

При умножении стрелки получают коэффициенты +1 (рис. 8).

Рис. 8

При делении a/b стрелка, идущая от числа a, снабжается коэф­фициентом +1, а идущая от числа b - коэффициентом -1 (рис. 9)

Рис. 9

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

Г раф вычислительного про­цесса u=((x+y)z+v)w

показан на рис.10.

Рис. 10

Здесь при­нято обозначение m=(x+y)z.

Рекомендации для построения графа вычислительного процесса [17]:

  1. При сложении и вычитании длинной последовательности чи­сел арифметические операции начинают с наименьших чисел.

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

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

2.7. Устойчивость. Корректность. Сходимость

Устойчивость. Рассмотрим погрешности исходных данных. Как по­казано выше, эти погрешности неустранимы и исследователь не может с ними бороться. Тем не менее нужно иметь представление об их вли­янии на точность окончательных результатов. Некоторые задачи весь­ма чувствительны к неточностям в исходных данных. Эта чувствитель­ность характеризуется так называемой устойчивостью. Пусть в резуль­тате решения задачи по исходному значению величины x находится значение искомой величины y. Если исходная величина имеет абсо­лютную погрешность x, то решение имеет погрешность y. Задача называется у с т о й ч и в о й по исходному параметру x, если решение y непрерывно от него зависит, т.е. малые приращения исходной величины приводят к малым погрешностям в результате рас­четов.

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

Рассмотрим пример, приводимый Уилкинсоном [16]:

P(x)=(x-1)(x-2)(x-3)…(x-20)=x20-210x19+…

Очевидно, что корнями этого многочлена будут X1=1; X2=2, …,X20=20

Пусть один из коэффициентов вычислен с очень малой погрешностью, скажем, коэффициент - 210 увеличим на 2-23 (около 10-7). В резуль­тате вычислений даже с точностью до 11 значащих цифр получим такие корни:

X1

1.00

X9=8.92;

X2

2.00

X10,11=10.10.644 i ;

X3

3.00

X12,13=11.81.65 i ;

X4

4.00

X14,15=14.12.52 i ;

X5

5.00

X16,17=16.7281 i ;

X6

6.00

X18,19=19.5194 i ;

X7

7.00

X20=20.8.

X8

8.01

Таким образом, изменение коэффициента - 210 при X19 на 21010-7 привело к тому, что половина корней стали комплексными.

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

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

Рассмотренный выше пример, приведенный Уилкинсоном [16], является некорректно поставленным. Применять для решения таких задач численные методы нецелесообразно.

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

Неустойчивость методов. Иногда при решении корректно поставленной задачи может оказаться неустойчивым метод ее решения. Например при вычислении синуса при X = 25.66 (1470° = 4 • 360° + 30°), при учете членов, ряда до 10-8, вычислениях с восемью значащими цифрами и суммировании слева направо ряда имеем sin 25.66 = 24, что не имеет смысла.

Еще один пример.

Опуская вычисления по частям и используя рекуррентные соотншения, имеем I1= 0.367879, …, I9 = - 0.00684800.

Значение интеграла I9 не может быть отрицательным, так как Х9ex-1 на отрезке [0,1] положительно. Источник погрешности округления в I9 здесь погрешность 4,4.10-7 . Однако на каждом этапе эта погрешность умножается на числа |-2|, |-3|, ... | -9, что в итоге дает 9!

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

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