Інтерполювання функцій в системі MathCAD

Главная » Каталог статей » Статьи на украинском » Програмування » Інтерполювання функцій в системі MathCAD

Будь-який вимірювальний оптоелектронний прилад на вхідний сигнал хn відповідає вихідним сигналом, причому числовий параметр n пробігає значення від 1 до N . Через загальне число пар значень необхідно провести функцію f(x) так, щоб можна було задати аналітичний зв’язок між вихідними та вхідними сигналами, тобто характеристику. При інтерполяції шукана крива f(x) проходить через опорні точки f(xn)=yn. Знайдена функція дає змогу обчислити вихідний сигнал f(x) також і між опорними точками xn £ x £ xn+1. При апроксимації шукану криву треба провести за деякою визначеною стратегією між парами значень (розсіяними чи зашумленими), не досягаючи того, щоб на опорних точках значення функції збігалися з виміряними значеннями yn.

З математичної точки зору процес інтерполювання розглядають так. Нехай на відрізку [a;b] визначено певний клас функцій {P(x)}, наприклад, клас алгебраїчних многочленів, а в точках х01 ,…, хn цього проміжку задано значення деякої функції y=f(x): y0 = f(x0), y1 = f(x1), …, yn =f(xn). Наближену заміну функції f на відрізку [a;b] однією з функцій P(x) цього класу так, щоб функція Р(х) в точках х0, х1, … , хn (вузли інтерполяції) набувала тих самих значень, що й функція f, тобто щоб P(xi)=yi (i = 0,1,…, n), називають інтерполюванням або інтерполяцією.

За допомогою функції, яку задають формулою, можна описувати кількісно виміряний ефект; заносити характеристику в пам’ять ЕОМ; обчислювати й видавати значення абсциси, яке належить відповідному значенню ординати; проводити подальшу обробку аналітично заданої функції, наприклад, диференціювати або інтегрувати.

Якщо функція Р(х) – лінійна, то інтерполювання називають лінійним, якщо вона належить класу алгебраїчних многочленів , то інтерполювання називають параболічним. Параболічне інтерполювання найзручніше, оскільки многочлени, які прості за формою і не мають особливих точок, можуть набувати довільних значень, їх легко обчислювати, диференціювати й інтегрувати.

При інтерполюванні функцій з великою кількістю вузлів інтерполяційний поліном має високий степінь, що спричиняє коливання полінома на проміжках між вузлами інтерполювання. Щоб зменшити степінь інтерполяційного полінома вузли інтерполювання можна розбити на групи і будувати інтерполяційні поліноми з меншою кількістю вузлів. Але в цьому разі на стиках між вузлами порушуються аналітичні властивості інтерполяційного полінома, з’являються точки розриву похідних. Позбутися цих недоліків при інтерполюванні можна за допомогою сплайнів. Сплайн на проміжку між вузлами інтерполювання є поліномом невисокого степеня (другого або третього). На всьому відрізку інтерполювання сплайн- це функція, склеєна з різних частин поліномів заданого степеня. Наочне уявлення про сплайни дають криві, побудовані за допомогою лекал. Найпростіший приклад сплайнів – ламані.

Система MathCAD надає можливість апроксимації двома важливими типами функцій: кусково-лінійною і сплайновою.

При кусково-лінійній інтерполяції обчислення додаткових точок виконується за лінійною залежністю. Графічно це означає просто з’єднання вузлових точок відрізками прямих, для чого використовується така функція: linterp(VX, VY, x).

Для заданих векторів VX і VY вузлових точок і заданного аргументу х linterp повертає значення функції при її лінійній інтерполяції.

Для здійснення сплайнової апроксимації система MathCAD має чотири влаштовані функції. Три перших з них служать для отримання векторів других похідних сплайн-функцій при різних видах інтерполяції:

cspline(VX,VY) – повертає вектор VS других похідних при наближенні в опорних точках до кубічного поліному;

pspline(VX,VY) – повертає вектор VS других похідних при наближенні в опорних точках до параболічної кривої;

lspline(VX,VY) – повертає вектор VS других похідних при наближенні в опорних точках до прямої.

interp(VS,VX,VY,x) – повертає значення у(х) для заданих векторів VS, VX, VY та заданого значення х.

Таким чином, сплайн-апроксимація проводиться в два етапи. На першому етапі за допомогою однієї із функцій cspline, pspline, lspline відшукується вектор других похідних функції у(х), заданої векторами VX, VY. Потім на другому етапі для кожної шуканої точки обчислюють значення у(х) за допомогою функції interp.

Оставьте комментарий к статье