Пример линейной программы
В качестве примера линейной программы рассмотрим вычисление производной от функции в заданной точке.
Производная от функции может быть вычислена численными методами. Известно, что
![]() |
(9.4.1)
отсюда вытекает способ численного дифференцирования. Если заменить предел Dх его конечным значением h, то получим приближенные формулы для вычисления первой и второй производных:
![]() |
(9.4.2)
![]() |
(9.4.3)
Эти выражения представляют собой усеченные интерполяционные многочлены (многочлен Стирлинга). Одной из серьезных проблем в данном случае является выбор величины шага h. При уменьшении шага уменьшается ошибка усечения, но возрастает ошибка округления при вычислении производной. Поэтому стремятся выбрать оптимальную величину шага, при которой ошибка усечения и ошибка округления будут примерно равны. Для формулы (4.2) оптимальный шаг определяется из выражения
или
, (9.4.4)
где h - шаг, D3y - конечная разность 3-го порядка, e - абсолютная погрешность вычисления функции, М3 - максимальное значение конечной разности 3-го порядка. Таким образом, ошибка усечения равна примерно половине ошибки округления. Полная погрешность не превзойдет при этом 0,5 e/h.
Пример 9.4.6. ЭВМ выводит результат с 8 знаками после запятой, при этом семь знаков точные. Требуется определить значение шага при вычислении производной первого порядка, чтобы ошибка усечения не превышала 0,0001.
Решение. Абсолютная погрешность вычисления функции равна 0,5*10-7.
из (9.4.4) получаем
.
При ε=0.001 и Δ=0.001 величина шага будет равна 0,5.
Для выражения (4.3) величина шага определяется из следующего соотношения
. (9.4.5)
В условиях примера 9.4.6 величина шага будет равна ~ 0,05.
Таким образом, для получения приемлемого значения результата не следует стремиться сильно уменьшать шаг приращения аргумента, а также следует учитывать точность, с которой вычисляются значения аргумента и функции. Напомним, абсолютная погрешность суммы не превышает суммы погрешностей слагаемых, абсолютная погрешность произведения (частного от деления двух чисел) не превышает наибольшей из абсолютных погрешности сомножителей.