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

Реферат



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






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 .

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

Последнее позволяет формульно выражать n-ную повторную разность через (n+1) ординату табличной функции, начиная с i-той строки:







Если в выражении для g (i+n) положить i=0 и вместо  подставить их факториальные представления, то после несложных преобразований получится разложение функции целочисленного аргумента по многочленам , которые в литературе называют факториальными:



.



Можно поставить задачу разложения и функции действительной переменной f(x) по многочленам  относительно начала координат (аналогично ряду Маклорена), т.е. . Если последовательно находить конечные разности от левой и правой частей, то, зная, что  и , после подстановки x=0 будем получать выражения для коэффициентов разложения . У многочленов k-той степени, , поэтому



.


Такое разложение табличной функции f(x) в литературе называют интерполяционным многочленом Ньютона для равных интервалов.



2.3 Взаимосвязь операторов разности и дифференцирования



Значение функции на удалении h от некоторой точки  можно выразить через значения производных в этой точке, разложив ее в ряд Тейлора:







где  – оператор дифференцирования,

 – оператор сдвига, выраженный через оператор p.

h – шаг по оси действительной переменной

Из равенства операторов сдвига, выраженных через p и , можно получить взаимосвязь этих линейных операторов:



,



Оператор дифференцирования порядка n, перенесенный в точку, удаленную от текущей, например, на 2 шага вперед представляется так:



.




Выполнив алгебраическое перемножение многочленов с конечно-разностными операторами и ограничившись операторами со степенью не выше n, получим одну из возможных аппроксимаций оператора дифференцирования. Действуя таким сложным конечно-разностным оператором на ординату f(x), получаем формулу для вычисления n-й производной в точке  по значениям ее конечных разностей. Например, для n=2, отбрасывая все повторные разности выше третьего порядка, получим:



.



Если f(x) является многочленом степени n, то повторные разности (n+1) – го порядка тождественно равны нулю. Приравнивая нулю повторные разности порядков выше n мы фактически аппроксимируем f(x) многочленом степени n.

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



.



Для целочисленного аргумента табличной функции запись выражения можно упростить, если положить h=1 и 








2.4 Исчисление конечных разностей



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







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







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








Если , то



.



Процедуру суммирования функционального ряда продемонстрируем на примере получения суммы квадратов натурального ряда чисел в пределах от a=1 до b=5 (Для проверки: ):







Вторая сумма по переменной n представляет разложение  по факториальным многочленам, в которое входят значения конечных разностей 0, 1 и 2-го порядков, вычисленные в начале координат целочисленной переменной, т.е. при x=0. Они соответственно равны:



,



,



.



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








Если распределить вычисление сумм по слагаемым, то мы перейдем к суммированию конечных разностей от факториальных многочленов:










Литература



	Бахвалов Н.С., Жидков Н.П., Кобельков Г.М. Численные методы: Учеб. пособие. – М.: Наука, 1987. – 600 с.

	Воеводин В.В. Численные методы алгебры. Теория и алгорифмы. – М.: Наука, 1966. – 248 с.

	Воеводин В.В. Вычислительные основы линейной алгебры. – М.: Наука, 1977. – 304 с.

	Волков Е.А. Численные методы. – М.: Наука, 1987. – 248 с.

	Калашников В.И. Аналоговые и гибридные вычислительные устройства: Учеб. пособие. – Харьков: НТУ «ХПИ», 2002. – 196 с.

	Вержбицкий, В.М. Численные методы. Математический анализ и обыкновенные дифференциальные уравнения. М.: Высш.шк., 2001. 383 с.

	Волков, Е.А. Численные методы. СПб.: Лань, 2004. 248 с.

	Мудров, А.Е. Численные методы для ПЭВМ на языках Бейсик, Фортран и Паскаль. Томск: МП «РАСКО», 1991. 272 с.

	Шуп, Т.Е. Прикладные численные методы в физике и технике. М.: Высш. шк., 1990. 255 с.

	Бахвалов, Н.С. Численные методы в задачах и упражнениях / Н.С. Бахвалов, А.В. Лапин, Е.В. Чижонков. М.: Высш. шк., 2000. 192 с.





2