Реферат
«Конечные разности. Погрешности»
1. Погрешности
1.1 Действительные и конечно-разрядные числа
Представление действительных чисел в вычислительных машинах с фиксированной разрядной сеткой влечет появление инструментальной погрешности в обрабатываемых числах и результатах арифметических действий.
Принятое при вводе преобразование исходных действительных чисел в нормализованную экспоненциальную форму и размещение их в ограниченной разрядной сетке ЭВМ с порядком и дробной частью (мантиссой) в общем случае вносит в этот операнд относительную инструментальную погрешность, величина которой не превышает
где n – число значащих дробных двоичных разрядов, отведенных для хранения мантиссы.
Приближенное конечно-разрядное число a – это действительное число, занимающее заданное количество разрядов и округленное до числа с ближайшим значением достоверного младшего разряда. Приближенные действительные числа имеют абсолютную
Если число a = 5,3812 имеет все разряды достоверные, то его абсолютная погрешность принимается равной половине единицы младшего разряда, т.е.
Всякие арифметические операции с операндами, представленными в системе с плавающей точкой, в общем случае вносят в результат аналогичную относительную инструментальную погрешность:
где fl(•) – указание на арифметику с плавающей точкой,
Значение результата, равное нулю принудительно устанавливается в машинах при операциях умножения с двумя операндами, приводящее к исчезновению порядка (отрицательный порядок по модулю не умещается на отведенном для него количестве разрядов).
Несколько иначе обстоит дело при вычитании чисел с плавающей точкой и одинаковым порядком:
Из последнего можно заключить, что для операции вычитания относительная погрешность численно определяется количеством значащих разрядов в результате, которое из-за выполнения нормализации не может быть меньше
При выполнении аддитивных операций с приближенными операндами погрешность результата равна сумме абсолютных погрешностей всех чисел, участвовавших в операции. Выполнение мультипликативных операций вносит в результат относительную погрешность, равную сумме относительных погрешностей каждого из операндов.
1.2 Погрешность алгоритмов
Инструментальные погрешности арифметических машинных команд из-за различия и непредсказуемости величины ошибки результата нарушают дистрибутивный, ассоциативный и коммутативный законы арифметики. Каждый же программист, составляя программу, уже на уровне интуиции пользуется ими, как незыблемыми. Отсюда различие в точности тех или иных вычислительных алгоритмов и трудно уловимые ошибки.
Проследить накопление вычислительной погрешности алгоритма для операндов, которые имеют производные, удобно, если результат r каждой двуместной арифметической операции умножать на множитель
P:=0; j:=3;
repeat
S:=a[j]*x+a [j-1];
P:=P+S*x;
j:=j-1;
until j=1;
функция алгоритма будет:
Учитывая, что
Условные арифметические операторы с проверкой равенства операндов необходимо заменять проверкой вида:
2. Конечные разности
2.1 Определение конечных разностей
Конечная разность «вперед» для таблично заданной функции в i-той точке определяется выражением:
Для аналитически заданной и протабулированной с постоянным шагом h функции
Преобразование таблицы функции
Коэффициенты a и b находят из системы уравнений, получаемой в результате подстановки в пределах заданной таблицы вместо x и i сначала начальных значений аргументов
Повторные конечные разности n-го порядка в i-той точке для табличной функции
2.2 Конечно-разностные операторы
Линейность конечно-разностного оператора
Действие любого многочлена
Применение оператора сдвига к g(i) преобразует последнее в g (i+1):
g (i+1) = E g(i) = (1+
Повторное применение оператора сдвига позволяет выразить (i+n) – е значение ординаты функции g через конечные разности различных порядков:
где