Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Заочники - 2013-2014 - Семестр 2 / 1 - Конспект лекций по численным методам.doc
Скачиваний:
103
Добавлен:
11.05.2015
Размер:
3.98 Mб
Скачать

7. Численное дифференцирование

7.1. Постановка задачи

К численному дифференцированию (ЧД) прибегают тогда, когда приходится вычислять производные для функций, заданных таблично, или когда непосредственное дифференцирование y =f(x) затруднительно. Формулы для расчетав точкеxобласти определения функции получают посредством аппроксимации оператора дифференцирования интерполяционными многочленами как локальной, так и глобальной интерполяции. А именно, берутся несколько близких к исследуемой точкеxузловx1,x2,…,xn(n m + 1), называемыхшаблоном. Вычисляются значенияyi =f(xi) в узлах шаблона, и строится интерполяционный многочлен

.

Тогда .

Для получения рабочих формул численного дифференцирования с точки зрения упрощения их реализации интерполирование производится на равномерной сетке, и производные обычно находятся в узлах xiс соответствующей оценкой их погрешностей. Приn =m + 1 формулы ЧД не зависят от положения точкиxвнутри шаблона, так какm-я производная от полиномаm-й степени есть константа. Такие формулы называютсяпростейшими формулами ЧД.

7.2. Аппроксимация производных посредством локальной интерполяции

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

,

полагая

. (7.1)

Это соотношение называется аппроксимацией производной с помощью отношения конечных разностей. При заданных значениях таблицы {xi,yi},i = и шаге расположения интерполяционных узловh =constв зависимости от способа вычисления конечных разностей дляi-го узла используются различные алгоритмы вычисления (7.1).

Пусть i = 1.

1. Формула левых разностей:

;;

. (7.2)

2. Формула правых разностей:

;;

. (7.3)

3.Формула центральных разностей:

;;

. (7.4)

С помощью соотношений (7.2), (7.3), (7.4) последовательно можно получить выражения для вычисления производных высших порядков. Например, используя (7.3), получим

. (7.5)

Открытым остается вопрос точности.

7.3. Погрешность численного дифференцирования

Аппроксимируя исследуемую функцию, ее представляют в виде

. (7.6)

В качестве (x) можно принять либо интерполяционную функцию, либо частичную сумму ряда. Тогда погрешность аппроксимацииR(x) определяется остаточным членом ряда илиPn–1(x). Дифференцируя (7.6) необходимое число раз, находим:

и т. д.

Тогда погрешность аппроксимации при численном дифференцировании функции, заданной таблицей с шагомh, зависит отh, и ее записывают в видеО(hk). Показатель степениkназываютпорядком погрешности аппроксимации производной. При этом предполагается, что |h| < 1.

Оценку погрешности формул (7.2) – (7.5) можно проиллюстрировать с помощью ряда Тейлора.

Пусть дважды непрерывно дифференцируемая функция f(x) задана таблицей значений:

x

x0

x1

x2

xn

y

y0

y1

y2

yn

В таблице yi =f(xi),i = . Пусть далее используются равностоящие узлы,h = (xn x0)/n,xi=x0 +ih,h=xi+1xi, .

Запишем ряд Тейлора в общем виде:

. (7.7)

Запишем (7.7) при x=x1, с точностью доh1:

y0 = y1 y'1h + O(h2).

Тогда .

Это выражение совпадает с (7.2) и является аппроксимацией первого порядка (k = 1). Тогда для произвольного узла.

По всему отрезку [a,b], гдеh= (b a)/n, дляf '(x) погрешность не превысит величиныR=.

Полагая для (7.7) x=h, можно получить этот результат и для соотношения (7.3). Для оценки погрешности для (7.4) и (7.5) воспользуемся рядом Тейлора с учетом того, чтоx= –hиx=h. Соответственно получим

(7.8)

в предположении, что f(x) трижды непрерывно дифференцируемая функция.

Вычитая из второго равенства первое, получаем

+О(h2), здесьk = 2.

Для произвольного узла

.

На основании (7.7) по всему отрезку погрешность аппроксимации не превзойдет величины

.

Сложив равенства (7.8), найдем

+О(h2),k = 2.

Для отрезка [xi–1,xi+1] получим

,i= .

Погрешность на отрезке [a,b] для второй производной оценивается соотношением

.

Следует отметить, что в целом приближенное дифференцирование представляет собой операцию менее точную, чем интерполирование. Считают, что при численном дифференцировании функции y=f(x), заданной таблично, имеют место два типа погрешностей:

а) погрешности усечения, которые вызываются заменой функции y=f(x) интерполяционным многочленомPn(x);

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

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