Кубические сплайны

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

Внутри каждого элементарного отрезка заменим функцию функцией , удовлетворяющей следующим условиям:

1. непрерывна на вместе со своими производными первого и второго порядка;

2. на каждом отрезке является кубическим многочленом:

(6.1);.

3. в узлах сетки выполняется равенство ;

4. удовлетворяет граничным условиям .

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

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

(6.2)

(6.3)

Число полученных уравнений 2n в два раза меньше числа неизвестных коэффициентов. Для составления оставшихся уравнений воспользуемся первым условием о непрерывности производных сплайна во всех точках. Приравняем левые и правые производные во внутреннем узле xk , вычислив предварительно выражение для производных последовательным дифференцированием (6.1)

(6.4)

(6.5)

Найдем правые и левые производные в узле:

Приравняв левые и правые производные, получим для:

(6.6)

Уравнения (6.6) дают еще 2(n-1) условий. Для получения недостающих уравнений накладывают требования к поведению сплайна на концах отрезка . При нулевой кривизне, когда вторая производная равна нулю, например, получим:

(6.7)

Исключив из уравнений (6.2)- (6.6) неизвестные ak, получим систему из 3n уравнений:

(6.8)

Решив эту систему, мы найдем значения неизвестных ak,bk,ck определяющих совокупность формул для искомого интерполяционного сплайна

Для вычисления коэффициентов сплайнов в Mathcad предназначены функции, возвращающие массив коэффициентов:

cspline(x,y)-кубического сплайна;

pspline(x,y)-квадратичного сплайна;

lcspline(x,y)-линейного сплайна;

Во всех этих функциях х-массив абсцисс, а y- массив ординат экспериментальных точек. После вычисления коэффициентов сплайнов можно вычислить значение интерполяционного полинома в конкретной точке t, обратившись к функции interp(x,U,P,t), где х- массив коэффициентов сплайнов

Пример 6.1 В результате опыта холостого хода определена таблица зависимости потребляемой из сети мощности P от выходного напряжения U для асинхронного двигателя. Построить график интерполяционной зависимости. При решении воспользуемся встроенными функциями сплайновой аппроксимации в Mathcad

Экспериментальные точки

Построим графики этих функций.

Рис 6.1. Решение примера 6.1 в Mathcad



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: