Смекни!
smekni.com

Конечные разности. Погрешности (стр. 1 из 2)

Реферат

«Конечные разности. Погрешности»

1. Погрешности

1.1 Действительные и конечно-разрядные числа

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

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

где n – число значащих дробных двоичных разрядов, отведенных для хранения мантиссы.

Приближенное конечно-разрядное число a – это действительное число, занимающее заданное количество разрядов и округленное до числа с ближайшим значением достоверного младшего разряда. Приближенные действительные числа имеют абсолютную

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


Если число a = 5,3812 имеет все разряды достоверные, то его абсолютная погрешность принимается равной половине единицы младшего разряда, т.е.

=0.00005, а относительная погрешность, округляемая обычно до одного-двух значащих достоверных разрядов, будет

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

где fl(•) – указание на арифметику с плавающей точкой,

– арифметическая операция из множества
.

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

Несколько иначе обстоит дело при вычитании чисел с плавающей точкой и одинаковым порядком:

,

.

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

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

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

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-той точке определяется выражением:

, где функция
задана, как функция целочисленного аргумента с единичным шагом по аргументу i.

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

определяющее соотношение имеет вид:

.

Преобразование таблицы функции

в функцию целочисленного аргумента
осуществляют при помощи линейного соотношения между аргументами x и i:
.

Коэффициенты a и b находят из системы уравнений, получаемой в результате подстановки в пределах заданной таблицы вместо x и i сначала начальных значений аргументов

, а затем конечных
. При этом начало таблицы удобно совместить с началом координат функции с целочисленным аргументом
(
). Тогда для таблицы с (n+1)й строками:

,

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

определяются соотношением

.

2.2 Конечно-разностные операторы

Линейность конечно-разностного оператора

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

Действие любого многочлена

на функцию g(i) определяется как

.

Применение оператора сдвига к g(i) преобразует последнее в g (i+1):

g (i+1) = E g(i) = (1+

) g(i)= g(i) +
g
(i).

Повторное применение оператора сдвига позволяет выразить (i+n)е значение ординаты функции g через конечные разности различных порядков:

где

– число сочетаний из n элементов по k;

– многочлен степени k от целой переменной n (
), имеющий k сомножителей. При k=n
.