Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Численное дифференцирование функций

Читайте также:
  1. A) все перечисленное b) между сменами c) выходные дни d) праздничные дни e) для отдыха и приема пищи
  2. Аппроксимация, интерполяция и экстраполяция функций
  3. Бессознательное как философская проблема. Трактовка генезиса содержания и функций бессознательного в классическом психоанализе.
  4. Билет 35. Значение лимбической системы в регуляции различных функций.
  5. В числе функций государственного земельного контроля можно выделить информационную, превентивную, а также функцию пресечения.
  6. Вероятности результатов измерения координаты и импульса. Пространство волновых функций.
  7. Взаимосвязь основных и конкретных функций управления
  8. Вопрос 27 особенности функций Российского государства на современном этапе
  9. Вопрос 33 Квалификация функций государства
  10. Вопрос № 4 . Понятие и система функций органов прокуратуры, их общая характеристика.

Глава 11. Численное дифференцирование и интегрирование функций

Численное дифференцирование функций

Методы численного дифференцирования используют в тех случаях, когда исходная функция F(x) не может быть продифференцировано аналитически (например, при табличном задании функции) либо выражение для производной очень громоздко. Численное дифференцирование заключается в аппроксимации (приближенном расчете) производных.

Точным значением первой производной функции F(x) в точке x=с называют предел отношения приращения функции DF(с)= F(с+Dx) - F(с) к соответствующему приращению аргумента Dx при стремлении Dx к нулю:

D(с)= lim(DF(с)/Dx) при D0. (11.1)

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

При численном расчете первой производной, полагая Dx равным некоторому конечному числу, получают приближенное равенство для ее вычисления:

D(с)» DF(с) /Dx. (11.2)

Данную замену называются аппроксимацией (приближением) производной с помощью конечных разностей (значения Dx и DF(с) в формуле (11.2) конечны в отличие от бесконечно малых значений в (11.1)).

В общем случае при численном дифференцировании применяется стандартный подход в аппроксимации функций – вместо исходной функции F(x), для которой неизвестно либо имеет неподходящий вид аналитическое выражение, подбирают удобно вычисляемую функцию f(x01,…,Сk), зависящую помимо х также от дополнительных параметров {С01,…,Сk}, для которой приближенно полагают:

(x)= f¢ (x01,…,Сk).

В качестве функции f(x01,…,Сk) обычно принимают полином степени k. Существенной особенностью рассматриваемой задачи аппроксимации является некорректность ее решения в общем случае, поскольку при расчете с помощью вычислительных устройств отсутствует устойчивость получаемого решения из-за вычитания друг из друга близких значений функции. Это приводит к уничтожению первых значащих цифр, т.е. к потере части достоверных знаков числа. А так как значения функции обычно известны с определенной погрешностью, то возможны ситуации, когда все значащие цифры будут потеряны. Поэтому при выполнении численного дифференцирования возникает следующая проблема выбора оптимального шага при расчете значений функции. При слишком крупном шаге будут велики погрешности самой математической модели (замены точной производной приближенной формулой), но мало сказываются погрешности округления при расчете. При слишком мелком шаге уменьшаются погрешности математической модели, но возрастают ошибки, вызванные округлениями при расчете.

Рассмотрим задачу численного определения производных в общем виде. Допустим, в узловых точках х0, х1,…, хn известны значения функции y = F(x): y0=F(x0), y1=F(x1),…, yn=F(xn). Теоретически для численного расчета производных возможно применение двух подходов.

1. Глобальная интерполяция F(x). По значениям y0=F(x0), y1=F(x1),…, yn=F(xn) функцию F(x) аппроксимируют на заданном отрезке интерполирования [x0, xn] единым интерполяционным полиномом Рn(x) минимальной степени n: F(xРn(x).

Тогда s-тую производную Fs(x) функции F(x) на отрезке интерполирования [x0, xn] также приближенно можно заменить s-той производной от интерполяционного полинома Рn(x):

Fs (x) » Рn s (x). (11.3)

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

2. Наибольшую точность дает локальная интерполяция функции полиномами наименее возможной степени k, при которой для определения производной в заданной точке х используется аппроксимирующий полином, построенный по точкам, ближайшим к х. Рассмотрим данный подход на равномерной сетке значений аргумента {х0, х1,…, хn}, в которой все соседние точки отстоят друг от друга на одинаковом расстоянии: хi+1 - хi = h = const. Расстояние h называют шагом сетки.

При наличии сетки выделяют два вида задач численного дифференцирования:

1) расчет производных в произвольных точках х отрезка [х0, хn], который требуется при точечном исследовании свойств функции, и

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

11.1.1. Численное определение первой производной

Рассмотрим произвольный внутренний узел сетки хi и аппроксимируем функцию F(x) в его левой окрестности интерполяционным полиномом первой степени Р(x), который представляет собой наклонную прямую, проходящей через узловые точки (уi-1, хi-1) и (уi, хi) (рис.11.1). Представим его при помощи разностного отношения первого порядка F(хii-1) = (уi-уi-1)/h в виде интерполяционного многочлена Ньютона:

Загрузка...

F(x) » Р(x) = уi-1 + F(хi, хi-1)×(х- хi-1) = уi-1 + (уi - уi-1)(х - хi-1)/h.

Тогда первая производная по (11.3) будет следующей:

(x) » Р¢ (x) = F(хi, хi-1) =(уi - уi-1)/h. (11.4 а)

Рис.11.1

Формулу (11.4 а) называют левым разностным отношением, поскольку в ней рассматривается дополнительный узел хi-1, находящийся левее текущего хi.

Если принять в качестве дополнительного интерполяционного узла хi+1, находящийся справа от хi, то получим приближенное задание первой производной при помощи правого разностного отношения:

(x) » Р1п¢ (x) = F(хi+1, хi) =(уi+1 - уi)/h. (11.4 б)

Общим недостатком левого и правого разностного отношения является отсутствие в них симметрии. Поэтому используют также центральное разностное отношение:

(x Р¢ (x) =0,5×(уi+1 - уi-1)/h. (11.4 в)

Его можно представить как результат усреднения левого и правого разностных отношений: Р¢ (x) = (Р¢ + Р1п¢ )/2.

Формулы (11.4 а)-(11.4 в) задают приближенный расчет первой производной (x) в случае интерполирования функции F(x) степенным полиномом, проходящим через минимальное число узлов функции F(x), равное 2. В них (x) заменяется константой - постоянным значением. Однако для расчета (x) можно использовать степенные полиномы, проходящие через 3 и более узлов функции.

11.1.2. Численное определение второй и высших производных

Для численного определения второй производной недостаточно рассмотрения двух узлов сетки. Минимальное число узлов для интерполяции полинома равно 3, их выбирают симметрично относительно текущего узла хi:{хi-1, хi, хi+1}. Минимальная степень интерполяционного полинома равна 2, т.е. он является квадратичной параболой.

Уравнение параболы Р2(x), проходящей через точки (уi-1, хi-1), (уi, хi) и (уi+1, хi+1) представим при помощи разностных отношений первого порядка F(хii-1) = (уi-уi-1)/h и второго порядка F(хi+1ii-1) =(F(хi+1, хi) - F(хi, хi-1))/( хi+1- хi-1) = 0,5×(уi+1 -2уi +уi-1)/h2 в виде интерполяционного многочлена Ньютона:

F(x) » Р2(x)= уi-1+ F(хii-1)×(х- хi-1)+ F(хi+1ii-1)×(х-хi-1)×(х-хi) =

= уi-1 + (уi-уi-1)×(х-хi-1)/h +0,5×(уi+1 -2уi +уi-1) )×(х-хi-1)×(х-хi)/(h2).

Первая производная по (11.3) в этом случае будет следующей:

(x) » Р2¢ (x) = F(хii-1) + F(хi+1ii-1)×(2х - хi - хi-1) =

= (уi - уi-1)/h + 0,5×(уi+1 -2уi+уi-1)(2х - хi - хi-1)/(h2). (11.5)

Выражение (11.5) является примером приближенного расчета первой производной по трем узлам. В отличие от выражений (11.4 а)-(11.4 в) оно является линейной функцией от x, т.е. принимает различные значения при изменении x. В частности, при подстановке х=хi выражение (11.5) для Р2¢(x) будет совпадать с центральным разностным отношением (11.4 в).

Дифференцируя (11.5) повторно, получим приближенную формулу для второй производной по трем узлам:

F¢¢ (x Р2¢¢ (x) =2×F(хi+1ii-1) =(уi+1 -2уi + уi-1)/(h2). (11.6)

Используя интерполяцию функции полиномами более высокой степени, можно получать новые формулы для ее первой и второй производных, а также формулы для производных более высоких порядков. Минимальное число узлов, необходимое для вычисления s-й производной, равно s +1.

Построенные по минимальному числу узлов разностные отношения для численного расчета производных нечетных порядков (s=1,3,5,…) являются несимметричными, для четных порядков (s =2,4,6,…) – симметричными. В этом случае соответствующая производная заменяется постоянным числовым значением. Для построения центрального отношения при нечетном порядке s=1,3,5,… можно, как и для первого порядка, использовать полусумму левого и правого отношений.

Общее правило для построения разностного отношения для численного расчета производной порядка s по минимальному числу узлов (s+1) на равномерной сетке с шагом h следующее:

1) коэффициенты при узлах в числителе отношения равны биномиальным коэффициентам в разложении степени (1+(-1))s;

2) числитель отношения равен степени hs.

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

s=3) (левое разностное отношение):

F(3)л(x Р3(3)(x) =(уi+1 - 3уi + 3 уi-1 - уi-2)/(h3); (11.7)

s=4) (центральное разностное отношение):

F(4)(x Р4(4)(x) =(уi+2 - 4уi+1 + 6уi - 4уi-1 + уi-2)/(h4). (11.8)

Центральное разностное отношение порядка s=3:

F(3)ц(x) = ( F(3)л(x)+F(3)п(x))/2 = (уi+1 - 3уi + 3 уi-1 - уi-2 +уi+2 - 3уi+1 + 3 уi - уi-1)/(2h3) = = (уi+2 - 2уi+1 + 2 уi-1 - уi-2 )/(2h3).

Если для построения приближенной формулы производной порядка s используется р > s +1 число узлов, то в итоге получается не константа, а многочлен степени (р - s -1) относительно х.

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

Пример 1.Значения функции F(x) = lnx заданы на отрезке [3,6; 4,4] на равномерной сетке с шагом 0,2 в первых трех столбцах Таблицы 11.1.

Найти для 1) узловой точки x = 4,0 и 2) промежуточной точки x = 4,05:

а) левое, правое и центральное разностные отношения, численно приближающие первую производную,

б) разностное отношение второго порядка, приближающее вторую производную,

в) левое, правое и центральное разностные отношения третьего порядка, приближающие третью производную.

Сравнить получаемые значения с точными величинами производных.

Таблица 11.1. Узловые значения функции F(x) = lnx и ее разностные отношения порядков 1,2,3

i xi F(x) F(хi+1i) F(хi+1ii-1) F(хi+2i+1ii-1)
3,6 1,280934 0,270335 -0,069350 0,034000
3,8 1,335001 0,256465 -0,062550 0,028875
4,0 1,386294 0,243955 -0,056775  
4,2 1,435085 0,232600    
4,4 1,481605      

Решение. Аналитические выражения для производных имеют вид:

(x) = (lnx)¢ = 1/x; F¢¢ (x) = -1/x2; F¢¢¢ (x) = 2/x3.

Построим в столбцах 4,5,6 Таблицы 11.1. значения всех возможных разностных отношений порядков 1,2,3 - F(хi+1i), F(хi+1ii-1) и F(хi+2i+1ii-1).

1. Узловая точка xi = 4,0; i =2:

а) точные значения производных:(4,0) = 1/(4,0) = 0,25; F¢¢ (4,0) = -1/(4,0)2 = -0,0625; F¢¢¢ (4,0) = 2/(4,0)3 = 0,03125;

б) левое, правое и центральное разностные отношения, аппроксимирующие значение первой производной (4,0) = (х2), равны:

F(х12) = 0,256465; F(х23) = 0,243955; F ц¢ (4,0) = (F(х12)+F(х23))/2 = 0,250210;

абсолютные погрешности их равны 0,006465; 0,006045; 0,000210;

в) разностное отношение второго порядка F(х321) = -0,062550; абсолютная погрешность при расчете второй производной равна 0,000050;

д) левое, правое и центральное разностные отношения третьего порядка:

F(х4321) = 0,028875, F(х3210) = 0,034000,

F ц¢¢¢ (4,0) = (F(х4321)+F(х3210))/2 = 0,0314375; абсолютные погрешности их равны 0,002375; 0,002750; 0,0001875.

2. Промежуточная x = 4,05; i =2:

а) точные значения производных:(4,05) = 1/(4,05) = 0,2469136; F¢¢ (4,05) = -1/(4,05)2 = -0,0609663; F¢¢¢ (4,05) = 2/(4,05)3 = 0,0301068;

б) левое, правое и центральное разностные отношения, аппроксимирующие значение первой производной (4,05) принимаем по ближайшей узловой точке х2; их абсолютные погрешности равны 0,0095514; 0,0029586; 0,0015832964;

в) разностное отношение второго порядка F(х321) = -0,062550 дает абсолютную погрешность при расчете второй производной в точке 4,05, равную 0,0015837;

д) левое F(х4321), правое F(х3210) и центральное F ц¢¢¢ = (F(х4321)+ F(х3210))/2 разностные отношения третьего порядка дают абсолютные погрешности при расчете третьей производной 0,0012318; 0,0038932; 0,0013307.

11.1.3. Погрешность численногоопределения производных

Основным источником погрешности при численном дифференцировании является локальная интерполяция функции F(x) по узловым точкам. При использовании локального интерполяционного полинома Рk(x) степени k для аппроксимации F(x) при численном расчете производной функции Fs(x) порядка s (при этом: k ³ s) имеем:

F(x) = Рk (x) + R k (x), (11.9)

где Rk(x) - ошибка интерполяции (остаточный член интерполирования). Очевидно, при этом точное выражение для производной функции порядка s, получаемое s-кратным дифференцированием равенства (11.9), имеет вид:

Fs (x) = Рk s (x) + R k s (x). (11.10)

Принимая приближенно

Fs (x) » Рk s (x),(11.11)

получаем, что точное значение абсолютной погрешности численного дифференцирования в данном случае равно ïR k s (x)ï. Однако непосредственная оценка этой величины в общем случае затруднена и практически к оценке точности численного дифференцирования применяют иной подход.

Рассмотрим численное дифференцирование с использованием минимального числа узлов на равномерной сетке, при котором для расчета производной Fs(x) порядка s используются значения функции в (s+1) узле. В этом случае приближенное значение производной может быть представлено в виде суммы (s+1) значения функции yi, взятых с некоторыми постоянными коэффициентами Ci:

(11.12)

Для оценки погрешности формулы (11.12) все входящие в ее правую часть значения функции yi разлагают по формулам Тейлора относительно текущей точки х, для которой выполняется приближенный расчет производной (11.12). Искомое выражение погрешности определяем после подстановки разложений в формулу (11.12) и вычитания из нее точного значения производной Fs(x). Полученное выражение D, как правило, может давать различные порядки погрешности по h в зависимости от подставляемых в нее точек D.

В качестве примера рассмотрим оценку погрешности формулы приближенного расчета первой производной функции F(x) при помощи правого разностного отношения(11.4 б): (x) »(уi+1 - уi)/h. Заменим значения уi и уi+1 по формулам Тейлора относительно точки x с точностью до слагаемых 4 порядка по разности (х - хi):

Подставляя выражения для уi и уi+1 в правую часть (11.4 б), представим ее в виде:

Приближенная величина погрешности (ошибки) формулы (11.4 б) для произвольной точки хÎ[хi, хi+1] будет следующей:

(11.13)

Подставляя в полученное выражение (11.13) крайнюю левую точку отрезка х = хi получим в ней: Т.е. в этой точке формула (11.4 б) является формулой первого порядка точности по шагу h. Можно показать, что для любой точки хÎ[хi, хi+1] формула (11.4 б) также будет иметь первый порядок точности. Исключение составляет лишь точка х i(ср)= (хi+ хi+1)/2 – середина отрезка [хi, хi+1], для которой Следовательно, в этом случае формула (11.4 б) является формулой второго порядка точности по шагу h.

Рассмотрен лишь один из источников погрешности численного дифференцирования – погрешность аппроксимации, которая определяется величиной остаточного члена. Как уже отмечалось выше, анализ остаточного члена нетривиален. Отметим, лишь, что погрешность аппроксимации при уменьшении шага h, как правило, уменьшается. Рассмотренный пример, позволяет также сделать вывод о том, что погрешность формул численного дифференцирования зависит от того, в какой точке вычисляется производная.

Другой источник погрешности численного дифференцирования связан с погрешностями вычисления значений функции yi в узлах и с погрешностями округлений при проведении расчетов на компьютере. Обусловленные этими причинами погрешности, в отличие от погрешности аппроксимации, возрастают с уменьшением шага h. Действительно, если при вычислении значения функции F(x) абсолютная погрешность равна d, то при вычислении дробей в (11.4 а) и (11.4 б) она составит 2d/h. Поэтому суммарная погрешность численного дифференцирования может убывать при уменьшении шага лишь до некоторого предельного значения, после чего дальнейшее уменьшение шага не повысит точности результата.

Вопросы для проверки знаний.

1. В каких случаях применяют численное дифференцирование ?

2. Какую величину называют точным значением первой производной функции ?

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

4. Какой общий подход применяется при численном расчете производных, в чем заключается применение глобальной и локальной интерполяции функции ?

5. Что называют равномерной сеткой, какие две задачи численного расчета производных решают на ней?

6. Что называют левым, правым и центральным разностным отношением при численном расчете первой производной, каков смысл данных отношений ?

7. Каково минимальное число узлов для построения разностного отношения для численного расчета производной порядка 5 ?

8. В каких случаях при построении приближенных формул для расчета производной порядка s по минимальному числу узлов будут получаться несимметричные, а в каких – симметричные отношения ?

9. По какому общему правилу можно простроить разностное отношение для численного расчета производной порядка s по минимальному числу узлов (s+1) на равномерной сетке с шагом h ?

10. Каков простейший способ построения центрального отношения при нечетном порядке степени производной s ?

11. Какой вид получает разностное отношение для производной степени s при использовании для построения ее приближенной формулы р > s +1 числа узлов ?

12. Что является основным источником погрешности при численном дифференцировании ?

13. Чему теоретически равна погрешность при численном дифференцировании ?

14. Какой подход применяют при практической оценке точности численного дифференцирования ?

15. Какие существуют другие источники погрешности численного дифференцирования помимо погрешности аппроксимации ?


Дата добавления: 2015-02-16; просмотров: 98 | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2018 год. (0.028 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав