Практическа част, Интерполация и изглаждане, Поставяне на проблем, Решаване на проблеми - Програма

Интерполация и изглаждане

Много често е удобно да се интерпретират табличните данни като някаква функция, по-специално полином или сплайн - гладка функция, която на сегменти от областта на дефиницията е равна на полиноми от определена степен. Ще разграничим два критерия за сближаване на табличните функции: интерполация, при която апроксимиращата функция съвпада с табличната функция на възлите, и изглаждане, основаващо се на минимизиране на някакъв критерий, например сумата от квадратите на отклоненията на възлите. И така, възниква проблемът с конструирането на полиномиална или на части полиномиална функция за апроксимиране на някои дискретни данни. Комплектът изчислителни функции MATLAB съдържа функции за решаване на такива проблеми, както в случай на едномерни, така и многомерни данни. Най-простият начин на интерполация е да се апроксимират данните с сплайн с нулев ред (при всяка секция степента на полинома е нула), при която стойността във всяка междинна точка се приема равна на най-близката стойност, посочена в таблицата. В резултат на това данните се апроксимират чрез стъпкова функция и самото приближение се нарича съседна интерполация. Линейната интерполация се основава на свързване на съседни точки с отсечки с права линия - табличните данни се апроксимират от прекъсната линия (сплайн от първия ред на дефект). За по-гладка функция използвайте кубична сплайн интерполация.

Формулиране на проблема

Определете стойността в интервала по кривата (фиг. 1), при b = 0 ° (за дигитализиране на графиките е удобно да използвате програмата GetData) и интерполирайте получените данни, като използвате частично линейна интерполация и кубичен сплайн. Резултатите от интерполацията са представени графично. Определете площта под кривата чрез числово интегриране.

интерполация

Ориз. 1. Крива на зависимостта на безразмерната стойност на товара от безразмерната деформация

Решението на проблема

Схемата за решаване на този проблем в MATLAB се състои от следните стъпки:

1. Определяне от кривата при b = 0 ° стойности в интервала .

2. Интерполация на получените данни с помощта на парче линейна интерполация и кубичен сплайн.

3. Изграждане на графики на първоначалната зависимост и графики на интерполанти.

4. Определяне на площта под кривата чрез числено интегриране (трапецовиден метод).

Стойностите в интервала бяха намерени чрез оцифряване на графиката с програмата GetData:

§ изчертаване на координатни оси (Команди> Задаване на координатна система);

§ дигитализиране на графиката (Команди> Автоматични линии за проследяване);

§ изтриване на ненужни точки (Commands> Data Point Eraser);

Запазване на масиви от точки във файл (Файл> Експортиране на данни).

Тези методи за интерполация са внедрени във функцията интерп1. Функция yi = interp1 (x, y, xi) изгражда интерполираща крива за едномерен масив y, зададен върху решетка x; изходният масив yi може да бъде дефиниран на по-фина мрежа xi. Ако Y е двуизмерен масив, тогава за всяка колона се нанася крива на интерполация. Линейната интерполация се прилага по подразбиране.

За използване yi = interp1 (x, y, xi, `") трябва да посочите координатите на абсцисата на междинните точки, в които се изчисляват стойностите на интерполанта, и метода на интерполация:

§ „линеен“ - линейна интерполация (използва се по подразбиране, ако не е посочен метод за интерполация);

С линейна интерполация MATLAB свързва съществуващите точки с права с прави линии. Използва вектори на данни и за връщане на интерполираната стойност, съответстваща на третия аргумент. Аргументи и трябва да са вектори с еднаква дължина. Векторът трябва да съдържа реални стойности във възходящ ред. Тази функция свързва точките с данни с отсечки с права линия, като по този начин създава полилиния. Интерполираната стойност за определен х е ордината на съответната точка на полилинията. За стойности преди първата точка във вектора, MATLAB продължава полилинията с права линия, минаваща през първите две точки с данни. За стойности след последната точка MATLAB продължава полилинията с права линия през последните две точки с данни. Трябва да е между най-голямата и най-малката стойност за най-добри резултати - стойностите, изчислени извън този диапазон, е малко вероятно да бъдат полезни.