Matematické Fórum

Nevíte-li si rady s jakýmkoliv matematickým problémem, toto místo je pro vás jako dělané.

Nástěnka
!! 17.06.2018 (Jel.) Khanova škola zve nadšence ke spolupráci na překladech návodů pro učitele a rodiče.
! 04.11.2016 (Jel.) Čtete, prosím, před vložení dotazu, děkuji!
17.01.2016 (Jel.) Rok 2016 s novými a novějšími krystaly od kolegy Pavla!
17.01.2016 (Jel.) Nabídka knih z oborů matematiky, fyziky, chemie
23.10.2013 (Jel.) Zkuste před zadáním dotazu použít některý z online-nástrojů, konzultovat použití můžete v sekci CAS.

Nejste přihlášen(a). Přihlásit

#1 11. 09. 2018 12:42

PenguinTheTroll
Zelenáč
Příspěvky: 18
Pozice: student
Reputace:   
 

Odvození interpolačního splajnu

Ahoj, chtěl bych vás požádat o pomoc.

Řeším úlohu:
Odvoďte interpolační splajn (\phi), jehož dílčí funkce (\phi_i) mají tvar A+B/(C+x) a který splňuje následující vlastnosti:
- prochází zadanými uzlovými body
- má spojité první derivace ve vnitřních uzlových bodech
- první derivace v levém krajním bodě je zadaná

Nejsem příliš matematik, ale v řešení bych postupoval jako při odvození kubického splajnu a moje představa je taková, že rozdíl místo aproximace funkce se čtyřmi parametry, bych aproximoval jen se třemi parametry, ale prakticky nerozumím jak tuto ulohu uchopit. Včetně dílčích funkcích u kterých se mi stále ještě nepodařilo najít nikde co mají představovat.

Můžete mi někdo prosím poradit, nebo alespoň poskytnou materiály, díky kterým bych se k řešení mohl dopracovat?

Předem děkuji za nápomocné odpovědi.

Offline

 

#2 11. 09. 2018 14:07 — Editoval laszky (11. 09. 2018 15:43)

laszky
Příspěvky: 995
Škola: MFF UK, FJFI CVUT
Reputace:   67 
 

Re: Odvození interpolačního splajnu

↑ PenguinTheTroll:

Ahoj, jestlize mas nejaky interval $[L,R]$ rozdelen na N dilku $L=x_0<x_1<\cdots<x_N=R$, potom se po tobe chce nalezt N funkci tvaru $\varphi_i(x)=A_i + \frac{B_i}{x+C_i}$, splnujicich 3N rovnic:

$\varphi_i(x_i)=f_i,\qquad \mbox{pro}\ i=1,2,\dots,N$

$\varphi_i(x_{i-1})=f_{i-1},\qquad \mbox{pro}\ i=1,2,\dots,N$

$\varphi'_i(x_i)=\varphi'_{i+1}(x_i),\qquad \mbox{pro}\ i=1,2,\dots,N-1$

$\varphi'_1(x_0)=g_0$,

kde $f_0,f_1,\dots,f_N$ a $g_0$ jsou zadana cisla.

Jedna se tedy o 3N rovnic pro 3N neznamych koeficientu. Protoze vsak rovnice nejsou linearni mohl by byt problem s jejich resitelnosti. Ulohu lze ale resit iteracne, na prvnim intervalu mas totiz zadane 3 rovnice pro 3 nezname, ty vyresis a vysledek vyuzijes pro hledani neznamych koeficientu na dalsim intervalu.

Offline

 

#3 11. 09. 2018 16:27

PenguinTheTroll
Zelenáč
Příspěvky: 18
Pozice: student
Reputace:   
 

Re: Odvození interpolačního splajnu

A ty rovnice jsou vlastne o hledani koeficientu polynomu Ax^2 + Bx + C a u prvnich dvou se meni pouze indexy a u te treti je jedina zmena v tom ze onen polynom bude zderivovany?? Mam trosku problem si to z toho matematickeho zapisu vyvodit.

Offline

 

#4 11. 09. 2018 22:03

laszky
Příspěvky: 995
Škola: MFF UK, FJFI CVUT
Reputace:   67 
 

Re: Odvození interpolačního splajnu

↑ PenguinTheTroll:

Ok, tak trochu podrobneji. Na prvnim intervalu hledas funkci

$\varphi_1(x)=A_1 + \frac{B_1}{x+C_1}$

Ta musi splnovat rovnosti

$\varphi_1(x_1) = f_1$,

$\varphi_1(x_0) = f_0$,

$\varphi'_1(x_0)=g_0$,

coz rozepsano znamena, ze

$A_1 + \frac{B_1}{x_1+C_1} = f_1$,

$A_1 + \frac{B_1}{x_0+C_1} = f_0$,

$\frac{-B_1}{(x_0+C_1)^2}=g_0$.

Z techto rovnic si vypocitas (da to trochu prace) $A_1,B_1$ a $C_1$. Nasledne si vyjadris

$g_1 = \frac{-B_1}{(x_1+C_1)^2} = \varphi'_1(x_1) = \varphi'_2(x_1)$ a pokracujes na druhem intervalu uplne stejnym postupem jako na intervalu prvnim.

Offline

 

#5 14. 09. 2018 15:14

PenguinTheTroll
Zelenáč
Příspěvky: 18
Pozice: student
Reputace:   
 

Re: Odvození interpolačního splajnu

A neslo by ty koeficienty zjistit pomoci algoritmu? Ve finale tu ulohu stejne musim naprogramovat.. popravde jdes vdecmy za odpoved, ale astejne nerozumim jak si to na zacatku spocitat.

Offline

 

#6 14. 09. 2018 15:28

laszky
Příspěvky: 995
Škola: MFF UK, FJFI CVUT
Reputace:   67 
 

Re: Odvození interpolačního splajnu

↑ PenguinTheTroll:

Vzdyt jsem ti ten algoritmus v podstate napsal: Nejdriv najdes koeficienty $A_1,B_1,C_1$ pomoci kterych sestavis funkci $\varphi_1$ a spocitas $g_1=\varphi'_1(x_1)$. Pak pouzijes stejny postup na druhem intervalu a spocitas $A_2,B_2,C_2$, $\varphi_2$ a $g_2=\varphi'_2(x_2)$, atd.

Offline

 

#7 14. 09. 2018 15:36

PenguinTheTroll
Zelenáč
Příspěvky: 18
Pozice: student
Reputace:   
 

Re: Odvození interpolačního splajnu

To je ten problem, nerozumim jak tohle napsat.. jeste jsem nikdy takhle 3 nehledal .. zkusis to prosim nejakej naznak s nejakym pseudokodem a skutecnou hodnotou?

Offline

 

#8 14. 09. 2018 16:51

laszky
Příspěvky: 995
Škola: MFF UK, FJFI CVUT
Reputace:   67 
 

Re: Odvození interpolačního splajnu

↑ PenguinTheTroll:

Nevim, jestli jsem nekde neudelal chybu v indexu, ale melo by to byt takto:

Dano: $g_0$ a $x_i,f_i$ pro $i=0,1,\dots,N$

Pro $i=1,2,\dots,N$ spocti postupne

$A_i=\frac{f_ig_{i-1}(x_i-x_{i-1})+f_{i-1}(f_{i-1}-f_i)}{g_{i-1}(x_i-x_{i-1})+f_{i-1}-f_i}$
$C_i=\frac{x_{i-1}g_{i-1}(x_i-x_{i-1})+x_i(f_{i-1}-f_i)}{g_{i-1}(x_i-x_{i-1})+f_{i-1}-f_i}$
$B_i = -g_{i-1}(C_i+x_{i-1})^2$
$g_i=  \frac{-B_i}{(C_i+x_i)^2}$

Doporucuji si to prepocitat ;-)

Offline

 

Zápatí

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson