Хермитова интерполација

Извор: testwiki
Пређи на навигацију Пређи на претрагу

Шаблон:Neprovereni seminarski У нумеричкој анализи, Хермитова интерполација, названа по француском математичару Шарл Ермиту је метод интерполације. Тако створен Хермитов полином је сличан Њутновом интерполационом полиному у томе што су оба настала од рачунања са подељеним разликама.

Међутим, за разлику од Њутнове интерполације, Хермитова одређује непознату функцију и за дату вредност и за дату вредност у првих m извода. То значи да n(m + 1) вредности

(x0,y0),(x1,y1),,(xn1,yn1),(x0,y0),(x1,y1),,(xn1,yn1),(x0,y0(m)),(x1,y1(m)),,(xn1,yn1(m))

морају бити познате, за разлику од првих n вредности потребне за Њутнову интерполацију. Добијени полином имати највећи могући степен n(m + 1) − 1, за разлику од Њутновог чији је највећи степен n − 1.

Коришћење

Тривијалан случај

Када користимо подељене разлике да израчунамо Хермитов полином функције f, први корак је да сваку тачку умножимо m пута. (Овде ћемо разматрати најједноставнији случај m=1 за сваку тачку.) Тада ако нам је дато n+1 тачака x0,x1,x2,,xn и вредности у тачкама f(x0),f(x1),,f(xn) и f(x0),f(x1),,f(xn) за функцију коју желимо да интерполирамо, креирамо

z0,z1,,z2n+1

тако да су

z2i=z2i+1=xi.

Потом, правимо табелу подељених разлика за тачке z0,z1,,z2n+1. Мада за неке подељене разлике

zi=zi+1f[zi,zi+1]=f(zi+1)f(zi)zi+1zi=00

што није дефинисано! У том случају, заменимо подељену разлику са f(zi).

Општи случај

У општем случају, претпоставимо да је функција у тачки xi k пута диференцијабилна. Онда z0,z1,,zN има k копија xi. Када правимо табелу подељених разлика, разлике од j=2,3,,k ће имати исте врености и оне се рачунају са

f(j)(xi)j!.

На пример,

f[xi,xi,xi]=f(xi)2
f[xi,xi,xi,xi]=f(3)(xi)6

итд.

Пример

Нека је функција f(x)=x8+1. Са вредностима ове функције и њена прва два извода у x{1,0,1}, добијамо

x ƒ(x) ƒ'(x) ƒ''(x)
−1 2 −8 56
0 1 0 0
1 2 8 56

Пошто имамо информације из прва два извода, можемо направити скуп {zi}={1,1,1,0,0,0,1,1,1}. Наша табела подељених разлика је онда

z0=1f[z0]=2f(z0)1=8z1=1f[z1]=2f(z1)2=28f(z1)1=8f[z3,z2,z1,z0]=21z2=1f[z2]=2f[z3,z2,z1]=715f[z3,z2]=1f[z4,z3,z2,z1]=610z3=0f[z3]=1f[z4,z3,z2]=154f(z3)1=0f[z5,z4,z3,z2]=121z4=0f[z4]=1f(z4)2=0121f(z4)1=0f[z6,z5,z4,z3]=121z5=0f[z5]=1f[z6,z5,z4]=154f[z6,z5]=1f[z7,z6,z5,z4]=610z6=1f[z6]=2f[z7,z6,z5]=715f(z7)1=8f[z8,z7,z6,z5]=21z7=1f[z7]=2f(z7)2=28f(z8)1=8z8=1f[z8]=2

и полином изгледа

P(x)=28(x+1)+28(x+1)221(x+1)3+15x(x+1)310x2(x+1)3+4x3(x+1)31x3(x+1)3(x1)+x3(x+1)3(x1)2=28+28218x+56x63x+15x+28x263x2+45x210x221x3+45x330x3+4x3+x3+x3+15x430x4+12x4+2x4+x410x5+12x52x5+4x52x52x5x6+x6x7+x7+x8=x8+1.

узимајући коефицијенте са дијагонале табеле подељених разлика и множећи k-ти коефицијент са i=0k1(xzi), као што бисмо радили и код Њутновог полинома.

Грешка

Ако имамо полином H и функцију f, Код одређивања тачке x[x0,xn] функција грешке је

f(x)H(x)=f(K)(c)K!i(xxi)ki

где је c непозната унутар интервала [x0,xN], K број тачака плус један и ki број извода познат за сваки xi плус један.

Шаблон:Нормативна контрола