Interpolácia funkcií pomocou spline. Spline interpolácia

Interpolačné vzorce Lagrangea, Newtona a Stirlinga atď. pri použití veľkého počtu interpolačných uzlov na celom segmente [ a, b] často vedú k zlej aproximácii v dôsledku nahromadenia chýb počas procesu výpočtu. Okrem toho v dôsledku divergencie procesu interpolácie zvýšenie počtu uzlov nemusí nevyhnutne viesť k zvýšeniu presnosti. Aby sa znížili chyby, celý segment [ a, b] je rozdelená na čiastkové segmenty a na každom z nich je funkcia nahradená približne polynómom nízkeho stupňa. To sa nazýva po častiach polynomiálna interpolácia.

Jedna z metód interpolácie cez celý segment [ a, b] je spline interpolácia.

Spline je po častiach polynomická funkcia definovaná na intervale [ a, b] a má na tomto segmente určitý počet spojitých derivácií. Výhody spline interpolácie v porovnaní s konvenčnými interpolačnými metódami sú konvergencia a stabilita výpočtového procesu.

Zoberme si jeden z najbežnejších prípadov v praxi – interpoláciu funkcie kubický spline.
Nechajte na segmente [ a, b] je špecifikovaná spojitá funkcia. Predstavme si rozdelenie segmentu:

a označovať, .

Spline zodpovedajúci danej funkcii a interpolačným uzlom (6) je funkcia, ktorá spĺňa nasledujúce podmienky:

1) na každom segmente je funkcia kubický polynóm;

2) funkcia, ako aj jej prvá a druhá derivácia sú spojité na intervale [ a, b] ;

Tretia podmienka je tzv interpolačná podmienka. Zavolá sa splajn definovaný podmienkami 1) – 3). interpolačný kubický spline.

Uvažujme o metóde konštrukcie kubického splajnu.

Na každom zo segmentov, Budeme hľadať spline funkciu vo forme polynómu tretieho stupňa:

(7)

Kde požadované koeficienty.

Rozlišujme (7) trikrát vzhľadom na X:

odkiaľ nasleduje

Z interpolačnej podmienky 3) dostaneme:

Vyplýva to z podmienok kontinuity funkcie.

2.2 Interpolácia pomocou kubického splajnu

Kubický interpolačný spline zodpovedajúci danej funkcii f(x) a daným uzlom x i je funkcia S(x), ktorá spĺňa nasledujúce podmienky:

1. Na každom segmente i = 1, 2, ..., N je funkcia S(x) polynóm tretieho stupňa,

2. Funkcia S(x), ako aj jej prvá a druhá derivácia sú spojité na intervale,

3. S(xi) = f(xi), i = 0, 1, ..., N.

Na každom zo segmentov , i = 1, 2, ..., N, budeme hľadať funkciu S(x) = S i (x) v tvare polynómu tretieho stupňa:

S i (x) = a i + b i (x - x i - 1) + c i (x - x i - 1) 2 + d i (x - 1) 3,

x i - 1 Ј x Ј x i ,

kde a i, b i, c i, d i sú koeficienty, ktoré sa majú určiť na všetkých n elementárnych segmentoch. Aby systém algebraických rovníc mal riešenie, počet rovníc sa musí presne rovnať počtu neznámych. Preto by sme mali dostať 4n rovníc.

Prvých 2n rovníc získame z podmienky, že graf funkcie S(x) musí prechádzať danými bodmi, t.j.

Si (x i - 1) = y i - 1, Si (x i) = y i.

Tieto podmienky možno zapísať takto:

Si (x i - 1) = a i = y i - 1,

S i (x i) = a i + b i h i + c i h + d i h = y i,

h i = x i - x i - 1, i = 1, 2, ..., n.

Nasledujúce 2n - 2 rovnice vyplývajú z podmienky spojitosti prvej a druhej derivácie v uzloch interpolácie, t.j. podmienky hladkosti krivky vo všetkých bodoch.

Si + 1 (x i) = Si (x i), i = 1, ..., n - 1,

S i (x) = b i + 2 c i (x - x i - 1) + 3 d i (x - x i - 1),

Si + 1 (x) = b i + 1 + 2 c i + 1 (x - x i) + 3 d i + 1 (x - x i).

Vyrovnaním hodnôt týchto derivácií v každom vnútornom uzle x = x i, vypočítaných v intervaloch naľavo a napravo od uzla, dostaneme (berúc do úvahy h i = x i - x i - 1):

b i + 1 = b i + 2 h i c i + 3h d i, i = 1, ..., n - 1,

Si (x) = 2 c i + 6 d i (x - x i - 1),

Si + 1 (x) = 2 c i + 1 + 6 d i + 1 (x - x i),

ak x = x i

c i + 1 = c i + 3 h i d i, i = 1,2, ..., n - 1.

V tejto fáze máme 4n neznámych a 4n - 2 rovnice. Preto treba nájsť ešte dve rovnice.

Keď sú konce voľne zaistené, zakrivenie čiary v týchto bodoch môže byť nastavené na nulu. Z podmienok nulového zakrivenia na koncoch vyplýva, že druhé derivácie v týchto bodoch sú rovné nule:

S1 (x 0) = 0 a Sn (x n) = 0,

cj = 0 a 2 cn + 6 dnhn = 0.

Rovnice tvoria sústavu lineárnych algebraických rovníc na určenie 4n koeficientov: a i, b i, c i, d i (i = 1, 2, ..., n).

Tento systém je možné doviesť do pohodlnejšej podoby. Z podmienky môžete okamžite nájsť všetky koeficienty a i.

i = 1, 2, ..., n - 1,

Nahradením dostaneme:

b i = - (c i + 1 + 2c i), i = 1,2, ..., n - 1,

b n = - (h n c n)

Z rovnice vylúčime koeficienty b i a d i. Nakoniec získame nasledujúci systém rovníc iba pre koeficienty s i:

c 1 = 0 a c n + 1 = 0:

h i - 1 c i - 1 + 2 (hi - 1 + h i) c i + h i c i + 1 = 3,

i = 2, 3, ..., n.

Zo zistených koeficientov s i je ľahké vypočítať d i,b i.

Výpočet integrálov metódou Monte Carlo

Tento softvérový produkt implementuje schopnosť nastaviť ďalšie obmedzenia v oblasti integrácie pomocou dvoch dvojrozmerných spline plôch (pre integrandovú funkciu rozmeru 3)...

Interpolácia funkcií

Nech je uvedená tabuľka funkčných hodnôt f(xi) = yi (), v ktorej sú usporiadané vo vzostupnom poradí hodnôt argumentov: x0< x1 < … < xn. Чтобы построить кубический сплайн, требуется определить коэффициенты ai0, ai1, ai2, ai3...

Spline interpolácia

Spline interpolácia

Spline interpolácia

Poďme sa zoznámiť s algoritmom programu. 1. Vypočítajte hodnoty a 2. Na základe týchto hodnôt vypočítajte koeficienty chodu a o. 3. Na základe získaných údajov vypočítame koeficienty 4...

Matematické modelovanie technických objektov

Vstavané funkcie MathCAD umožňujú interpoláciu na kreslenie kriviek rôzneho stupňa zložitosti prostredníctvom experimentálnych bodov. Lineárna interpolácia...

Metódy aproximácie funkcií

Na každom segmente sa interpolačný polynóm rovná konštante, konkrétne ľavej alebo pravej hodnote funkcie. Pre ľavú po častiach lineárnu interpoláciu F(x)= fi-1, ak xi-1 ?x

Metódy aproximácie funkcií

Na každom intervale je funkcia lineárna Fi(x)=kix+li. Hodnoty koeficientov sa zistia pri splnení interpolačných podmienok na koncoch segmentu: Fi(xi-1)=fi-1, Fi(xi-1)=fi. Dostaneme sústavu rovníc: kixi-1+ li= fi-1, kixi+ li= fi, odkiaľ zistíme ki=li= fi- kixi...

Metódy riešenia sústavy lineárnych rovníc. Interpolácia

Vyhlásenie problému interpolácie. Na intervale je špecifikovaná sústava bodov (interpolačných uzlov) xi, i=0,1,…,N; a? x ja? b, a hodnoty neznámej funkcie v týchto uzloch fn i=0,1,2,…,N. Je možné nastaviť nasledujúce úlohy: 1) Zostrojte funkciu F (x)...

Zostrojenie matematického modelu popisujúceho proces riešenia diferenciálnej rovnice

3.1 Konštrukcia Lagrangeovho interpolačného polynómu a kondenzácia hodnôt Samozrejmou metódou riešenia tohto problému je výpočet hodnôt ѓ(x) pomocou analytických hodnôt funkcie ѓ. Na tento účel - podľa prvotných informácií...

Ak sú to mocniny (1, x, x2, ..., xn), potom hovoríme o algebraickej interpolácii a funkcia sa nazýva interpolačný polynóm a označuje sa ako: (4) Ak () (5), potom môžeme zostrojte interpolačný polynóm stupňa n a navyše iba jeden...

Praktická aplikácia interpolácie hladkých funkcií

Zoberme si príklad interpolácie pre prvky množiny. Pre jednoduchosť a stručnosť zoberme =[-1;1], . Nech sa body navzájom líšia. Položme si nasledujúci problém: (12) zostrojte polynóm, ktorý spĺňa tieto podmienky...

Aplikácia numerických metód na riešenie matematických úloh

Numerické metódy

Takže, ako už bolo spomenuté vyššie, úlohou interpolácie je nájsť polynóm, ktorého graf prechádza danými bodmi. Nech je funkcia y=f(x) špecifikovaná pomocou tabuľky (tabuľka 1)...

Numerické metódy riešenia matematických úloh

MINISTERSTVO ŠKOLSTVA A VEDY RUSKEJ FEDERÁCIE

Federálna štátna autonómna vzdelávacia inštitúcia

vyššie odborné vzdelanie

"Uralská federálna univerzita pomenovaná po prvom prezidentovi Ruska B. N. Jeľcinovi"

Ústav rádioelektroniky a informačných technológií - RTF

oddelenie Automatizácia a informačné technológie

Spline interpolácia

METODICKÉ POKYNY PRE laboratórne práce v DISCIPLÍNE „Numerické metódy“

Zostavila I.A.Selivanova, staršia učiteľka.

INTERPOLÁCIA S DRÁŽKAMI: Pokyny pre praktické vyučovanie v disciplíne „Numerické metódy“

Pokyny sú určené pre študentov všetkých foriem štúdia v študijnom odbore 230100 - „Informatika a informatika“.

Ó Federálna štátna autonómna vzdelávacia inštitúcia vyššieho odborného vzdelávania „Uralská federálna univerzita pomenovaná po prvom prezidentovi Ruska B. N. Jeľcinovi“, 2011

1. INTERPOLÁCIA S DRÁŽKAMI. 4

1.1. Kubické drážky. 4

1.2. Špeciálna forma písania spline. 5

1.3. Kvadratické splajny. 13

1.4. Cvičná úloha. 18

1.5. Možnosti úloh. 19

Referencie 21

1. Spline interpolácia.

V prípadoch, keď je interval [ a,b], na ktorom chcete funkciu nahradiť f(X) je veľká, je možné použiť interpoláciu spline.

1.1. Kubické drážky.

Interpolačné splajny 3 poradie - sú to funkcie pozostávajúce z častí polynómov 3 th objednať. V uzloch rozhrania je zabezpečená kontinuita funkcie a jej prvej a druhej derivácie. Aproximačná funkcia sa skladá z jednotlivých polynómov, zvyčajne rovnako malého stupňa, z ktorých každý je definovaný na vlastnej časti segmentu.

Nechajte na segmente [ a, b] reálna os X je špecifikovaná mriežka, v ktorej uzloch sú určené hodnoty
funkcie f(X). Je potrebné postaviť na segmente [ a, b] spojitá splajnová funkcia S(X), ktorý spĺňa tieto podmienky:



Ak chcete vytvoriť požadovaný spline, musíte nájsť koeficienty
polynómy
,i=1,… n, t.j. 4 n neznáme koeficienty, ktoré spĺňajú 4 n-2 rovnice (1), (2), (3). Aby sústava rovníc mala riešenie, pridajú sa dve ďalšie (okrajové) podmienky. Používajú sa tri typy okrajových podmienok:

Podmienky (1), (2), (3) a jedna z podmienok (4), (5), (6) tvoria SLAE objednávky 4 n. Systém je možné riešiť pomocou Gaussovej metódy. Avšak výberom špeciálnej formy zápisu kubického polynómu môžete výrazne znížiť poradie systému rovníc, ktoré sa majú riešiť.

1.2. Špeciálna forma písania spline.

Zvážte segment
. Predstavme si nasledujúce zápisy premenných:

Tu
- dĺžka segmentu
,

,
- pomocné premenné,

X– medziľahlý bod na segmente
.

Kedy X prechádza cez všetky hodnoty v intervale
, variabilný sa pohybuje od 0 do 1 a
sa pohybuje od 1 do 0.

Nech je kubický polynóm
na segmente
má tvar:

Premenné A
sú určené vo vzťahu ku konkrétnemu interpolačnému segmentu.

Poďme nájsť hodnotu spline
na koncoch segmentu
. Bodka
je východiskovým bodom segmentu
, Preto =0,
=1 av súlade s (3.8):
.

Na konci segmentu
=1,
=0 a
.

Pre interval
bodka
je konečný, takže =1,
=0 a zo vzorca (9) dostaneme:
. Podmienka kontinuity funkcie je teda splnená S(X) v styčných bodoch kubických polynómov bez ohľadu na výber čísel  i.

Na určenie koeficientov  i, i=0,… n Derivujme (8) dvakrát ako komplexnú funkciu z X. Potom

Definujme druhú deriváciu spline
A
:

Pre polynóm
bodka je začiatok interpolačného segmentu a =0,
=1 teda

Z (15) a (16) vyplýva, že na intervale [ a,b]spline funkcia, „zlepená dohromady“ z kúskov polynómov 3. rádu, má spojitú deriváciu 2. rádu.

Získať spojitosť prvej derivácie funkcie S(X), Požadujme, aby boli vo vnútorných interpolačných uzloch splnené tieto podmienky:

Pre prirodzený kubický spline
Preto bude systém rovníc vyzerať takto:

a systém rovníc (17) bude vyzerať takto:

Príklad.

Počiatočné údaje:

Nahradiť funkciu
interpolačný kubický spline, ktorého hodnoty v daných uzlových bodoch (pozri tabuľku) sa zhodujú s hodnotami funkcie v rovnakých bodoch. Zvážte rôzne okrajové podmienky.

    Vypočítajme hodnotu funkcie v uzlových bodoch. Za týmto účelom nahraďte hodnoty z tabuľky do danej funkcie.

    Pre rôzne okrajové podmienky (4), (5), (6) nájdeme koeficienty kubických splajnov.

    1. Zoberme si prvé okrajové podmienky.

V našom prípade n=3,
,
,
. Nájsť
používame sústavu rovníc (3.18):

Poďme počítať A pomocou vzorcov (7) a (11):


Dosaďte získané hodnoty do sústavy rovníc:

.

Systémové riešenie:

Ak vezmeme do úvahy prvé okrajové podmienky, spline koeficienty sú:

      Uvažujme o definícii spline koeficientov s prihliadnutím na okrajové podmienky (3.5):

Poďme nájsť deriváciu funkcie
:

Poďme počítať
A
:

Dosadme do sústavy rovníc (21) hodnoty A :

Pomocou vzorca (20) určíme  0 a  3:

Berúc do úvahy konkrétne hodnoty:

a vektor koeficientov:

    Vypočítajme hodnoty kubického splajnu S(x) v stredných bodoch interpolačných segmentov.

Stredy segmentov:

Na výpočet hodnoty kubického splajnu v strede interpolačných segmentov používame vzorce (7) a (9).

3.1.

nájdeme A
:

Vo vzorci (3.9) dosadíme koeficienty

3.2.

nájdeme A
:


, pre okrajové podmienky (4), (5), (6):

3.3.

nájdeme A
:

Vo vzorci (9) dosadíme koeficienty
, pre okrajové podmienky (4), (5), (6):

Urobme si tabuľku:

(1 kr.podm.)

(2 kredity)

(3 kredity)

Nech je uvedená tabuľka funkčných hodnôt y i v uzloch X 0 < х 1 < ... < х п .Označiť h i = x i – x i -1 , i= 1, 2, ... , P.

Spline– plynulá krivka prechádzajúca danými bodmi ( x i, y i), i = 0, 1, ... , P. Spline interpolácia je to v každom segmente [ x i -1 , x i]používa sa polynóm určitého stupňa. Najčastejšie sa používa polynóm tretieho stupňa, menej často druhý alebo štvrtý. V tomto prípade sa na určenie koeficientov polynómov používajú podmienky spojitosti derivácií v interpolačných uzloch.

Interpolácia s kubickými splajnmi predstavuje lokálnu interpoláciu, keď na každom segmente [ x i -1 , x i], i = 1, 2, ... , P používa sa kubická krivka, ktorá spĺňa určité podmienky hladkosti, konkrétne spojitosť samotnej funkcie a jej prvej a druhej derivácie v uzlových bodoch. Použitie kubickej funkcie je spôsobené nasledujúcimi úvahami. Ak predpokladáme, že interpolačná krivka zodpovedá elastickému pravidlu upevnenému v bodoch ( x i, y i), potom z kurzu pevnosti materiálov je známe, že táto krivka je definovaná ako riešenie diferenciálnej rovnice f(IV) ( X) = 0 na intervale [ x i -1 , x i](pre jednoduchosť prezentácie neberieme do úvahy problémy súvisiace s fyzickými rozmermi). Všeobecným riešením takejto rovnice je polynóm 3. stupňa s ľubovoľnými koeficientmi, ktorý sa pohodlne zapíše v tvare
S i(X) = a ja + b i(X - x i -1) +s i(X - x i -1) 2 + d i(X - x i -1) 3 ,
x i-1 £ X £ x i, i = 1, 2, ... , P.(4.32)

Funkčné koeficienty S i(X)sú určené z podmienok spojitosti funkcie a jej prvej a druhej derivácie vo vnútorných uzloch x i,i= 1, 2,..., P - 1.

Zo vzorcov (4.32) at X = x i-1 dostaneme

S i(x i- 1) = y i -1 = ai, i = 1, 2,..., P,(4.33)

a kedy X = x i

S i(x i) = a ja + b i h i +s i h i 2 + d i h i 3 ,(4.34)

i= 1, 2,..., n.

Podmienky spojitosti pre interpolačnú funkciu sú zapísané ako S i(x i) = S i -1 (x i), i= 1, 2, ... , n- 1 a z podmienok (4.33) a (4.34) vyplýva, že sú splniteľné.

Poďme nájsť derivácie funkcie S i(X):

S" i(X) =b i + 2s i(X - x i -1) + 3di(Xx i -1) 2 ,

S" i(X) = 2c i + 6d i(x - x i -1).

O X = x i-1, máme S" i(x i -1) = b i, S" (x i -1) = 2s i, a kedy X = x i dostaneme

S" i(x i) = b i+ 2s i h i+ 3dih i 2 , S" (x i) = 2s i+ 6d i h i.

Podmienky spojitosti derivácií vedú k rovniciam

S" i(x i) =S" i +1 (x i) Þ b i+ 2s i h i+ 3dih i 2 = b i +1 ,

i= l, 2,... , P - 1. (4.35)

S" i (x i) = S" i +1 (x i) Þ 2 s i+ 6d i h i= 2c i +1 ,

i= l, 2,..., n- 1. (4.36)

Celkovo máme 4 n– 2 rovnice na určenie 4 n neznámy. Na získanie ďalších dvoch rovníc sa používajú dodatočné okrajové podmienky, napríklad požiadavka, aby interpolačná krivka mala nulové zakrivenie v koncových bodoch, t. j. aby sa druhá derivácia rovnala nule na koncoch segmentu [ A, b]A = X 0 , b= x n:

S" 1 (X 0) = 2c 1 = 0 Þ s 1 = 0,

S'n(x n) = 2s n + 6d n h n = 0 Þ s n + 3d n h n = 0. (4.37)

Systém rovníc (4.33) – (4.37) je možné zjednodušiť a získať opakujúce sa vzorce na výpočet spline koeficientov.

Z podmienky (4.33) máme explicitné vzorce na výpočet koeficientov a i:

a i = y i -1 , i= 1,..., n. (4.38)

Vyjadrime sa d i cez c i pomocou (4.36), (4.37):

; i = 1, 2,...,n; .

Položme s n+1 = 0, potom pre d i dostaneme jeden vzorec:

, i = 1, 2,...,n. (4.39)

Nahraďte výrazy za a ja A d i do rovnosti (4,34):

, i= 1, 2,..., n.

a vyjadriť b i, cez s i:

, i= 1, 2,..., n. (4.40)

Vylúčme koeficienty z rovníc (4.35) b i A d i pomocou (4.39) a (4.40):

i= 1, 2,..., n -1.

Odtiaľ získame sústavu rovníc na určenie s i:

Sústavu rovníc (4.41) možno prepísať ako

Tu je uvedený zápis

, i =1, 2,..., n- 1.

Riešime sústavu rovníc (4.42) metódou rozmietania. Z prvej rovnice vyjadríme s 2 cez s 3:

c 2 = a 2 c 3 + b2, ,. (4,43)

Dosadíme (4.43) do druhej rovnice (4.42):

h 2 (a 2 c 3 + b 2) + 2( h 2 + h 3)c 3 + h 3 c 4 = g 2 ,

a vyjadriť s 3 cez s 4:

s 3 = 3 s 4 + b 3, (4,44)

Za predpokladu, že s i-1 = a i -1 c i+b i-1 z i dostaneme rovnicu (4.42).

c i= a ja s i+1+b i

, i = 3,..., n– 1, a n= 0, (4,45) cn +1 = 0,

c i= a ja s i+1+b i, i= n, n -1,..., 2, (4.48)

c 1 = 0.

3. Výpočet koeficientov a ja, b i,d i:

a i = y i -1 ,

i= 1, 2,..., n.

4. Vypočítajte hodnotu funkcie pomocou spline. Ak to chcete urobiť, nájdite nasledujúcu hodnotu i, že daná hodnota premennej X patrí do segmentu [ x i -1 , x i] a vypočítajte

S i(X) = a ja + b i(X - x i -1) +s i(X - x i -1) 2 + d i(X - x i -1) 3 . (4.50)

Hlavná úloha interpolácia- nájdenie hodnoty funkcie špecifikovanej v tabuľke v tých bodoch v rámci daného intervalu, kde nie je špecifikovaná. Počiatočné tabuľkové údaje je možné získať experimentálne (v tomto prípade v zásade neexistujú žiadne prechodné údaje bez dodatočnej práce) alebo výpočtom pomocou komplexných závislostí (v tomto prípade je jednoduchšie nájsť hodnotu komplexnej funkcie pomocou interpolácie ako priamym výpočtom pomocou zložitého vzorca)

Interpolačný koncept

Riešenie interpolačných a extrapolačných problémov je zabezpečené zostrojením interpolačnej funkcie L(X), približne nahradiť originál f(X), špecifikované v tabuľke a prechádzajúce všetkými danými bodmi - interpolačné uzly. Pomocou tejto funkcie môžete kedykoľvek vypočítať požadovanú hodnotu pôvodnej funkcie.

V súvislosti s interpoláciou sa berú do úvahy tri hlavné problémy.

1) výber interpolačnej funkcie L(X);

2) odhad interpolačnej chyby R(X);

3) umiestnenie interpolačných uzlov na zabezpečenie najvyššej možnej presnosti obnovenia funkcie ( X 1 , X 2 ,…,x n).

Špeciálne interpolačné metódy umožňujú určiť požadovanú hodnotu funkcie bez priamej konštrukcie interpolačnej funkcie. V zásade všetky interpolačné metódy založené na použití polynómov ako interpolačnej funkcie poskytujú rovnaké výsledky, ale s rôznymi nákladmi. Vysvetľuje sa to tým, že polynóm n stupeň obsahujúci n+1 parametrom a prechádza cez všetky špecifikované n+1 bod, - jediný. Okrem toho môže byť polynóm reprezentovaný ako skrátený Taylorov rad, do ktorého je rozšírená pôvodná diferencovateľná funkcia. Toto je možno jedna z hlavných výhod polynómu ako interpolačnej funkcie. Preto sa prvý interpolačný problém najčastejšie rieši výberom polynómu ako interpolačnej funkcie, hoci možno použiť aj iné funkcie (napríklad goniometrické polynómy, iné funkcie vybrané z neformálnych podmienok zmysluplného problému).

Ryža. 3.2 Ilustrácia interpolácie

Voľba typu interpolačnej funkcie je vo všeobecnosti dôležitou úlohou, najmä ak si uvedomíte, že cez dané body možno nakresliť ľubovoľný počet funkcií (obr. 3.2). Treba poznamenať, že existuje zrejmý spôsob konštrukcie interpolačnej funkcie: z podmienky prechodu funkcie všetkými bodmi sa zostaví systém rovníc, z riešenia ktorého sa zistia jeho parametre. Táto cesta však zďaleka nie je najefektívnejšia, najmä pri veľkom počte bodov.

Je zvykom rozlišovať medzi lokálnou a globálnou interpoláciou. V prípade, že polynóm je rovnaký pre celú oblasť interpolácie, hovorí sa o interpolácii globálne. V prípadoch, keď sa polynómy medzi rôznymi uzlami líšia, hovoríme o po častiach alebo lokálna interpolácia.

Lineárna interpolácia

Najjednoduchší a najčastejšie používaný typ lokálnej interpolácie je lineárna interpolácia. Spočíva v tom, že dané body M(x i, y i) (i = 0, 1, ..., č) sú spojené priamymi segmentmi a funkciou f(X) sa blíži k prerušovanej čiare s vrcholmi v týchto bodoch (obr. 3.3) .

Ryža. 3.3 Lineárna interpolácia

Rovnice každého segmentu prerušovanej čiary sú vo všeobecnosti odlišné. Keďže existuje n intervaloch (x i, x i + 1), potom pre každú z nich ako rovnicu

Interpolačný polynóm používa rovnicu priamky prechádzajúcej cez dva body. Najmä pre ja — interval, môžeme napísať rovnicu priamky prechádzajúcej bodmi ( x i, y i) A ( x i + 1 , y i + 1), ako:

(3.2)

Preto pri použití lineárnej interpolácie musíte najprv určiť interval, do ktorého hodnota argumentu spadá X a potom ho dosaďte do vzorca (3.2) a nájdite približnú hodnotu funkcií v tomto bode.

Obrázok 3.4 ukazuje príklad použitia lineárnej interpolácie v programe MathCAD. Na lineárnu interpoláciu použite funkciu linterp (X,r,z). Tu X, r- počiatočné údaje, z– bod, v ktorom sa nachádza hodnota funkcie.

Ryža. 3.4. Lineárna interpolácia

Kvadratická interpolácia

Kedy kvadratická interpolácia ako interpolačná funkcia na segmente ( x i — 1 ,x i + 1) akceptuje sa kvadratická trojčlenka. Rovnica kvadratického trinomu má tvar

y = a i x 2 + b i x + c i , x i — 1 X x i + 1 , (3.3)

Interpolácia pre akýkoľvek bod X [X 0 ,xn] sa vykonáva v troch najbližších bodoch.

Kubická spline interpolácia

V posledných rokoch sa intenzívne rozvíja nový odbor modernej výpočtovej matematiky - teória spline. Spline umožňuje efektívne riešiť problémy spracovania experimentálnych závislostí medzi parametrami, ktoré majú pomerne zložitú štruktúru.

Vyššie diskutované metódy lokálnej interpolácie sú v podstate najjednoduchšie spline prvého stupňa (pre lineárnu interpoláciu) a druhého stupňa (pre kvadratickú interpoláciu).

Vďaka svojej jednoduchosti našli kubické drážky najširšie praktické uplatnenie. Základné myšlienky teórie kubických drážok vznikli ako výsledok pokusov matematicky opísať flexibilné lamely vyrobené z elastického materiálu (mechanické drážky), ktoré už dlho používajú kresliari v prípadoch, keď bolo potrebné nakresliť pomerne hladkú krivku. cez dané body. Je známe, že pás elastického materiálu, upevnený v určitých bodoch a v rovnovážnej polohe, má tvar, v ktorom je jeho energia minimálna. Táto základná vlastnosť umožňuje efektívne využívať spline pri riešení praktických problémov spracovania experimentálnych informácií.

Vo všeobecnosti pre funkciu y = f(X) je potrebné nájsť aproximáciu y=j(X) Takýmto spôsobom f(x i)= j(x i) v bodoch X = X i , a v iných bodoch segmentu [ a, b] hodnoty

funkcie f(X) A j(X) boli blízko seba. Pri malom počte experimentálnych bodov (napríklad 6-8) možno na vyriešenie interpolačného problému použiť jednu z metód konštrukcie interpolačných polynómov. Pri veľkom počte uzlov sa však interpolačné polynómy stávajú prakticky nepoužiteľné. Je to spôsobené tým, že stupeň interpolačného polynómu je len o jeden menší ako počet experimentálnych hodnôt funkcií. Je samozrejme možné rozdeliť segment, na ktorom je funkcia definovaná, na časti obsahujúce malý počet experimentálnych bodov a pre každý z nich zostrojiť interpolačné polynómy. V tomto prípade však bude mať aproximačná funkcia body, kde derivácia nie je spojitá, to znamená, že graf funkcie bude obsahovať body zlomu.

Kubické drážky nemajú túto nevýhodu. Štúdie teórie lúčov ukázali, že ohybný tenký lúč medzi dvoma uzlami je celkom dobre opísaný kubickým polynómom a keďže sa nezrúti, aproximačná funkcia musí byť aspoň spojito diferencovateľná. To znamená, že funkcie j(X), j'(X), j"(X) musí byť súvislé na segmente [ a, b].

Kubický interpolačný spline , zodpovedajúce tejto funkcii f(X) a tieto uzly xi, nazývaná funkcia r(X), spĺňajúce nasledujúce podmienky:

1. na každom segmente [ x i — 1 ,xi], i = 1, 2, ..., n funkciu r(X) je polynóm tretieho stupňa,

Funkcia r(X), a tiež jeho prvá a druhá derivácia sú spojité na intervale [ a,b],

Kubický spline je zlepená z polynómov tretieho stupňa, ktoré pre i- časť je napísaná takto:

Pre celý interval to bude podľa toho P kubické polynómy líšiace sa koeficientmi Ai, b i, c i, d i. Najčastejšie sú uzly pri spline interpolácii umiestnené rovnomerne, t.j. Xi +1 -Xi = konšt = h (aj keď to nie je potrebné).

Je potrebné nájsť štyri koeficienty za predpokladu, že každý polynóm prechádza cez dva body (x i, r i) a (x i +1 , r i +1 ) , výsledkom sú nasledujúce zrejmé rovnice:

Prvá podmienka zodpovedá prechodu polynómu cez počiatočný bod, druhá - cez koncový bod. Nie je možné nájsť všetky koeficienty z týchto rovníc, pretože existuje menej podmienok ako požadované parametre. Preto sú tieto podmienky doplnené o podmienky hladkosti funkcie (t.j. spojitosti prvej derivácie) a hladkosti prvej derivácie (t.j. spojitosti druhej derivácie) v uzloch interpolácie. Matematicky sú tieto podmienky napísané ako rovnosti prvej a druhej derivácie na konci i a na začiatku ( i+1 )-té pozemky.

Od r , To

(r(x i +1 ) nakoniec i-zápletka sa rovná y'(Xi +1 ) najprv ( i+1 )-th),

(y"(Xi +1 ) nakoniec i-zápletka sa rovná y" (xi +1 ) najprv ( i+1).

Výsledkom je sústava lineárnych rovníc (pre všetky sekcie) obsahujúca 4n - 2 rovníc so 4n neznámymi (neznáme a 1, a 2,..., a n, b 1,..., d n - spline koeficienty). Na vyriešenie systému pridajte dve okrajové podmienky jedného z nasledujúcich typov (najčastejšie sa používa 1):

Spoločné riešenie 4n rovníc umožňuje nájsť všetky 4n koeficienty.

Ak chcete obnoviť derivácie, môžete v každej sekcii diferencovať zodpovedajúci kubický polynóm. Ak je potrebné určovať derivácie v uzloch, existujú špeciálne techniky, ktoré redukujú určovanie derivácií na riešenie jednoduchšej sústavy rovníc pre požadované derivácie druhého alebo prvého rádu. Medzi dôležité výhody kubickej spline interpolácie patrí získanie funkcie, ktorá má minimálne možné zakrivenie. Medzi nevýhody spline interpolácie patrí potreba získať relatívne veľké množstvo parametrov.

Vyriešme interpolačný problém pomocou programu MathCAD. Na to použijeme vstavanú funkciu interp(VS,x,y,z) . Premenné X A r špecifikovať súradnice uzlových bodov, z je argument funkcie, VS definuje typ

okrajové podmienky na koncoch intervalu.

Definujme interpolačné funkcie pre tri typy kubických spline

Tu cspline (VX , VY) vráti vektor VS druhé derivácie pri približovaní sa ku kubickému polynómu v referenčných bodoch;

pspline(VX, VY) vráti vektor VS druhé derivácie pri približovaní sa k referenčným bodom k parabolickej krivke;

lspline(VX, VY) vráti vektor VS druhé derivácie pri približovaní sa k referenčným bodom priamky;

interp(VS, VX, VY, X) vráti hodnotu r(X) pre dané vektory VS, VX, VY a nastavenú hodnotu X.

Vypočítame hodnoty interpolačných funkcií v daných bodoch a výsledky porovnáme s presnými hodnotami

Upozorňujeme, že výsledky interpolácie rôznymi typmi kubických splajnov sú prakticky rovnaké vo vnútorných bodoch intervalu a zhodujú sa s presnými hodnotami funkcie. V blízkosti okrajov intervalu sa rozdiel stáva zreteľnejším a keď sa extrapoluje za daný interval, rôzne typy splajnov poskytujú výrazne odlišné výsledky. Pre lepšiu prehľadnosť prezentujme výsledky na grafe (obr. 3.5)

Ryža. 3.5 Kubická spline interpolácia

Ak je funkcia špecifikovaná diskrétne, potom sú na interpoláciu špecifikované dátové matice.

Pri globálnej interpolácii sa najčastejšie používa polynomická interpolácia. n-tý stupeň alebo Lagrangeova interpolácia.

Klasický prístup je založený na požiadavke striktného párovania hodnôt f(X) A j(X) v bodoch x i(i = 0, 1, 2, … n).

Budeme hľadať interpolačnú funkciu j(X) vo forme polynómu stupňa n.

Tento polynóm má n+ 1 koeficient. Je prirodzené to predpokladať n+ 1 podmienky

j(X 0) = r 0 , j(X 1) = r 1 , . . ., j(x n) = y n (3.4)

superponovaný na polynóm

umožňujú jednoznačne určiť jeho koeficienty. Naozaj, náročné na j(X) splnenie podmienok (3.4) , dostaneme systém n+ 1 rovnice s n+ 1 neznámy:

(3.6)

Riešenie tohto systému pre neznáme a 0 , a 1 , …, a n získame analytický výraz pre polynóm (3.5). Systém (3.6) má vždy jedinečné riešenie , pretože jeho determinant

známy v algebre ako Vandermondov determinant nenulové . to znamená , že interpolačný polynóm j(X) pre funkciu f(X), uvedený v tabuľke, existuje a je jedinečný.

Výsledná krivka prechádza presne danými bodmi. Mimo interpolačných uzlov môže mať matematický model významnú chybu

Lagrangeov interpolačný vzorec

Nech sú známe hodnoty nejakej funkcie f(X) V n+ 1 rôznych ľubovoľných bodov y i = f(x i) , i = 0,…, P. Na interpoláciu (obnovenie) funkcie v ľubovoľnom bode X, patriaci do segmentu [ x 0, x n], je potrebné zostrojiť interpolačný polynóm n-tého rádu, ktorý je v Lagrangeovej metóde reprezentovaný takto:

Navyše je ľahké si to všimnúť Qj(x i) = 0, Ak i¹ j, A Qj(x i) =1, Ak i= j. Ak rozšírime súčin všetkých zátvoriek v čitateli (v menovateli sú všetky zátvorky čísla), dostaneme polynóm n-tého rádu v X, keďže čitateľ obsahuje n faktorov prvého rádu. V dôsledku toho Lagrangeov interpolačný polynóm nie je nič iné ako obyčajný polynóm n-tého rádu, napriek špecifickej forme zápisu.

Odhadnite chybu interpolácie v určitom bode X od [ x 0, xn] (t. j. vyriešiť druhú

interpolačný problém) možno vykonať pomocou vzorca

Vo vzorci - maximálna hodnota (n+1)-tej derivácie pôvodnej funkcie f(X) na segmente [ x 0, xn]. Na odhadnutie chyby interpolácie sú preto potrebné nejaké dodatočné informácie o pôvodnej funkcii (to by malo byť pochopiteľné, keďže cez dané počiatočné body môže prejsť nekonečné množstvo rôznych funkcií, pre ktoré bude chyba iná). Takouto informáciou je derivácia rádu n+1, ktorú nie je také ľahké nájsť. Nižšie si ukážeme, ako sa z tejto situácie dostať. Všimnite si tiež, že použitie chybového vzorca je možné len vtedy, ak je funkcia diferencovateľná n +1-krát.

Na stavbu Lagrangeov interpolačný vzorec v MathCAD je vhodné túto funkciu použiť ak.

ak (podmienka, x, y)

Vráti hodnotu x, ak cond nie je 0 (pravda). Vráti hodnotu y, ak je cond 0 (nepravda) (obrázok 3.6).

Podobné články