ПредишенСледващото

Интерполация и прогнозиране функция

Интерполация използва стойността на функция е определена в редица точки, за да се предвиди стойността на функция между тях. В Mathcad може или да се свърже точките от данните от прави линии (линейна интерполация), или свързването им от сегменти на кубичен полином (кубичен сплайн интерполация).

За разлика регресионни функции обсъдени в следващия раздел, функция крива интерполация определя точно преминава през предварително определена точка. Поради това, резултатът е много чувствителен към грешки в данните. Ако данните са шумни, трябва да помислите за използване на регресия вместо интерполация.

Linear прогноза е да се използват съществуващите стойности на данни, за да се предскаже стойности извън нея. В Mathcad има функция, която позволява данните да се прогнозират бъдещите стойности на базата на съществуващите данни.

Всеки път, когато масиви се използват в нито една от функциите, описани в този раздел, се уверете, че всеки елемент от масива съдържа определена стойност, като Mathcad присвоява стойност от 0 до всички елементи, които не са изрично посочени.

Когато линейна интерполация Mathcad свързва съществуващите информационни точки с прави линии. Тази функция се осъществява linterp. описани по-долу.

Той използва вектори VX и Vy данни. да върне линейно интерполирани у стойност. съответстващ на трети аргумент х. Аргументите VX и Vy са вектори на идентична дължина. Vector VX трябва да съдържа реални стойности, подредени във възходящ ред.

Тази функция се свързва точките с данни от прави отсечки, като се образува начупена линия. Интерполираната стойност за определен х у е ординатата на съответната точка на прекъснатата линия.

За стойности на х, подредени пред първата точка в VX. Mathcad продължава счупен права линия, минаваща през първите две точки от данни. За стойности на х, разположен отвъд последната точка в VX. Mathcad продължава да счупена права линия през последните две точки от данни.

За най-добри резултати, стойността на х трябва да бъде между най-високите и най-ниските стойности в вектор VX на - малко вероятно да бъдат полезни стойности, изчислени за х извън този диапазон. linterp функция е за интерполация, не ekstrapolyatsii. Фигура 5 показва някои примери на линейна интерполация.

Фигура 5: Примери на линейна интерполация.

Cubic сплайн интерполация позволява крива чрез множеството от точки така, че първата и втората производни са непрекъсната крива във всяка точка. Тази крива се генерира чрез създаване на редица кубически полиноми преминаващи през серии от три съседни точки. Кубични полиноми след долепени един до друг, за да образуват един крива.

За да изпълните кубичен сплайн посредством набор от точки:
  • Създаване вектори VX и Vy, като координатите х и у. чрез които ще трябва да прекарат един кубичен сплайн. Елементи на VX трябва да са във възходящ ред. (Въпреки, че ние използваме имена VX Vy противоположност са и няма ограничения по отношение на имената на тези променливи. Можете да използвате всякакви имена.)
  • Изчисляване на вектора срещу: (. VX Vy) = cspline. Векторът съдържа втори производни спрямо кривата intepolyatsionnoy в тези точки.
  • За да намерите интерполирана стойността на произволна точка, казват x0. изчисли с интерполация (в сравнение с VX. Vy. x0), където срещу VX и Vy - вектори, описани по-горе.

Моля, имайте предвид, че можете да направите същото, като се изчислява:

Фигура 6: Пример на сплайн интерполация.

На практика може да се наложи да се изчисли Interp в много различни места. Тъй като апел към cspline може да изисква много време, и тъй като се връща резултат тя не зависи от въпросната точка, че има смисъл да го направи веднъж, освен резултата и се използват отново, както е описано по-горе.

Фигура 6 показва как да се изгради шлицов за примера, показан на Фигура 5. описанието на стъпки на Фигура 6:

Експресия cspline функция изчислява втората производни срещу масив за шлицов използва за интерполира данни на VX и Vy.

След като масива срещу намерени, интерполация функция изчислява интерполирано стойност.

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

В допълнение към cspline Mathcad идва с другите два кубически функции сплайн. Три сплайн функции:

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

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

Тези три функции се различават само по гранични условия: сплайн функции; крайни условия за
  • lspline функция генерира крива сплайн, че се доближава до права линия на границата точки.
  • pspline функция генерира крива сплайн, че се доближава до параболата на границата точки.
  • cspline функция генерира крива на шпонка, които могат да бъдат кубичен полином на граничните точки.

Връща се интерполира у стойност. Съответният аргумент х. Vector срещу се изчислява въз основа на данните на векторите VX и Vy на lspline функции. pspline или cspline.

Интерполираната стойност за определен х у е ординатата на съответната точка шпонката. За стойности на х, подредени пред първата точка в VX. Mathcad продължава сплайн първо на съставящите го кубически параболи. За стойности на х, разположен отвъд последната точка в VX. Mathcad продължава сплайн последно на съставните й кубически параболи.

За най-добри резултати, стойността на х трябва да бъде между най-високите и най-ниските стойности в вектор VX на - малко вероятно да бъдат полезни стойности, изчислени за х извън този диапазон. Каналите са предназначени за интерполация, не ekstrapolyatsii.

Интерполация векторни точки

Векторизиране операторът може да използвате, за да се изчисли веднъж на цялата поредица от интерполирани стойности, съответстващи вектор на предварително определени места. Това е възможно с интерполация. и linterp.

Фигура 7: Изчисляването на интерполирани стойности в групата особености.

Сплайн интерполация функции на няколко променливи

Mathcad извършва кубичен сплайн интерполация функция на две променливи по същия начин, както в една предварително обсъдени. Mathcad провеждане повърхност през възлите на мрежата, съставени от кубически полиноми в х и у. така че първата и втората частични производни са непрекъснати във всяка мрежа.

Първата стъпка в двуизмерен сплайн интерполация - точно същата, както в едномерен случай: Определяне на възлите, през които трябва да преминат на повърхността. Въпреки това, той ще изисква повече усилия, защото сега ние трябва да се определи на възлите на мрежата:
  • Създаване п х 2 матрица Mxy. чиито елементи Mxyi, 0 и Mxyi, 1 определят х и у координати на диагонал на правоъгълна решетка. Тази матрица играе същата роля като VX на този, описан по-рано. Тъй като тези възли описват диагоналните елементи във всяка колона Mxy трябва да бъде поставен във възходящ ред (Mxyi, к
  • Създаване на N х N матрица Mz. чиито (и) - елемент Z е координатата съответства на точката х = Mxyi, 0 и у = Mxyj, 1. Той играе същата роля като Vy в описаната по-рано.
  • Изчисляване на вектора срещу: (. Mxy Mz) = cspline. Вектор срещу включва апроксимиращи втората производни на повърхността на възлите идентифицирани Mxy и Mz.
  • За да намерите интерполирана стойността на произволна точка, да речем (x0, y0), изчисли

където vs. Mxy и Mz - масиви, описани по-рано. Резултатът е стойността на интерполиране функцията съответстваща на точка (x0, y0).

Имайте предвид, че едно и също нещо може да бъде направено чрез изчисляване

На практика може да се наложи да се изчисли Interp в много различни места. Тъй като апел към cspline може да изисква много време, и тъй като се връща резултат тя не зависи от въпросната точка, че има смисъл да го направи веднъж, освен резултата и се използват отново, както е описано по-горе.

В допълнение към cspline Mathcad се предлага с два други функции на интерполация на сплайн. Сплайн интерполация функция на Mathcad:

Всички те се върнат вектора на коефициентите на вторите производни, което ние наричаме vs. Този вектор, в сравнение с обикновено се използва в функция интерполация. описани по-долу. Mxy - п х 2 матрица, чиито елементи Mxyi, 0 и Mxyi, 1 определи точката на диагоналната п х п окото. (Ij) е елемент на матрицата определя стойността на Mz интерполиране функция (Mxyi, 0. Mxyj, 1).

Тези три функции се различават само по граничните условия:
  • lsplin д функция генерира шпонка, което е близо до равнината на мрежата по ръбовете.
  • pspline генерира функция шлицов че представлява втора степен полином на х и у по краищата на решетката.
  • cspline генерира функция шлицов че представлява трета степен полином на х и у по краищата на решетката.

Връща интерполирани стойност Z. съответстваща на точките х = v0 и у = v1 на. Vector срещу се изчислява lspline, pspline или cspline базира на данни от Mxy и Mz.

За най-добри резултати, не използвайте интерполация функция на стойностите на х и у. отдалечени от точките на мрежата. Каналите са предназначени за интерполация, не ekstrapolyatsii, така че е малко вероятно, че стойностите, изчислени за тези х и у. ще бъде от полза.

Интерполация функция е описано в този раздел, до сега да позволи да се определят стойностите на функция в редица точки, за да се оцени стойността му в междинни точки. Понякога е необходимо да се изчисли стойността на функцията в точките, които са извън сферата на оформлението на мрежата, които са дадени стойностите на функцията. В Mathcad има предскаже функция. която ви позволява да направите това. Тази функция се използва линеен алгоритъм предсказание, което е полезно, когато се екстраполира функция е гладка и вибриращо, макар и не задължително периодично. Linear прогноза може да се разглежда като един вид ekstrapolyatsii, но това не бива да се бърка с линейна или полином ekstrapolyatsiey.

Фигура 8: Използване на прогнози функции за екстраполация на данните.

Връща н прогнозира стойности въз основа на стойностите на m поредна векторни данни ст. Елементи в ст ценности трябва да бъдат взети на редовни интервали.

предскаже функцията използва последните м стойности на първоначалните данни за изчисляване на коефициентите на прогнози. След това се прави, тя използва последните м точки, за да се предскаже координатите (m + 1) та точка, като на практика създаде плъзгащ се прозорец на ширина в м точки.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!