Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МФП_нV.doc
Скачиваний:
59
Добавлен:
15.11.2018
Размер:
4 Мб
Скачать
☆

5.1.1. Формулы конечного дифференцирования

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

,

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

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

.

Рассмотрим различные случаи.

Если f(x0) имеет вторую производную в области [a; b], то в этом случае погрешность вычисления производной f/(x0) составит

,

где .

Если заданная функция более гладкая, т.е. имеет третью производную в области [a; b], то погрешность вычисления производной можно уменьшить: . Аналогичным образом можно получить формулы для второй производной f//(x0). Пусть существует четвертая производную в области [a; b]. Тогда приближенное значение второй производной в точке х0 равно

. (4.17)

При этом погрешность .

Другим способом получения формул численного дифференцирования является приближение функции полиномом Лагранжа. В этом случае можно в качестве производных функции f(x) брать соответствующие производные многочлена Ln(x). Для различных т и п получаем:

  • m=1; n=2: , , ;

  • m=2; n=2: , , и т.д.

5.1.2. Сплайны

Пусть на отрезке [a; b] задана некоторая достаточно гладкая функция fCk+1[a; b]. Разобьем этот отрезок на N частей точками , где h = (a – b)/N (i = 0, 1, ..., N).

Сплайном называется аппроксимирующая функцию f функция, непрерывная на отрезке [a; b] вместе с несколькими своими производными, являющаяся на каждом отрезке [xi; xi+1] многочленом некоторой степени. Наибольшая степень многочленов по всем отрезкам [xi; xi+1] называется степенью сплайна. Разность между степенью сплайна и максимальным номером его непрерывной производной называется дефектом сплайна.

В качестве примера рассмотрим кусочно-линейную аппроксимацию. Ее можно рассматривать как сплайн первой степени. В этом случае все производные – константы, и первая производная разрывна. Дефект сплайна в этом случае равен 1 – 0 = 1.

На практике для аппроксимации функции используются сплайны 3-й степени, у которых непрерывна, по крайней мере, первая производная. Такие сплайны называются кубическими (S3(x)).

Условие непрерывности первой производной: . Значение производной называется наклоном сплайна в точке xi.

Если известны значения функции в узлах fi = f(xi) и наклоны mi, то получить формулу кубического сплайна можно, исходя из следующих условий: на отрезке [xi; xi+1]; ; ; ; . Подставляя значения fi и mi в уравнение сплайна и его производную, получим систему четырех уравнений с четырьмя неизвестными. Решая полученную систему, находим коэффициенты сплайна. После преобразований формула кубического сплайна имеет вид

Существуют различные способы задания наклонов сплайна:

  • Если известна либо производная функции, либо ее значения в узлах (f /(xi) = fi /), тогда можно считать .

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

(i = 1, 2,...,N) – для внутренних точек;

, – для граничных точек.

Это локальные способы. На каждом отрезке [xi; xi+1] сплайн строится отдельно. Для таких сплайнов дефект равен, как правило, 2 (непрерывна первая производная).

  • Для уменьшения дефекта пользуются глобальным способом задания наклонов. Находим вторую производную:

,

, (i=1, 2,... N-1).

Поскольку вторая производная должна быть непрерывна, приравняем эти выражения и получаем

.

Определив поведение сплайна в граничных точках (х0 и хN), имеем систему из (N – 1) + 2 = N + 1 уравнений, которую можно решить методом прогонки. После определения всех наклонов, получим кубический сплайн, дефект которого не больше 1.