Кубические сплайны
При рассмотрении изгиба изогнутость приходится представлять кривой более высоких порядков. В этом случае часто применяют кубические сплайн функции, когда функция интерполируется на каждом элементарном отрезке кубическим многочленом. На отрезке оси 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
|