Interpolācijas pēc kubiskā splaina piemēra risinājums. Splainu teorijas risinājumu piemēri. Īpaša splaina ierakstīšanas forma
KRIEVIJAS FEDERĀCIJAS IZGLĪTĪBAS UN ZINĀTNES MINISTRIJA
Federālā valsts autonomā izglītības iestāde
augstākā profesionālā izglītība
"Urāles federālā universitāte, kas nosaukta pirmā Krievijas prezidenta B. N. Jeļcina vārdā"
Radioelektronikas un informācijas tehnoloģiju institūts - RTF
nodaļa Automatizācija un informācijas tehnoloģijas
Splaina interpolācija
METODOLISKIE NORĀDĪJUMI laboratorijas darbiem DISCIPLINĀ “Ciparu metodes”
Sastādījusi vecākā skolotāja I.A.Selivanova.
INTERPOLĀCIJA AR SPlainiem: Vadlīnijas praktiskajām nodarbībām disciplīnā “Ciparu metodes”
Instrukcija paredzēta visu studiju formu studentiem virzienā 230100 - “Informātika un informātika”.
Ó Federālā valsts autonomā augstākās profesionālās izglītības iestāde "Urāles federālā universitāte, kas nosaukta pirmā Krievijas prezidenta B. N. Jeļcina vārdā", 2011.
1. INTERPOLĀCIJA AR SPlainiem. 4
1.1. Kubiskie splaini. 4
1.2. Īpaša splaina rakstīšanas forma. 5
1.3. Kvadrātiskie splaini. 13
1.4. Prakses uzdevums. 18
1.5. Uzdevumu iespējas. 19
Atsauces 21
1. Splaina interpolācija.
Gadījumos, kad intervāls [ a,b], kurā vēlaties aizstāt funkciju f(x) ir liels, var izmantot splainu interpolāciju.
1.1. Kubiskie splaini.
Interpolācijas splaini 3 secība - tās ir funkcijas, kas sastāv no polinomu daļām 3 th pasūtījums. Interfeisa mezglos tiek nodrošināta funkcijas un tās pirmā un otrā atvasinājuma nepārtrauktība. Aproksimēšanas funkcija sastāv no atsevišķiem polinomiem, parasti vienlīdz maziem, un katrs ir definēts savā segmenta daļā.
Ļaujiet uz segmentu [ a,
b] reālā ass x
ir norādīts režģis, kura mezglos tiek noteiktas vērtības
funkcijas f(x).
Ir jākonstruē segmentā [ a,
b] nepārtraukta splaina funkcija S(x),
kas atbilst šādiem nosacījumiem:
Lai izveidotu vēlamo splainu, jums jāatrod koeficienti
polinomi
,i=1,…
n, t.i. 4
n
nezināmi koeficienti, kas apmierina 4
n-2
vienādojumi (1), (2), (3). Lai vienādojumu sistēmai būtu risinājums, tiek pievienoti divi papildu (robežnosacījumi). Tiek izmantoti trīs veidu robežnosacījumi:
Nosacījumi (1), (2), (3) un viens no nosacījumiem (4), (5), (6) veido pasūtījuma SLAE 4 n. Sistēmu var atrisināt, izmantojot Gausa metodi. Taču, izvēloties īpašu kubiskā polinoma rakstīšanas formu, var būtiski samazināt risināmo vienādojumu sistēmas secību.
1.2. Īpaša splaina rakstīšanas forma.
Apsveriet segmentu
. Ieviesīsim šādus mainīgo apzīmējumus:
Šeit
- segmenta garums
,
,
- papildu mainīgie,
x– segmenta starppunkts
.
Kad x
iet cauri visām intervāla vērtībām
, mainīgs svārstās no 0 līdz 1 un
svārstās no 1 līdz 0.
Ļaujiet kubiskajam polinomam
segmentā
ir šāda forma:
Mainīgie lielumi Un
tiek noteiktas saistībā ar konkrētu interpolācijas segmentu.
Atradīsim splaina vērtību
segmenta galos
. Punkts
ir segmenta sākumpunkts
, Tāpēc =0,
=1 un saskaņā ar (3.8):
.
Segmenta beigās
=1,
=0 un
.
Par intervālu
punkts
ir ierobežots, tātad =1,
=0 un no formulas (9) iegūstam:
. Tādējādi ir izpildīts funkcijas nepārtrauktības nosacījums S(x)
kubiskā polinomu savienojuma punktos neatkarīgi no skaitļu izvēles i.
Lai noteiktu koeficientus i, i=0,… n Diferencēsim (8) divreiz kā kompleksu funkciju x. Tad
Definēsim splaina otros atvasinājumus
Un
:
Polinomam
punkts ir interpolācijas segmenta sākums un =0,
=1, tāpēc
No (15) un (16) izriet, ka intervālā [ a,b]splaina funkcijai, kas “salīmēta kopā” no 3. kārtas polinomu daļām, ir nepārtraukts 2. kārtas atvasinājums.
Lai iegūtu funkcijas pirmā atvasinājuma nepārtrauktību S(x), Pieprasīsim, lai iekšējās interpolācijas mezglos būtu izpildīti šādi nosacījumi:
Dabiskam kubiskā splainam
, tāpēc vienādojumu sistēma izskatīsies šādi:
un vienādojumu sistēma (17) izskatīsies šādi:
Piemērs.
Sākotnējie dati:
Nomaiņas funkcija
interpolējošs kubiskais splains, kura vērtības dotajos mezglpunktos (skat. tabulu) sakrīt ar funkcijas vērtībām tajos pašos punktos. Apsveriet dažādus robežnosacījumus.
Aprēķināsim funkcijas vērtību mezglpunktos. Lai to izdarītu, aizvietojiet vērtības no tabulas ar norādīto funkciju.
Apskatīsim pirmos robežnosacījumus.
Dažādiem robežnosacījumiem (4), (5), (6) atrodam kubisko splainu koeficientus.
Mūsu gadījumā n=3,
,
,
. Atrast
mēs izmantojam vienādojumu sistēmu (3.18):
Aprēķināsim Un , izmantojot formulas (7) un (11):
Aizstāsim iegūtās vērtības vienādojumu sistēmā:
.
Sistēmas risinājums:
Ņemot vērā pirmos robežnosacījumus, splaina koeficienti ir:
Apskatīsim splaina koeficientu definīciju, ņemot vērā robežnosacījumus (3.5):
Atradīsim funkcijas atvasinājumu
:
Aprēķināsim
Un
:
Aizvietosim vienādojumu sistēmā (21) vērtības Un :
Izmantojot formulu (20), mēs nosakām 0 un 3:
Ņemot vērā konkrētas vērtības:
un koeficientu vektors:
Aprēķināsim kubiskā splaina S(x) vērtības interpolācijas segmentu viduspunktos.
Segmentu viduspunkti:
Lai aprēķinātu kubiskā splaina vērtību interpolācijas segmentu vidū, mēs izmantojam formulas (7) un (9).
3.1.
Mēs atradīsim Un
:
Formulā (3.9) aizstājam koeficientus
3.2.
Mēs atradīsim Un
:
, robežnosacījumiem (4), (5), (6):
3.3.
Mēs atradīsim Un
:
Formulā (9) mēs aizstājam koeficientus
, robežnosacījumiem (4), (5), (6):
Izveidosim tabulu:
(1 kr.kond.) |
(2 kredītpunkti) |
(3 kredītpunkti) | ||
Vārds splains (angļu valodā "spline") nozīmē elastīgu lineālu, ko izmanto, lai zīmētu gludas līknes caur dotajiem plaknes punktiem. Šī universālā raksta formu katrā segmentā raksturo kubiskā parabola. Splainus plaši izmanto inženierzinātnēs, jo īpaši datorgrafikā. Tātad, par katru i– segments [ x i –1 ,x i], i= 1, 2,…, N, Mēs meklēsim risinājumu trešās pakāpes polinoma veidā:
S i(x)=a i +b i(x–x i)+c i(x–x i) 2 /2+d i(x–x i) 3 /6
Nezināmas izredzes a i , b i , c i , d i , i= 1, 2,..., N, mēs atrodam no:
Interpolācijas nosacījumi: S i(x i)=f i , i= 1, 2,..., N;S 1 (x 0)=f 0 ,
Funkciju nepārtrauktība S i(x i- 1 )=S i– 1 (x i –1), i= 2, 3,..., N,
Pirmā un otrā atvasinājuma nepārtrauktība:
S/i(x i- 1)=S/i– 1 (x i –1), S//i(x i –1)=S //i –1 (x i –1), i= 2, 3,..., N.
Ņemot vērā to, 4. definīcijai N nezināmos mēs iegūstam sistēmu 4 N-2 vienādojumi:
a i =f i , i= 1, 2,..., N,
b i h i – c i h i 2 /2+ d i h i 3 /6=f i – f i –1 , i= 1, 2,..., N,
b i – b i–1 = c i h i – d i h i 2 /2, i= 2, 3,..., N,
d i h i = c i – c i– 1 , i= 2, 3,..., N.
Kur h i =x i – x i – 1. Trūkstošie divi vienādojumi ir iegūti no papildu nosacījumiem: S //(a)=S //(b)=0. Var pierādīt, ka šajā gadījumā. Nezināmos var izslēgt no sistēmas b i, d i, saņemot sistēmu N+ 1 lineārie vienādojumi (SLAE) koeficientu noteikšanai c i:
c 0 = 0, c N = 0,
h i c i –1 + 2(h i + h i +1)c i + h i +1 c i +1 = 6 , i= 1, 2,…, N–1. (1)
Pēc tam tiek aprēķināti koeficienti b i, d i:
, i= 1, 2,..., N. (2)
Pastāvīga režģa gadījumā h i = hŠī vienādojumu sistēma ir vienkāršota.
Šim SLAE ir trīsdiagonāla matrica, un to atrisina ar slaucīšanas metodi.
Koeficientus nosaka pēc formulām:
Lai aprēķinātu vērtību S(x) patvaļīgā segmenta punktā z∈[a, b] nepieciešams atrisināt koeficientu vienādojumu sistēmu c i , i= 1,2,…, N–1, pēc tam atrodiet visus koeficientus b i, d i. Tālāk jums ir jānosaka, kuram intervālam [ x i 0, x i 0–1 ] šis punkts trāpa, un, zinot skaitli es 0, aprēķina splaina vērtību un tā atvasinājumus punktā z
S(z)=a i 0 +b i 0 (z–xi 0)+c i 0 (z–xi 0) 2 /2+d i 0 (z–xi 0) 3 /6
S/(z)=b i 0 +c i 0 (z–xi 0)+d i 0 (z–xi 0) 2 /2, S //(z)=c i 0 +d i 0 (z–xi 0).
Funkcijas vērtības punktos 0,25 un 0,8 ir jāaprēķina, izmantojot splaina interpolāciju.
Mūsu gadījumā: h i =1/4, .
Izrakstīsim vienādojumu sistēmu, lai noteiktu:
Atrisinot šo lineāro vienādojumu sistēmu, iegūstam: .
Apskatīsim punktu 0,25, kas pieder pirmajam segmentam, t.i. . Tāpēc mēs iegūstam,
Apskatīsim punktu 0,8, kas pieder pie ceturtā segmenta, t.i. .
Tāpēc
Globālā interpolācija
Kad globālā interpolācija visā intervālā tiek atrasts viens polinoms [ a, b], t.i. tiek konstruēts polinoms, ko izmanto, lai interpolētu funkciju f(x) visā argumenta x variācijas intervālā. Mēs meklēsim interpolācijas funkciju polinoma (polinoma) formā. m-th grāds P m(x)=a 0 +a 1 x+a 2 x 2 +a 3 x 3 +…+a m x m . Kādai jābūt polinoma pakāpei, lai izpildītu visus interpolācijas nosacījumus? Pieņemsim, ka tiek doti divi punkti: ( x 0 ,f 0) un ( x 1 ,f 1), t.i. N=1. Caur šiem punktiem var novilkt vienu taisnu līniju, t.i. interpolācijas funkcija būs pirmās pakāpes polinoms P 1 (x)=a 0 +a 1 x. Caur trim punktiem (N=2) var uzzīmēt parabolu P 2 (x)=a 0 +a 1 x+a 2 x 2 utt. Spriežot šādā veidā, mēs varam pieņemt, ka vēlamajam polinomam ir jābūt pakāpei N .
Lai to pierādītu, mēs izrakstām koeficientu vienādojumu sistēmu. Sistēmas vienādojumi atspoguļo katra interpolācijas nosacījumus x=xi:
Šī sistēma ir lineāra attiecībā pret nepieciešamajiem koeficientiem a 0 , a 1 , a 2 , …,a N. Ir zināms, ka SLAE ir risinājums, ja tā determinants nav nulle. Šīs sistēmas noteicējs
nes vārdu Vandermonda noteicējs. No matemātiskās analīzes kursa ir zināms, ka tas atšķiras no nulles, ja x k≠x m(t.i., visi interpolācijas mezgli ir atšķirīgi). Tādējādi ir pierādīts, ka sistēmai ir risinājums.
Mēs to esam parādījuši, lai atrastu koeficientus
a 0 , a 1 , a 2 ,
…,a N ir jāatrisina SLAE, kas ir grūts uzdevums. Bet ir arī cits veids, kā izveidot polinomu N-th pakāpe, kas neprasa atrisināt šādu sistēmu.
Lagranža polinoms
Mēs meklējam risinājumu formā , Kur l i(z) – bāzes polinomi N- pakāpe, kurai nosacījums ir izpildīts: . Pārliecināsimies, ka, ja tiek konstruēti šādi polinomi, tad L N (x) atbilst interpolācijas nosacījumiem:
Kā konstruēt bāzes polinomus? Definēsim
, i= 0, 1,..., N.
To ir viegli saprast
Funkcija l i(z) ir polinoms N-th grāds no z un tam ir izpildīti “pamata” nosacījumi:
0, i≠k;, t.i. k=1,…,i-1 vai k=i+1,…,N.
Tādējādi mēs varējām atrisināt interpolējošā polinoma konstruēšanas problēmu N– grādu, un šim nolūkam jums nav jāatrisina SLAE. Lagranža polinomu var uzrakstīt kā kompaktu formulu: . Šīs formulas kļūdu var novērtēt, ja sākotnējā funkcija g(x) ir atvasinājumi līdz N+ 1.kārta:
No šīs formulas izriet, ka metodes kļūda ir atkarīga no funkcijas īpašībām g(x), kā arī interpolācijas mezglu un punktu atrašanās vieta z. Kā liecina aprēķinu eksperimenti, Lagranža polinomā ir neliela kļūda mazām vērtībām N<20 . Pie lielāka N kļūda sāk pieaugt, kas norāda, ka Lagranža metode nekonverģē (t.i., tās kļūda nesamazinās, palielinoties N).
Apskatīsim īpašus gadījumus. Pieņemsim, ka N=1, t.i. Funkcijas vērtības ir norādītas tikai divos punktos. Tad pamata polinomiem ir šāda forma:
, t.i. iegūstam formulas gabalveida lineārajai interpolācijai.
Ļaujiet N=2. Pēc tam:
Rezultātā ieguvām formulas t.s kvadrātiskā vai paraboliskā interpolācija.
Piemērs: Tiek dotas noteiktas funkcijas vērtības:
x | 3.5 | |||
f | -1 | 0.2 | 0.5 | 0.8 |
Ir jāatrod funkcijas vērtība, kad z= 1, izmantojot Lgrange interpolācijas polinomu. Ad hoc N=3, t.i. Lagranža polinoms ir trešās kārtas. Aprēķināsim bāzes polinomu vērtības pie z=1:
Empīrisko formulu izvēle
Interpolējot funkcijas, mēs izmantojām interpolācijas polinoma un dotās funkcijas vērtību vienādības nosacījumu interpolācijas mezglos. Ja sākotnējie dati iegūti eksperimentālo mērījumu rezultātā, tad precīzas atbilstības prasība nav nepieciešama, jo dati netika iegūti precīzi. Šādos gadījumos jūs varat pieprasīt tikai aptuvenu interpolācijas nosacījumu izpildi. Šis nosacījums nozīmē, ka interpolācijas funkcija F(x) iet ne gluži caur dotajiem punktiem, bet kādā to apkārtnē, piemēram, kā parādīts att.
Tad viņi runā par empīrisko formulu izvēle. Empīriskās formulas konstruēšana sastāv no diviem posmiem6, kurā tiek izvēlēts šīs formulas veids, kas satur nezināmus parametrus, un noteiktā ziņā vislabākais no šiem parametriem. Formulas forma dažkārt ir zināma no fiziskiem apsvērumiem (elastīgai videi sakarība starp spriegumu un deformāciju) vai tiek izvēlēta no ģeometriskiem apsvērumiem: eksperimentālie punkti tiek attēloti grafikā, un sakarības vispārējā forma tiek aptuveni uzminēta, salīdzinot. iegūto līkni ar svara funkciju grafikiem. Panākumus šeit lielā mērā nosaka pētnieka pieredze un intuīcija.
Praksē svarīgs ir funkcijas tuvināšanas gadījums ar polinomiem, t.i. .
Pēc empīriskās atkarības veida izvēles tiek noteikta tuvuma pakāpe empīriskajiem datiem, izmantojot aprēķināto un eksperimentālo datu noviržu kvadrātu minimālā summa.
Mazākā kvadrāta metode
Ļaujiet sākotnējiem datiem x i , f i , i= 1,…,N (labāk numerāciju sākt no viena), Izvēlētais empīriskās atkarības veids ir: ar nezināmiem koeficientiem. Pierakstīsim noviržu kvadrātu summu starp tām, kas aprēķinātas, izmantojot empīrisko formulu, un dotajiem eksperimentālajiem datiem:
Mēs atradīsim parametrus no nosacījuma funkcijas minimumam . Tas ir mazāko kvadrātu metode (LSM).
Ir zināms, ka minimālajā punktā visi parciālie atvasinājumi ir vienādi ar nulli:
(1)
Apskatīsim mazāko kvadrātu izmantošanu īpašam gadījumam, kas tiek plaši izmantots praksē. Kā empīrisku funkciju apsveriet polinomu
Formula (1) kvadrātu noviržu summas noteikšanai būs šāda:
Aprēķināsim atvasinājumus:
Pielīdzinot šīs izteiksmes nullei un savācot koeficientus nezināmajiem, iegūstam šādu lineāro vienādojumu sistēmu.
Lagranža, Ņūtona un Stērlinga uc interpolācijas formulas, ja tiek izmantots liels skaits interpolācijas mezglu visā segmentā [ a, b] bieži vien rada sliktu tuvinājumu, jo aprēķinu procesā uzkrājas kļūdas. Turklāt interpolācijas procesa atšķirības dēļ mezglu skaita palielināšana ne vienmēr palielina precizitāti. Lai samazinātu kļūdas, viss segments [ a, b] ir sadalīts daļējos segmentos un katrā no tiem funkcija tiek aptuveni aizstāta ar zemas pakāpes polinomu. Tas tiek saukts pa daļām polinoma interpolācija.
Viena no interpolācijas metodēm visā segmentā [ a, b] ir splaina interpolācija.
Splains ir pa daļām polinoma funkcija, kas definēta intervālā [ a, b] un ar noteiktu skaitu nepārtrauktu atvasinājumu šajā segmentā. Splaina interpolācijas priekšrocības salīdzinājumā ar parastajām interpolācijas metodēm ir skaitļošanas procesa konverģence un stabilitāte.
Apskatīsim vienu no praksē izplatītākajiem gadījumiem - funkcijas interpolāciju kubiskais splains.
Ļaujiet uz segmentu [ a, b] ir norādīta nepārtraukta funkcija. Ieviesīsim segmenta nodalījumu:
un apzīmē , .
Splains, kas atbilst noteiktai funkcijai un interpolācijas mezgliem (6), ir funkcija, kas atbilst šādiem nosacījumiem:
1) katrā segmentā funkcija ir kubiskais polinoms;
2) funkcija, kā arī tās pirmais un otrais atvasinājums ir nepārtraukti intervālā [ a, b] ;
Trešo nosacījumu sauc interpolācijas nosacījums. Tiek izsaukts splains, ko nosaka nosacījumi 1) – 3). interpolācijas kubiskais splains.
Apskatīsim metodi kubiskā splaina konstruēšanai.
Katrā no segmentiem, Mēs meklēsim splaina funkciju trešās pakāpes polinoma formā:
(7)
Kur nepieciešamos koeficientus.
Atšķirsim (7) trīs reizes attiecībā uz X:
no kurienes seko
No interpolācijas nosacījuma 3) iegūstam:
Tas izriet no funkcijas nepārtrauktības nosacījumiem.
Praktiskajās problēmās sastopamajām līknēm un virsmām bieži ir diezgan sarežģīta forma, kas neļauj veikt universālu analītisko uzdevumu kopumā, izmantojot elementāras funkcijas. Tāpēc tie ir salikti no salīdzinoši vienkāršiem gludiem fragmentiem - segmentiem (līknēm) vai griezumiem (virsmām), no kuriem katru var diezgan apmierinoši aprakstīt, izmantojot viena vai divu mainīgo elementāras funkcijas. Šajā gadījumā ir diezgan dabiski pieprasīt, lai gludajām funkcijām, kuras tiek izmantotas daļēju līkņu vai virsmu konstruēšanai, jābūt līdzīgam, piemēram, tām jābūt vienādas pakāpes polinomiem. Un, lai iegūtais izliekums vai virsma būtu pietiekami gluda, jums ir jābūt īpaši uzmanīgiem, kur attiecīgie fragmenti savienojas. Polinomu pakāpe tiek izvēlēta no vienkāršiem ģeometriskiem apsvērumiem un, kā likums, ir maza. Lai vienmērīgi mainītu tangensu visā saliktajā līknē, pietiek aprakstīt savienotās līknes, izmantojot trešās pakāpes polinomus, kubiskos polinomus. Šādu polinomu koeficientus vienmēr var izvēlēties tā, lai atbilstošās saliktās līknes izliekums būtu nepārtraukts. Kubiskās splainas, kas rodas, risinot viendimensijas uzdevumus, var tikt pielāgotas kompozītmateriālu virsmu fragmentu konstrukcijai. Un šeit diezgan dabiski parādās bikubiskie splaini, kas aprakstīti, izmantojot trešās pakāpes polinomus katrā no diviem mainīgajiem. Darbs ar šādiem splainiem prasa ievērojami lielāku aprēķinu apjomu. Bet pareizi organizēts process ļaus maksimāli ņemt vērā nepārtraukti pieaugošās datortehnoloģiju iespējas. Splaina funkcijas Ļaut uz segmentu, tas ir, piezīme. To norāda skaitļu a^ indekss (t). ka koeficientu kopa, kas nosaka funkciju 5(x) katrā daļējā segmentā D, ir atšķirīga. Katrā no segmentiem D1 splains 5(x) ir p pakāpes polinoms, un šajā segmentā to nosaka ar koeficientu p + 1. Kopējie daļējie segmenti - tad. Tas nozīmē, ka, lai pilnībā noteiktu splainu, ir jāatrod (p + 1)tad skaitļi. Nosacījums) nozīmē funkcijas 5(x) un tās atvasinājumu nepārtrauktību visos režģa w iekšējos mezglos. Šādu mezglu skaits ir m - 1. Tādējādi, lai atrastu visu polinomu koeficientus, tiek iegūti p(m - 1) nosacījumi (vienādojumi). Lai pilnībā definētu splainu, nav pietiekami daudz nosacījumu (vienādojumu). Papildu nosacījumu izvēli nosaka izskatāmās problēmas raksturs un dažreiz vienkārši lietotāja vēlme. SPLINE TEORIJAS risinājumu piemēri Interpolācijas un izlīdzināšanas uzdevumi visbiežāk tiek aplūkoti, kad ir nepieciešams izveidot vienu vai otru splainu no noteikta plaknes punktu masīva Interpolācijas uzdevumiem ir nepieciešams, lai splaina grafiks izietu caur punktiem, kas uzliek m + 1 papildu nosacījumi (vienādojumi) uz tā koeficientiem. Atlikušie p - 1 nosacījumi (vienādojumi) unikālai splaina konstrukcijai visbiežāk tiek norādīti splaina apakšējo atvasinājumu vērtību veidā apskatāmā segmenta galos [a, 6] - robeža ( mala) nosacījumi. Iespēja izvēlēties dažādus robežnosacījumus ļauj konstruēt splainus ar dažādām īpašībām. Izlīdzināšanas uzdevumos splains tiek konstruēts tā, lai tā grafiks iet tuvu punktiem (i""Y"), * = 0, 1,..., t, nevis caur tiem. Šīs tuvuma mēru var definēt dažādos veidos, kā rezultātā rodas ievērojama izlīdzināšanas līniju dažādība. Aprakstītās izvēles iespējas, veidojot splainu funkcijas, neizsmeļ visu to daudzveidību. Un, ja sākotnēji tika ņemtas vērā tikai pa daļām polinomu splainu funkcijas, tad, paplašinoties to pielietojuma jomai, sāka parādīties splaini, kas “salīmēti kopā” no citām elementārām funkcijām. Interpolācijas kubiskie splaini Interpolācijas uzdevuma formulējums Nogriežam [a, 6 ir dots režģis w. Aplūkosim skaitļu kopu Uzdevums. Konstruējiet segmentā vienmērīgu funkciju (a, 6], kas ņem noteiktas vērtības režģa mezglos o", tas ir, Piezīme: Formulētā interpolācijas problēma sastāv no gludas funkcijas, kas norādīta tabulā (2. att.) atjaunošana. Ir skaidrs, ka šādai problēmai ir daudz dažādu risinājumu Izvirzot papildu nosacījumus konstruētajai funkcijai, ir iespējams sasniegt nepieciešamo unikalitāti Lietojumprogrammās bieži vien ir nepieciešams aproksimēt funkciju, kas definēta analītiski, izmantojot funkciju ar noteikto pietiekami labu. Piemēram, gadījumos, kad noteiktas funkcijas /(x) vērtību aprēķināšana punktos segmentā [a, 6] ir saistīta ar būtiskām grūtībām un/vai dotajai funkcijai /(x) nav nepieciešamais gludums, ir ērti izmantot citu funkciju, kas diezgan labi aproksimētu doto funkciju un būtu bez tās atzīmētajiem trūkumiem Funkciju interpolācijas uzdevums Nozarē [a, 6] konstruēt gludu funkciju a(x), kas sakrīt režģa mezgli w ar doto funkciju f(x). Interpolējošā kubiskā splaina definīcija Interpolējošais kubiskais splains S(x) uz sieta w ir funkcija, kas 1) katrā no segmentiem ir trešās pakāpes polinoms, 2) ir divreiz nepārtraukti diferencējama segmentā [a, b ], tas ir, pieder klasei C2[ a, 6], un 3) atbilst nosacījumiem. Katrā no segmentiem splains S(x) ir trešās pakāpes polinoms un šajā segmentā tiek noteikts ar četriem koeficientiem. . Kopējais segmentu skaits ir m. Tas nozīmē, ka, lai pilnībā definētu splainu, ir jāatrod 4m skaitļi. Nosacījums nozīmē funkcijas S(x) un tās atvasinājumu S"(x) un 5" nepārtrauktību (x) visos iekšējos tīkla mezglos w. Šādu mezglu skaits ir m - 1. Tādējādi, lai atrastu visu polinomu koeficientus, tiek iegūti vēl 3(m - 1) nosacījumi (vienādojumi). Kopā ar nosacījumiem (2) tiek iegūti nosacījumi (vienādojumi). Robežnosacījumi Splaina un/vai tā atvasinājumu vērtību ierobežojumu veidā intervāla [a, 6] beigās ir norādīti divi trūkstošie nosacījumi. Konstruējot interpolācijas kubisko splainu, visbiežāk tiek izmantoti šādi četri robežnosacījumu veidi. A. 1. tipa robežnosacījumi. - intervāla [a, b] beigās ir norādītas vēlamās funkcijas pirmā atvasinājuma vērtības. B. 2. tipa robežnosacījumi. - intervāla (a, 6) beigās ir norādītas vēlamās funkcijas otrā atvasinājuma vērtības. B. 3. tipa robežnosacījumi. tiek saukti par periodiskiem. Ir dabiski pieprasīt šo nosacījumu izpildi gadījumos, kad interpolētā funkcija ir periodiska ar periodu T = b-a. D. 4. tipa robežnosacījumi. nepieciešams īpašs komentārs. Komentārs. Iekšējos sepsi mezglos funkcijas S (x) trešais atvasinājums, vispārīgi runājot, ir pārtraukts. Tomēr trešā atvasinājuma pārtraukumu skaitu var samazināt, izmantojot 4. tipa nosacījumus. Šajā gadījumā konstruētais splains būs nepārtraukti diferencējams trīs reizes uz intervāliem Interpolējošā kubiskā splaina konstruēšana Aprakstīsim kubiskā splaina koeficientu aprēķināšanas metodi, kurā nosakāmo lielumu skaits ir vienāds. Uz katra no intervāliem tiek meklēta interpolācijas splaina funkcija šādā formā.Šeit SPLINE TEORIJAS risinājumu un skaitļu piemēri ir risinājums lineāro algebrisko vienādojumu sistēmai, kuras forma ir atkarīga no robežnosacījumu veida. 1. un 2. tipa robežnosacījumiem šai sistēmai ir šāda forma, kur koeficienti ir atkarīgi no robežnosacījumu izvēles. 1. tipa robežnosacījumi: 2. tipa robežnosacījumi: 3. tipa robežnosacījumu gadījumā skaitļu noteikšanas sistēmu raksta šādi: Nezināmo skaits pēdējā sistēmā ir vienāds ar mn, jo no periodiskuma nosacījumiem izriet, ka po = nm. 4. tipa robežnosacījumiem skaitļu noteikšanas sistēmai ir forma, kur Pamatojoties uz sistēmas atrasto risinājumu, skaitļus po un n var noteikt, izmantojot formulas.. Svarīga piezīme. Visu trīs lineāro algebrisko sistēmu matricas ir diagonāli dominējošās matricas. Matricas nav vienskaitļa, un tāpēc katrai no šīm sistēmām ir unikāls risinājums. Teorēma. Interpolējošs kubiskais splains, kas atbilst nosacījumiem (2) un robežnosacījumam vienam no četriem iepriekš uzskaitītajiem veidiem, pastāv un ir unikāls. Tādējādi konstruēt interpolējošo kubisko splainu nozīmē atrast tā koeficientus, kad splaina koeficienti ir atrasti, splaina S(x) vērtību patvaļīgā segmenta [a, b] punktā var atrast, izmantojot formulu (3). . Tomēr praktiskiem aprēķiniem piemērotāks ir šāds algoritms vērtības 5(g) atrašanai. Pieņemsim x 6 [x", Vispirms, izmantojot formulas, tiek aprēķinātas A un B vērtības un pēc tam tiek atrasta vērtība 5(x): Šī algoritma izmantošana ievērojami samazina vērtības noteikšanas skaitļošanas izmaksas. Padomi lietotājs Robežnosacījumu (malu) un interpolācijas mezglu izvēle ļauj zināmā mērā kontrolēt interpolācijas splainu īpašības. A. Robežnosacījumu (malu) izvēle. Robežnosacījumu izvēle ir viena no galvenajām interpolēšanas funkciju problēmām. Īpaši svarīgi tas kļūst gadījumā, ja ir nepieciešams nodrošināt augstu funkcijas f(x) aproksimācijas precizitāti ar splainu 5(g) pie segmenta [a, 6) galiem. Robežvērtībām ir ievērojama ietekme uz splaina 5(g) uzvedību punktu a un b tuvumā, un šī ietekme ātri vājinās, attālinoties no tiem. Robežnosacījumu izvēli bieži nosaka papildu informācijas pieejamība par aproksimētās funkcijas f(x) uzvedību. Ja segmenta (a, 6) galos ir zināmas pirmā atvasinājuma f"(x) vērtības, tad dabiski ir izmantot 1. tipa robežnosacījumus. Ja otrā atvasinājuma vērtības f"(x) ir zināmi segmenta [a, 6] galos, tad tie ir 2. tipa dabiskās lietošanas robežnosacījumi. Ja ir iespēja izvēlēties starp 1. un 2. tipa robežnosacījumiem, tad priekšroka jādod 1. tipa nosacījumiem. Ja f(x) ir periodiska funkcija, tad mums vajadzētu apstāties pie 3. tipa robežnosacījumiem. Ja nav papildu informācijas par aproksimētās funkcijas uzvedību, bieži tiek izmantoti tā sauktie naturālie robežnosacījumi, tomēr jāņem vērā, ka ar šādu robežnosacījumu izvēli funkcijas aproksimācijas precizitāte f( x) ar splainu S(x) pie segmenta galiem (a, ft] strauji samazinās. Dažreiz tiek izmantoti 1. vai 2. tipa robežnosacījumi, bet ne ar precīzām atbilstošo atvasinājumu vērtībām, bet gan ar to atšķirību aproksimācijas Šīs pieejas precizitāte ir zema Praktiskā aprēķinu pieredze liecina, ka aplūkojamajā situācijā piemērotākā izvēle ir 4. tipa robežnosacījumi. B. Interpolācijas mezglu izvēle. Ja funkcijas trešajam atvasinājumam f""(x) ir pārtraukums dažos segmenta [a, b] punktos, tad, lai uzlabotu aproksimācijas kvalitāti, šie punkti jāiekļauj interpolācijas mezglu skaitā. Ja otrais atvasinājums /"(x) ir pārtraukts, tad, lai izvairītos no splaina svārstībām pārtraukuma punktu tuvumā, ir jāveic īpaši pasākumi. Parasti interpolācijas mezglus izvēlas tā, lai otrā atvasinājuma pārtraukuma punkti kristu. intervāla \xif) iekšpusē. Vērtību a var izvēlēties ar skaitlisku eksperimentu (bieži vien pietiek ar a = 0.01). Ir virkne recepšu, kā pārvarēt grūtības, kas rodas, kad pirmais atvasinājums f" (x) ir pārtraukta. Kā vienu no vienkāršākajiem mēs varam ieteikt šādu: sadaliet aproksimācijas segmentu intervālos, kur atvasinājums ir nepārtraukts, un katram no šiem intervāliem izveidojiet splainu. Interpolācijas funkcijas izvēle (plusi un mīnusi) 1. pieeja. Lagranža interpolācijas polinoms Dotā masīva SPLINE TEORIJAS risinājumu piemēriem (3. att.) Lagranža interpolācijas polinomu nosaka pēc formulas Lagranža interpolācijas polinoma īpašības vēlams aplūkot no divām pretējām pozīcijām, galvenās priekšrocības apspriežot atsevišķi no trūkumi. Galvenās 1. pieejas priekšrocības: 1) Lagranža interpolācijas polinoma grafiks iet cauri katram masīva punktam, 2) konstruētā funkcija ir viegli aprakstāma (Lagranža interpolācijas polinoma koeficientu skaits uz režģa, kas jānosaka, ir vienāds ar m + 1), 3) konstruētajai funkcijai ir nepārtraukti jebkuras kārtas atvasinājumi, 4) interpolācijas polinomu unikāli nosaka dotais masīvs. Pirmās pieejas galvenie trūkumi: 1) Lagranža interpolācijas polinoma pakāpe ir atkarīga no režģa mezglu skaita, un, jo lielāks šis skaitlis, jo augstāka ir interpolācijas polinoma pakāpe un līdz ar to ir nepieciešams vairāk aprēķinu, 2) mainot vismaz vienu punktu masīvā, nepieciešams pilnībā pārrēķināt Lagranža interpolācijas polinoma koeficientus, 3) pievienojot masīvam jaunu punktu, Lagranža interpolācijas polinoma pakāpe palielinās par vienu, kā arī noved pie tā koeficientu pilnīgas pārrēķina , 4) ar neierobežotu acu precizēšanu Lagranža interpolācijas polinoma pakāpe palielinās bezgalīgi. Lagranža interpolācijas polinoma darbībai ar neierobežotu acu precizēšanu parasti ir jāpievērš īpaša uzmanība. Komentāri A. Par nepārtrauktas funkcijas aproksimāciju ar polinomu. Ir zināms (Weierstrass, 1885), ka jebkuru nepārtrauktu (un vēl jo vairāk vienmērīgu) funkciju šajā intervālā var tuvināt, kā arī vēlēties šajā intervālā ar polinomu. Aprakstīsim šo faktu formulu valodā. Lai f(x) ir nepārtraukta funkcija intervālā [a, 6]. Tad jebkuram e > 0 ir tāds polinoms Є(x), ka jebkuram x no intervāla [a, 6] tiks izpildīta nevienādība (4. att.) Ņemiet vērā, ka pat tādas pašas pakāpes polinomi, kas tuvina funkciju f(x) ar norādīto precizitāti , to ir bezgalīgi daudz. Konstruēsim režģi w uz segmenta [a, 6]. Skaidrs, ka tā mezgli, vispārīgi runājot, nesakrīt ar polinoma Pn(x) un funkcijas f(x) grafiku krustpunktiem (5. att.). Tāpēc dotajam tīklam polinoms Pn(x) nav interpolācija. Ja nepārtrauktu funkciju aproksimē ar Jla-grača interpolācijas polinomu, tās grafam ne tikai nav jābūt tuvu funkcijas f(x) grafikam katrā segmenta [a, b] punktā, bet tas var atšķirties no šo funkciju tik daudz, cik vēlaties. Sniegsim divus piemērus. 1. piemērs (Rung, 1901). Neierobežoti palielinot mezglu skaitu funkcijai intervālā [-1, 1], tiek izpildīta robežvienādība (6. att.) 2. piemērs (Beristein, 1912). Lagranža interpolācijas polinomu secība, kas konstruēta uz vienotiem režģiem nepārtrauktai funkcijai /(x) = |x| segmentā ar pieaugošu mezglu skaitu m netiecas uz funkciju /(x) (7. att.). 2. pieeja. Daļēja lineārā interpolācija Ja atsakās no interpolētās funkcijas gluduma, attiecību starp priekšrocību skaitu un trūkumu skaitu var manāmi mainīt uz pirmo. Konstruēsim pa daļām lineāru funkciju, secīgi savienojot punktus (xit y) ar taisnes posmiem (8. att.). Galvenās 2. pieejas priekšrocības: 1) gabalos lineāras funkcijas grafiks iet caur katru masīva punktu, 2) konstruētā funkcija ir viegli aprakstāma (atbilstošo lineāro funkciju koeficientu skaits, kas jānosaka režģim ( 1) ir 2m), 3) konstruēto funkciju dotais masīvs definē unikāli, 4) interpolācijas funkcijas aprakstīšanai izmantoto polinomu pakāpe nav atkarīga no režģa mezglu skaita (vienāds ar 1), 5) mainās vienam masīva punktam ir jāaprēķina četri skaitļi (divu taisnu saišu koeficienti, kas izriet no jaunā punkta), 6) lai masīvam pievienotu papildu punktu, ir jāaprēķina četri koeficienti. Pa daļām lineārā funkcija arī darbojas diezgan labi, uzlabojot sietu. Galvenais 2. pieejas trūkums: aproksimējošā gabalveida lineārā funkcija nav gluda: pirmie atvasinājumi saskaras ar pārtraukumiem režģa mezglos (interpolācijas ausīs). 3. pieeja. Splaina interpolācija Piedāvātās pieejas var kombinēt tā, lai saglabātu abu pieeju uzskaitīto priekšrocību skaitu, vienlaikus samazinot trūkumu skaitu. To var izdarīt, konstruējot vienmērīgu p pakāpes interpolācijas splainu funkciju. Galvenās 3. pieejas priekšrocības: 1) konstruētās funkcijas grafiks iet cauri katram masīva punktam, 2) konstruētā funkcija ir salīdzinoši viegli aprakstāma (atbilstošo polinomu koeficientu skaits, kas jānosaka režģim ( 1) ir vienāds ar 3) konstruētā funkcija ir unikāli definēta ar doto masīvu, 4) pakāpes polinomi nav atkarīgi no režģa mezglu skaita un tāpēc nemainās, pieaugot, 5) konstruētajai funkcijai ir nepārtraukts atvasinājumi līdz pakāpei p - 1 ieskaitot, 6) konstruētajai funkcijai ir labas aproksimācijas īpašības. Īsa informācija. Piedāvātais nosaukums - splains - nav nejaušs - mūsu ieviestās gludās pa daļām polinomiskās funkcijas un splainu zīmēšana ir cieši saistītas. Apskatīsim elastīgu ideāli plānu lineālu, kas iet cauri masīva atskaites punktiem, kas atrodas (x, y) plaknē. Saskaņā ar Bernulli-Eulera likumu izliekta lineāla linearizētajam vienādojumam ir tāda forma, kur S(x) ir liece, M(x) ir lieces moments, kas lineāri mainās atkarībā no balsta, E1 ir lineāla stingrība. . Funkcija S(x), kas apraksta formulas līnijas, ir trešās pakāpes polinoms starp katru un diviem blakus esošajiem masīva punktiem (balstiem) un ir divreiz nepārtraukti diferencējama visā intervālā (a, 6). Komentārs. 06 nepārtrauktas funkcijas interpolēšana Atšķirībā no Lagranža interpolācijas polinomiem, interpolējošo kubisko splainu secība uz vienmērīga tīkla vienmēr saplūst ar interpolācijas nepārtraukto funkciju, un, uzlabojoties šīs funkcijas diferenciālajām īpašībām, konverģences ātrums palielinās. Piemērs. Funkcijai kubiskais splains režģī ar mezglu skaitu m = 6 dod aproksimācijas kļūdu tādā pašā secībā kā interpolācijas polinomam Ls(z), un režģī ar mezglu skaitu m = 21 šī kļūda ir tik mazs, ka parastā grāmatas zīmējuma mērogā tā vienkārši nav, var parādīt (10. att.) (interpolācijas polinoms 1>2o(r) šajā gadījumā dod kļūdu ap 10 000 J). Interpolācijas kubiskā splaina īpašības A. Kubiskā splaina aproksimācijas īpašības. Interpolācijas splaina aproksimācijas īpašības ir atkarīgas no funkcijas f(x) gluduma - jo augstāks ir interpolētās funkcijas gludums, jo augstāka ir aproksimācijas kārtība un, precizējot sietu, jo lielāks ir konverģences ātrums. Ja interpolētā funkcija f(x) ir nepārtraukta intervālā Ja interpolētajai funkcijai f(x) ir nepārtraukts pirmais atvasinājums intervālā [a, 6], tas ir, interpolācijas splains, kas apmierina 1. vai 3. robežnosacījumus. tips, tad h O mums ir Šajā gadījumā ne tikai splains konverģē uz interpolēto funkciju, bet arī splaina atvasinājums konverģē uz šīs funkcijas atvasinājumu. Ja splains S(x) tuvina funkciju f(x) segmentā [a, b] un tā pirmais un otrais atvasinājums attiecīgi tuvina funkciju B. Kubiskā splaina ekstrēmā īpašība. Interpolējošajam kubiskajam splainam ir vēl viena noderīga īpašība. Apsveriet šādu piemēru. piemērs. Konstruējiet funkciju /(x), kas minimizē funkcionālo funkciju klasei no telpas C2, kuras grafiki iet cauri masīva punktiem. Starp visām funkcijām, kas iet caur atskaites punktiem (x;, /(x, )) un kas pieder norādītajai telpai, tas ir kubiskais splains 5( x), kas apmierina robežnosacījumus, piegādā funkcionālam ekstrēmu (minimumu) Piezīme 1. Bieži vien šī ekstrēmā īpašība tiek uzskatīta par interpolējošā kubika definīciju. splains. 2. piezīme. Interesanti atzīmēt, ka interpolējošajam kubiskajam splainam ir iepriekš aprakstītā ekstrēmā īpašība ļoti plašai funkciju klasei, proti, klasei |o, 5]. 1.2. Kubisko splainu izlīdzināšana Par izlīdzināšanas uzdevuma formulēšanu Dot režģi un skaitļu kopu Komentāri par sākumdatiem Praksē bieži nākas saskarties ar gadījumu, kad y vērtības masīvā tiek norādītas ar kādu kļūda. Faktiski tas nozīmē, ka katram ir norādīts intervāls un jebkuru skaitli no šī intervāla var uzskatīt par y vērtību, . Ir ērti interpretēt y vērtības, piemēram, kā kādas funkcijas y(x) mērījumu rezultātus noteiktām mainīgā x vērtībām, kas satur nejaušu kļūdu. Risinot funkcijas atjaunošanas problēmu no šādām “eksperimentālām” vērtībām, nav ieteicams izmantot interpolāciju, jo interpolācijas funkcija paklausīgi atveidos dīvainas svārstības, ko izraisa nejaušs komponents masīvā (y,). Dabiskāka pieeja ir balstīta uz izlīdzināšanas procedūru, kas paredzēta, lai kaut kādā veidā samazinātu nejaušības elementu mērījumu rezultātos. Parasti šādos uzdevumos ir jāatrod funkcija, kuras vērtības x = x, * = 0, 1,... m ietilptu atbilstošos intervālos un kurai piedevām būtu diezgan labas īpašības. Piemēram, tam būtu nepārtraukts pirmais un otrais atvasinājums, vai arī tā grafiks nebūtu pārāk stipri izliekts, tas ir, tam nebūtu spēcīgu svārstību. Šāda veida problēma rodas arī tad, kad, ņemot vērā doto (precīzi) masīvu, ir jākonstruē funkcija, kas neiet caur dotajiem punktiem, bet to tuvumā un turklāt mainās diezgan gludi. Citiem vārdiem sakot, vajadzīgā funkcija, šķiet, izlīdzināja doto masīvu, nevis interpolēja to. Dots režģis w un divas skaitļu kopas SPLINE TEORIJAS risinājuma piemēri Problēma. Konstruējiet gludu funkciju segmentā [a, A], kuras vērtības režģa mezglos u atšķiras no skaitļiem y par dotajām vērtībām. Formulētā izlīdzināšanas problēma ir restaurācija gluda funkcija, kas norādīta tabulā. Ir skaidrs, ka šādai problēmai ir daudz dažādu risinājumu. Izvirzot papildu nosacījumus konstruētajai funkcijai, var panākt nepieciešamo nepārprotamību. Izlīdzināšanas kubiskā splaina definīcija Izlīdzināšanas kubiskais splains S(x) uz režģa w ir funkcija, kas 1) katrā no segmentiem ir trešās pakāpes polinoms, 2) ir divreiz nepārtraukti diferencējama segmentā [a, 6 ], tas ir, pieder pie klases C2 [a , b], 3) nodrošina minimumu funkcionālajam, kur ir dotie skaitļi, 4) atbilst robežnosacījumiem vienam no trim tālāk norādītajiem veidiem. Robežnosacījumi Robežnosacījumi ir norādīti splaina un tā atvasinājumu vērtību ierobežojumu veidā režģa w robežmezglos. A. 1. tipa robežnosacījumi. - intervāla [a, b) beigās ir norādītas vēlamās funkcijas pirmā atvasinājuma vērtības. 2. tipa robežnosacījumi. - vēlamās funkcijas otrie atvasinājumi intervāla galos (a, b] ir vienādi ar nulli. B. 3. tipa robežnosacījumus sauc par periodiskiem. Teorēma. Kubiskais splains S(x), minimizējot funkcionālo (4) un apmierina viena no trim iepriekšminētajiem tipiem robežnosacījumus, ir unikāli definēts Definīcija.Kubiskais splains, kas samazina funkcionālo J(f) un apmierina i-gotipa robežnosacījumus, sauc par i-gotipa izlīdzinošo splainu. . Piezīme: uz katra izo segmenta (, splains 5(x) ir trešās pakāpes mio-intervāls un ir definēts šajā segmentā ar četriem koeficientiem. Kopējais segmentu skaits ir m. Tas nozīmē, ka, lai pilnībā noteiktu splainu, ir jāatrod 4m skaitļi. Nosacījums nozīmē funkcijas 5(ag) un visu tās atvasinājumu nepārtrauktību visos režģa o iekšējos mezglos. "Šādu mezglu skaits ir m - 1 Tādējādi, lai aprēķinātu visu polinomu koeficientus, tiek iegūti 3(m - 1) nosacījumi (vienādojumi).Gludināšanas kubiskā splaina uzbūve Aprakstīsim kubiskā splaina koeficientu aprēķināšanas metodi, kurā nosaka nosakāmo lielumu skaitu. ir vienāds ar 2m + 2. Uz katra no izlīdzināšanas splaina intervāliem funkcija tiek meklēta šādā formā: Šeit, un skaitļi un ir risinājums lineāro algebrisko vienādojumu sistēmai, kuras forma ir atkarīga no veida robežnosacījumi. Vispirms aprakstīsim, kā tiek atrastas vērtības n*. 1. un 2. tipa robežnosacījumiem lineāro vienādojumu sistēma Hi vērtību noteikšanai ir uzrakstīta šādā formā, kur ir zināmi skaitļi). Koeficienti ir atkarīgi no robežnosacījumu izvēles. 1. tipa robežnosacījumi: 2. tipa robežnosacījumi: 3. tipa robežnosacījumu gadījumā skaitļu noteikšanas sistēma tiek uzrakstīta šādi: un visi koeficienti tiek aprēķināti pēc formulas (5) (vērtības ar indeksiem k un m + k tiek uzskatīti par vienādiem : Svarīga* piezīme. Sistēmu matricas nav deģenerētas un tāpēc katrai no šīm sistēmām ir unikāls risinājums. Ja ir atrasti skaitļi n, -, tad lielumus viegli nosaka pēc formulām, kur Periodisku robežnosacījumu gadījumā tā koeficientu izvēle. Funkcionālā (4) iekļautā svara koeficientu p, izvēle, ļauj zināmā mērā kontrolēt gludināšanas splainu īpašības. Ja viss un izlīdzināšanas splains izrādās interpolācija. Tas jo īpaši nozīmē, ka jo precīzāk ir norādītas vērtības, jo mazāki ir sagaidāmi atbilstošie svēruma koeficienti. Ja nepieciešams, lai splains izietu caur punktu (x^, Vk), tad tam atbilstošais svēršanas koeficients p\ jāiestata vienāds ar nulli. Praktiskajos aprēķinos vissvarīgākā ir vērtību izvēle pi-Ļaujiet D, - kļūda vērtības y mērīšanā. Tad likumsakarīgi ir prasība, lai izlīdzināšanas splains atbilstu nosacījumam vai, kas ir tas pats.Vienkāršākajā gadījumā svēršanas koeficientus pi var norādīt, piemēram, formā - kur c ir kāda pietiekami maza konstante. Tomēr šī svaru p izvēle neļauj izmantot “koridoru” vērtību y, - kļūdu dēļ. Racionālāks, bet arī darbietilpīgāks algoritms p vērtību noteikšanai var izskatīties šādi. Ja vērtības tiek atrastas fc-tajā iterācijā, tad tiek pieņemts, ka kur e ir neliels skaitlis, kas tiek izvēlēts eksperimentāli, ņemot vērā datora bitu režģi, D vērtības un precizitāti lineāro algebrisko vienādojumu sistēmas atrisināšana. Ja fc-tajā iterācijā punktā i tiek pārkāpts nosacījums (6), tad pēdējā formula nodrošinās atbilstošā svara koeficienta p, samazināšanos. Ja tad nākamajā iterācijā p palielinājums noved pie “koridora” (6) pilnīgākas izmantošanas un, visbeidzot, pie vienmērīgāk mainīgas splainas. Nedaudz teorijas A. Formulu pamatojums interpolācijas kubiskā splaina koeficientu aprēķināšanai. Ieviesīsim apzīmējumu, kur m, pašlaik ir nezināmi lielumi. To skaits ir vienāds ar m + 1. Splains, kas uzrakstīts formā kur atbilst interpolācijas nosacījumiem un ir nepārtraukts visā intervālā [a, b\: ievietojot to formulā, mēs iegūstam attiecīgi. Turklāt tam ir nepārtraukts pirmais atvasinājums intervālā [a, 6]: Diferencējot sakarību (7) un ieliekot to, iegūstam atbilstošo patiesībā. Parādīsim, ka skaitļus m var izvēlēties tā, lai splaina funkcijai (7) būtu nepārtraukts otrais atvasinājums intervālā [a, 6]. Aprēķināsim splaina otro atvasinājumu intervālā: Punktā x, - 0 (pie t = 1) mums ir Aprēķināsim splaina otro atvasinājumu intervālā Punktā mums ir No nepārtrauktības nosacījuma otrais atvasinājums režģa a iekšējos mezglos; iegūstam m - 1 sakarību kur Pieskaitot šiem m - 1 vienādojumiem vēl divus, kas izriet no robežnosacījumiem, iegūstam m + 1 lineāro algebrisko vienādojumu sistēmu ar m + I nezināmu miy i = 0, 1. ... , m. Vienādojumu sistēmai rsh vērtību aprēķināšanai 1. un 2. tipa robežnosacījumu gadījumā ir forma kur (1. tipa robežnosacījumi), (2. tipa robežnosacījumi). Periodiskiem robežnosacījumiem (3. tipa robežnosacījumi) acs o; paplašināt vēl par vienu mezglu un pieņemt, ka tad sistēmai σ* vērtību noteikšanai būs formas nepārtrauktība otrajā un (th - !)-th režģa mezglā. Mums ir No pēdējām divām attiecībām iegūstam trūkstošos divus vienādojumus, kas atbilst 4. tipa robežnosacījumiem: Izslēdzot no vienādojumiem nezināmo goo, un no vienādojumiem nezināmo pc, kā rezultātā iegūstam vienādojumu sistēmu. Ņemiet vērā, ka nezināmo skaits šajā sistēmā ir th - I. 6. Formulu pamatojums izlīdzinošā subiša splaina efektivitātes aprēķināšanai. Ieviesīsim apzīmējumu, kur Zi un nj pašlaik ir nezināmi lielumi. To skaits ir 2m + 2. Formā ierakstītā splaina funkcija ir nepārtraukta visā intervālā 8), tai bija nepārtraukts pirmais atvasinājums intervālā [a, 6]. Aprēķināsim splaina pirmo atvasinājumu S(x) par intervālu: Punktā x^ - 0 (pie t = 1) mums ir Aprēķināsim splaina 5(x) pirmo atvasinājumu intervālā: Punktā mums ir No pirmā atvasinājuma nepārtrauktības nosacījuma no splaina acs iekšējos mezglos un --> iegūstam attiecību m - 1. Šo attiecību ērti rakstām matricas formā. Izmanto šādu apzīmējumu. Turklāt splains uz intervāla [a, 6) ir nepārtraukts otrs atvasinājums: diferencējot sakarību (8) un ieliekot to attiecīgi iegūstam, turklāt matricas relāciju iegūst no nosacījuma funkcionālās (4) minimumam. Mums ir Pēdējās divas matricas vienādības var uzskatīt par lineāru 2m + 2 lineāro algebrisko vienādojumu sistēmu 2m + 2 nezināmajiem. Aizvietojot kolonnu r pirmajā vienādībā ar tās izteiksmi, kas iegūta no attiecības (9), mēs nonākam pie matricas vienādojuma SPLINE TEORIJAS risinājumu piemēri kolonnas M noteikšanai. Šim vienādojumam ir unikāls risinājums, jo matrica A + 6HRH7 ir vienmēr nav deģenerēts. To atraduši, mēs varam viegli noteikt Eamsšinas pilsētu. Vītņu matricu A un H elementus nosaka tikai režģa parametri un (ar soļiem hi), un tie nav atkarīgi no y^ vērtībām. Kubisko splainu funkciju lineārā telpa Nogrieznē [a, 6) konstruētā kubiskā splaina kopa gar acs wcra+l mezglu ir lineāra telpa ar izmēru m + 3: 1) divu uz sieta u konstruētu kubisko splainu summa. >, un kubiskā splaina reizinājums, kas konstruēts uz režģa un>, ar patvaļīgu skaitu slepenāk, ir kubiskais splains, kas izveidots uz šī režģa, 2) jebkurš kubiskais splains, kas izveidots uz režģa un no mezgla, ir pilnībā noteikts ar m + 1 vērtību y" vērtība šajos mezglos un divi robežnosacījumi - tikai + 3 parametri. Izvēloties bāzi šajā telpā, kas sastāv no m + 3 lineāri neatkarīgiem splainiem, mēs varam uzrakstīt patvaļīgu kubisko splainu a(x) kā to lineāru kombināciju unikālā veidā. komentēt. Šis splainu piešķiršanas veids ir plaši izplatīts skaitļošanas praksē. Īpaši ērta ir datubāze, kas sastāv no tā sauktajiem kubiskajiem B-splainiem (pamata jeb fundamentālajiem splainiem). D-splīnu izmantošana var ievērojami samazināt datora atmiņas prasības. L veida splaini. Nulles pakāpes B-splains, kas konstruēts uz skaitļa taisnes gar režģi w, tiek saukts par dakšu funkciju. B-splains ar k ^ I, kas konstruēts uz skaitļa taisnes gar režģi u, tiek noteikts, izmantojot atkārtotu formula Pirmās B, -1 "(g) un otrās in\7\x) grādu B-splains ir parādīti attiecīgi 11. un 12. attēlā. Patvaļīgas pakāpes k B-splains var atšķirties no nulles tikai uz noteikta segmenta (ko nosaka k + 2 mezgli) Ērtāk ir numurēt kubiskos B-splainus tā, lai splains B, -3* (π) atšķirtos no nulles segmentā r,-+2]. Mēs piedāvājam trešās pakāpes kubiskā splaina formulu vienmērīga tīkla gadījumā (ar soli A). Mums ir citos gadījumos. Tipisks kubiskā B-splaina grafiks ir parādīts 13. attēlā. aizņemoties*, funkcija a) ir divreiz nepārtraukti diferencējama uz intervāla, tas ir, tā pieder klasei C2[a, "), k b) atšķiras no nulles tikai četros secīgos intervālos (Papildināsim režģi w ar palīgmezgliem Ņemts pilnīgi patvaļīgi Ar paplašinātu sietu w* varam izveidot saimi no m + 3 kubiskā B-splainu: Šī saime veido pamatu kubisko splainu telpā uz segmenta (a, b]). Tādējādi patvaļīgs kubiskais splains S(z), kas konstruēts uz segmenta |b, 6] režģa o; izm+1 mezgls, uz šī segmenta var attēlot lineāras kombinācijas veidā, pēc uzdevuma nosacījumiem šī izplešanās koeficienti ft ir noteikti unikāli. ... Gadījumā, ja ir dotas funkcijas vērtības y* režģa mezglos un funkcijas pirmā atvasinājuma vērtības y o un Ym režģa galos (interpolācijas ar robežu problēma pirmā veida nosacījumi), šie koeficienti tiek aprēķināti no šādas formas sistēmas Pēc lielumu b-i un &m+i likvidēšanas iegūst lineāru sistēmu ar nezināmajiem 5q, ..., bm un trīs. -dimensiju matrica Nosacījums nodrošina diagonālo dominanci un līdz ar to iespēju tās atrisināšanai izmantot sweep metodi 3MMCMY 1. Līdzīga tipa lineārās sistēmas rodas, apsverot citas interpolācijas problēmas Zmmchnm* 2. Salīdzinot ar 1.1. sadaļā aprakstītajiem algoritmiem, R-splaina izmantošana * interpolācijas problēmās ļauj samazināt * uzglabātās informācijas apjomu, tas ir, ievērojami samazināt prasības datora atmiņai, lai gan tas palielina operāciju skaitu. Splaina līkņu konstruēšana, izmantojot splainu funkcijas Iepriekš mēs apskatījām masīvus, kuru punkti bija numurēti tā, ka to abscises veidoja stingri augošu secību. Piemēram, attēlā parādītais gadījums. 14, kad dažādiem masīva punktiem ir viena un tā pati abscisa, nebija atļauts. Šis apstāklis noteica gan tuvināto līkņu (satiksmes funkciju) klases izvēli, gan to veidošanas metodi. Taču iepriekš piedāvātā metode ļauj diezgan veiksmīgi izveidot interpolācijas līkni vispārīgākā gadījumā, kad masīva punktu numerācija un to izvietojums plaknē, kā likums, nav saistīti (15. att.). Turklāt, uzstādot interpolācijas līknes konstruēšanas uzdevumu, doto masīvu varam uzskatīt par neplanāru, tas ir, ir skaidrs, ka šīs vispārīgās problēmas risināšanai nepieciešams būtiski paplašināt pieļaujamo līkņu klasi, tai skaitā slēgto. līknes, līknes ar paškrustošanās punktiem un telpiskās līknes. Šādas līknes ir ērti aprakstīt, izmantojot parametriskos vienādojumus. turklāt funkcijām jābūt ar pietiekamu gludumu, piemēram, tās pieder klasei C1 [a, /0] vai klasei Lai atrastu parametriskos vienādojumus līknei, kas secīgi iet cauri visiem masīva punktiem, rīkojies šādi. 1. solis. Patvaļīgi uzņemtā segmentā tas tiek veikts pa trim tuvākajiem punktiem.
Kubiskā splaina interpolācija
Pēdējos gados intensīvi attīstās jauna mūsdienu skaitļošanas matemātikas nozare - teorija. splaini. Splaini ļauj efektīvi atrisināt eksperimentālo atkarību apstrādes problēmas starp parametriem, kuriem ir diezgan sarežģīta struktūra.
Iepriekš apskatītās lokālās interpolācijas metodes būtībā ir pirmās pakāpes (lineārajai interpolācijai) un otrās pakāpes (kvadrātiskajai interpolācijai) vienkāršākais splains.
Savas vienkāršības dēļ kubiskie splaini ir atraduši visplašāko praktisko pielietojumu. Kubisko splainu teorijas pamatidejas veidojās, mēģinot matemātiski aprakstīt elastīgas no elastīga materiāla izgatavotas līstes (mehāniskos splainus), kuras jau sen izmantojuši rasētāji gadījumos, kad radās nepieciešamība novilkt diezgan gludu līkni. caur dotajiem punktiem. Ir zināms, ka elastīga materiāla sloksne, kas fiksēta noteiktos punktos un atrodas līdzsvara stāvoklī, iegūst formu, kurā tās enerģija ir minimāla. Šī fundamentālā īpašība ļauj efektīvi izmantot splainus eksperimentālās informācijas apstrādes praktisko problēmu risināšanā.
Kopumā funkcijai y = f(x) ir jāatrod tuvinājums y=j(x) Tādā veidā f(x i)= j(x i) punktos x = x i , a citos segmenta punktos [ a, b] vērtībām
funkcijas f(x) Un j(x) bija tuvu viens otram. Ar nelielu eksperimentālo punktu skaitu (piemēram, 6-8) interpolācijas problēmas risināšanai var izmantot vienu no interpolācijas polinomu konstruēšanas metodēm. Taču ar lielu mezglu skaitu interpolācijas polinomi kļūst praktiski nelietojami. Tas ir saistīts ar faktu, ka interpolācijas polinoma pakāpe ir tikai par vienu mazāka nekā funkciju eksperimentālo vērtību skaits. Protams, segmentu, uz kura ir definēta funkcija, var sadalīt sekcijās, kurās ir neliels skaits eksperimentālo punktu, un katram no tiem izveidot interpolācijas polinomus. Taču šajā gadījumā aproksimējošajai funkcijai būs punkti, kur atvasinājums nav nepārtraukts, tas ir, funkcijas grafikā būs “pārtraukuma” punkti.
Kubiskām splainiem šī trūkuma nav. Staru teorijas pētījumi ir parādījuši, ka elastīgu plānu staru kūli starp diviem mezgliem diezgan labi apraksta kubiskais polinoms, un, tā kā tas nesabrūk, aproksimējošajai funkcijai ir jābūt vismaz nepārtraukti diferencējamai. Tas nozīmē, ka funkcijas j(x), j'(x), j"(x) jābūt nepārtrauktam segmentā [ a, b].
Kubiskā interpolācijas splains , atbilst šai funkcijai f(x) un šiem mezgliem xi, sauc par funkciju y(x), kas atbilst šādiem nosacījumiem:
1. katrā segmentā [ x i — 1 ,x i], i = 1, 2, ..., n funkciju y(x) ir trešās pakāpes polinoms,
Funkcija y(x), un arī tā pirmais un otrais atvasinājums ir nepārtraukti intervālā [ a, b],
Kubiskais splains ir salīmēts kopā no trešās pakāpes polinomiem, kas priekš i- sadaļas ir rakstītas šādi:
Visam intervālam tas būs attiecīgi P kubiskie polinomi, kas atšķiras pēc koeficientiem Ai, b i, c i, d i. Visbiežāk mezgli splaina interpolācijas laikā tiek novietoti vienmērīgi, t.i. Xi +1 -Xi = konst = h (lai gan tas nav nepieciešams).
Ir jāatrod četri koeficienti, ja katrs polinoms iet caur diviem punktiem (x i, g i) un (x i +1 , g i +1 ) , kas rada šādus acīmredzamus vienādojumus:
Pirmais nosacījums atbilst polinoma iziešanai caur sākuma punktu, otrais - caur beigu punktu. No šiem vienādojumiem nav iespējams atrast visus koeficientus, jo ir mazāk nosacījumu nekā nepieciešamie parametri. Tāpēc šie nosacījumi tiek papildināti ar funkcijas gluduma (t.i., pirmā atvasinājuma nepārtrauktības) un pirmā atvasinājuma gluduma (t.i., otrā atvasinājuma nepārtrauktības) nosacījumiem interpolācijas mezglos. Matemātiski šie nosacījumi tiek rakstīti kā vienādības attiecīgi pirmā un otrā atvasinājuma beigās i un sākumā ( i+1 )-th zemes gabali.
Kopš , Tas
(y’ (x i +1 ) beigās i-sižets ir vienāds ar y'(Xi +1 ) vispirms ( i+1 )-th),
(y"(Xi +1 ) beigās i-sižets ir vienāds ar y" (xi +1 ) vispirms ( i+1) th).
Rezultāts ir lineāru vienādojumu sistēma (visām sadaļām), kas satur 4n - 2 vienādojumus ar 4n nezināmajiem (nezināmie a 1, a 2,..., a n, b 1,..., d n - splaina koeficienti). Lai atrisinātu sistēmu, pievienojiet divus robežnosacījumus no viena no šiem veidiem (visbiežāk tiek izmantots 1):
4n vienādojumu kopīgais risinājums ļauj atrast visus 4n koeficientus.
Lai atjaunotu atvasinājumus, katrā sadaļā varat diferencēt atbilstošo kubisko polinomu. Ja mezglos ir nepieciešams noteikt atvasinājumus, ir īpašas metodes, kas samazina atvasinājumu noteikšanu līdz vienkāršākas vienādojumu sistēmas atrisināšanai vēlamajiem otrās vai pirmās kārtas atvasinājumiem. Svarīgas kubiskā splaina interpolācijas priekšrocības ir tādas funkcijas iegūšana, kurai ir minimālais iespējamais izliekums. Splaina interpolācijas trūkumi ietver nepieciešamību iegūt salīdzinoši lielu parametru skaitu.
Atrisināsim interpolācijas uzdevumu, izmantojot programmu MathCAD. Lai to izdarītu, mēs izmantosim iebūvēto funkciju interp(VS,x,y,z) . Mainīgie lielumi x Un y norādīt mezglu punktu koordinātas, z ir funkcijas arguments, VS nosaka veidu
robežnosacījumi intervāla galos.
Definēsim interpolācijas funkcijas trīs kubiskā splaina veidiem
Šeit cspline (VX , VY) atgriež vektoru VS otrie atvasinājumi, tuvojoties kubiskajam polinomam atskaites punktos;
pspline(VX, VY) atgriež vektoru VS otrie atvasinājumi, tuvojoties atskaites punktiem paraboliskajai līknei;
lspline(VX, VY) atgriež vektoru VS otrie atvasinājumi, tuvojoties līnijas atskaites punktiem;
interp(VS, VX, VY, x) atgriež vērtību y(x) dotajiem vektoriem VS, VX, VY un iestatīt vērtību x.
Mēs aprēķinām interpolācijas funkciju vērtības dotajos punktos un salīdzinām rezultātus ar precīzām vērtībām
Lūdzu, ņemiet vērā, ka interpolācijas rezultāti ar dažāda veida kubiskām splainiem ir praktiski vienādi intervāla iekšējos punktos un sakrīt ar precīzām funkcijas vērtībām. Intervāla malu tuvumā atšķirība kļūst pamanāmāka, un, ekstrapolējot ārpus noteiktā intervāla, dažāda veida splaini dod ievērojami atšķirīgus rezultātus. Lielākai skaidrībai rezultātus attēlosim grafikā (3.5. att.)
Rīsi. 3.5. Kubiskā splaina interpolācija
Ja funkcija ir norādīta diskrēti, tad datu matricas tiek norādītas interpolācijai.
Globālajā interpolācijā visbiežāk izmanto polinomu interpolāciju. n-th pakāpe jeb Lagranža interpolācija.
Klasiskā pieeja ir balstīta uz prasību par stingru vērtību saskaņošanu f(X) Un j(X) punktos x i(i = 0, 1, 2, … n).
Mēs meklēsim interpolācijas funkciju j(X) pakāpes polinoma formā n.
Šim polinomam ir n+ 1 koeficients. Ir dabiski to pieņemt n+ 1 nosacījumi
j(x 0) = y 0 , j(x 1) = y 1 , . . ., j(x n) = g n (3.4)
uzlikts uz polinoma
ļauj nepārprotami noteikt tā koeficientus. Patiešām, prasot j(X) nosacījumu izpilde (3.4.) , mēs iegūstam sistēmu n+ 1 vienādojumi ar n+ 1 nezināms:
(3.6)
Šīs sistēmas risināšana nezināmajiem a 0 , a 1 , …, a n iegūstam polinoma (3.5) analītisko izteiksmi. Sistēmai (3.6) vienmēr ir unikāls risinājums , jo tā noteicējs
algebrā pazīstams kā Vandermonda noteicējs kas nav nulle . tas nozīmē , ka interpolācijas polinoms j(X) funkcijai f(X), kas norādīts tabulā, pastāv un ir unikāls.
Iegūtais līknes vienādojums precīzi iet caur dotajiem punktiem. Ārpus interpolācijas mezgliem matemātiskajā modelī var būt būtiska kļūda
Lagranža interpolācijas formula
Lai ir zināmas kādas funkcijas vērtības f(X) V n+ 1 dažādi patvaļīgi punkti y i = f(x i) , i = 0,…, P. Lai interpolētu (atjaunotu) funkciju jebkurā punktā X, kas pieder segmentam [ x 0, x n], nepieciešams konstruēt n-tās kārtas interpolācijas polinomu, kuru Lagranža metodē attēlo šādi:
Turklāt to ir viegli pamanīt Qj(x i) = 0, Ja i¹ j, Un Qj(x i) =1, Ja i= j. Ja skaitītājā izvēršam visu iekavu reizinājumu (saucējā visas iekavas ir skaitļi), iegūstam n-tās kārtas polinomu X, jo skaitītājs satur n pirmās kārtas faktorus. Līdz ar to Lagranža interpolācijas polinoms nav nekas vairāk kā parasts n-tās kārtas polinoms, neskatoties uz īpašo apzīmējuma formu.
Novērtējiet interpolācijas kļūdu punktā X no [ x 0,xn] (t.i., atrisiniet otro
interpolācijas problēma) var veikt, izmantojot formulu
Formulā - sākotnējās funkcijas (n+1) atvasinājuma maksimālā vērtība f(X) segmentā [ x 0,xn]. Tāpēc, lai novērtētu interpolācijas kļūdu, ir nepieciešama papildu informācija par sākotnējo funkciju (tam vajadzētu būt saprotamam, jo caur dotajiem sākuma punktiem var iziet bezgalīgi daudz dažādu funkciju, kurām kļūda būs atšķirīga). Šāda informācija ir n+1 kārtas atvasinājums, kuru nav tik viegli atrast. Tālāk mēs parādīsim, kā izkļūt no šīs situācijas. Ņemiet vērā arī to, ka kļūdas formulas pielietošana ir iespējama tikai tad, ja funkcija ir diferencējama n +1 reizes.
Celtniecībai Lagranža interpolācijas formula MathCAD ir ērti izmantot funkciju ja.
ja (kond., x, y)
Atgriež x vērtību, ja cond nav 0 (patiess). Atgriež y vērtību, ja cond ir 0 (false) (3.6. attēls).