MaIn forum

Forum matematyczno-informatyczne


#1 2007-12-09 00:02:16

Maciek

Użytkownik

Zarejestrowany: 2007-11-29
Posty: 32
Punktów :   

Interpolacja Hermite'a

Czy ktoś potrafi mi sensownie wyjaśnić jak działają różnice dzielone dla interpolacji Hermite'a?
Bo ja nie bardzo widzę jak tę tabelkę tworzyć:/

Offline

 

#2 2007-12-10 17:01:46

saf

Administrator

3457910
Skąd: Zakręt
Zarejestrowany: 2007-11-29
Posty: 56
Punktów :   
WWW

Re: Interpolacja Hermite'a

Na moje oko tabelkę tworzy się tak, że jeżeli w mianowniku byłoby zero, to bierzemy kolejną pochodną w danym punkcie, podzieloną przez odpowiedni współczynnik (k-1)!, w przeciwnym wypadku jedziemy jak w zwykłych różnicach dzielonych. Zrobiłem przykład, żeby sprawdzić czy moje oko mnie myli bardzo czy może niebardzo:

f(x) = x^4/4 + 3x^3 - 6x^2

Bierzemy dwa węzły: x_0 = 0, x_1 = 2, o krotności dwa, więc będziemy szukać wielomianu stopnia co najwyżej 3.

Tabelka (oby się nie rozjechała):

Kod:

0  0
         (0)
0  0          1
          2          4
2  4          9
        (20)
2  4

(uf, udało się). W miejscach w nawiasach wstawiamy kolejną pochodną w danym punkcie. Tutaj k=2, więc (k-1)!=1. No i z górnego stoku tabelki czytamy współczynniki, uprzednio "rozmnażając" węzły:
i(x) = 1(x-x_0^1)(x-x_0^2) + 4(x-x_0^1)(x-x_0^2)(x-x_1^1) =
= x^2 + 4 * x^2 * (x - 2).

Spodziewałem się porażki, ale okazało się, że się zgadza: http://students.mimuw.edu.pl/~sr248277/ … rmite1.gif

A teraz - żeby pokazać wyższe niż pierwsza pochodna, niech 0 ma krotność 3 (będą się zgadzać drugie pochodne), a 2 - 1 (tylko wartość). Tabelka:

Kod:

0    0
           (0)
0    0          (-6)
           (0)          7/2
0    0            1
            2
2    4

Wartość (-6) na górnym stoku to oczywiście f''(0)/(3-1)!

Wielomian interpolacyjny (ciągle stopnia <= 3) jest j(x) = -6x^2  + (7/2)x^3. Wiszę Państwu jeszcze wykresik: http://students.mimuw.edu.pl/~sr248277/ … rmite2.GIF

Wyszło? f''(0) = -12, j''(0) = -12. Wyszło.

Offline

 

#3 2007-12-12 22:07:22

wojtek

Użytkownik

Zarejestrowany: 2007-11-30
Posty: 30
Punktów :   

Re: Interpolacja Hermite'a

saf napisał:

i(x) = 1(x-x_0^1)(x-x_0^2) + 4(x-x_0^1)(x-x_0^2)(x-x_1^1)

Chyba powinno tu być:
i(x) = 1(x-x_0)(x-x_0) + 4(x-x_0)(x-x_0)(x-x_1)
Wychodzi tak samo, ale mi o wykładniki idzie..

Offline

 

#4 2007-12-13 00:16:56

saf

Administrator

3457910
Skąd: Zakręt
Zarejestrowany: 2007-11-29
Posty: 56
Punktów :   
WWW

Re: Interpolacja Hermite'a

Powinienem to uściślić, x_0^2 to dla mnie oznacza drugie wcielenie "rozmnożonego" pierwiastka wielokrotnego x_0, a nie jego kwadrat. Ot, taki indeks, tyle że na górze.

Myślałem żeby go wstawić na dole po lewej, ale wtedy już sam bym się nie połapał w tym co piszę

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.aod-plemiona.pun.pl www.logiput.pun.pl www.szikaka.pun.pl www.pokemon-fan-gra.pun.pl www.lovesensimusic.pun.pl