Побудова spline-моделей

ПостроеніеSplineмоделей.

При великій кількості вузлів інтерполяції сильно зростає ступінь інтерполяційних многочленів, що робить їх незручними для проведення обчислень. Високого ступеня многочленів можна уникнути, розбивши відрізок інтерполяції на кілька частин, з побудовою в кожній частині свого інтерполяційного полінома. Такий метод називається інтерполяцією сплайнами. Найбільш поширеним є побудова на кожному відрізку [xi. xi + 1], i = 0..n-1 кубічної функції.

Сплайн - це кусково поліноміальна функція. Кубічний сплайн на кожному з часткових відрізків [xi. xi + 1] буде мати вигляд:

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

Рівняння для визначення коефіцієнтів і можна отримати з:

1. Умови рівності значень інтерпольованої функції і сплайна в вузлових точках

2. Зшивання на кордонах елементарних інтервалів перших похідних сплайнів

3. Зшивання на кордонах елементарних інтервалів других похідних сплайнів

4. Умова «Вільного закріплення кінців»

; ;

Використання даних умов і кубічного сплайна призводить до наступної системи рівнянь:

Побудова spline-моделей

Де - відстань між сусідніми точками (крок за x).

Алгоритм определния коефіцієнтів кубічного сплайна:

1. Визначення коефіцієнтів:

2. Формування матриці коефіцієнтів і вектора вільних членів СЛАР

- елементи головної діагоналі

- елементи побічних діагоналей

- компоненти вектора вільних членів

3. Рішення СЛАР щодо

І доповнення масиву коефіцієнтів з елементом

4. Розрахунок коефіцієнтів

5. Розрахунок коеффціентов

Побудова одновимірних сплайн моделей:

У даній роботі використовувалася програма Sensor modeling моделює залежності вихідного сигналу від температури і тиску (Рис. 1.):

Побудова spline-моделей

Мал. 1. Використовувана програма.

За допомогою даної програми була розрахована і побудована температурна залежність вихідного сигналу (Рис. 2.):

Побудова spline-моделей

Мал. 2. Залежність вихідного сигналу від температури отримана в програмі Sensor modeling.

Для отримання одновимірної сплайн моделі використовувалися:

1. Модуль Spline.cpp містить підпрограми:

- SplineCoeff - розрахунок коефіцієнтів кубічних сплайнів таблично заданої функції.

- LineProgon - рішення СЛАР методом прогонки

- Spline - обчислення значень функції в заданій точці на основі її сплайн інтерполяції

- SdxSpline - обчислення інтеграла від табличній функції в заданих межах на основі її сплайн-інтерполяції.

2. Програма SPL1_001.cpp моделює сплайн функцію

3. Програма Graphic2.cpp для розрахунку графіка функції.

В результаті використання даних програм була отримана сплайн функція:

double s (double x)

Схожі статті