• Nie Znaleziono Wyników

Interpolacja funkcjami sklejanymi w bazie.

N/A
N/A
Protected

Academic year: 2021

Share "Interpolacja funkcjami sklejanymi w bazie."

Copied!
3
0
0

Pełen tekst

(1)

Interpolacja funkcjami sklejanymi w bazie.

Tomasz Chwiej 24 kwietnia 2018

1 Wstęp

Należy napisać program do interpolacji funkcjami sklejanymi w bazie. Wartości funkcji inter- polującej liczymy zgodnie z wzorem

s(x) =

n+1

i=0

ciΦ3i(x), x∈ [xmin, xmax] (1)

gdzie sklejki kubiczne Φ3i(x) są zdefiniowane następująco

Φ3i(x) = 1 h3

(x− xi−2)3 x∈ [xi−2, xi−1)

h3+ 3h2(x− xi−1) + 3h(x− xi−1)2− 3(x − xi−1)3 x∈ [xi−1, xi) h3+ 3h2(xi+1− x) + 3h(xi+1− x)2− 3(xi+1− x)3 x∈ [xi, xi+1)

(xi+2− x)3 x∈ [xi+1, xi+2)

0 x /∈ [x−3, xn+3]

gdzie h jest odległością pomiędzy sąsiednimi węzłami. Dla warunków z pierwszą pochodną (α = df /dx|x=xmin, β = df /dx|x=xmax):

−c0+ c2 = h

3α (2)

i

−cn−1+ cn+1 = h

3β (3)

układ równań ma postać

4 2

1 4 1 0

1 4

. .. ... ...

0 1 4 1

2 4

·

c1 c2 ... ... cn−1

cn

=

y1 +h3α y2

... ... yn−1 yn h3β

(4)

1

(2)

Do rozwiązania układu równań proszę wykorzystać odpowiednią metodę z Numerical Recipes lub GSL. W naszym przypadku węzły interpolacji powinny być indeksowane i = 1, 2, 3, . . . , n, ale ponieważ w sumowaniu po wartościach funkcji sklejanych pojawiają się również te poło- żone na zewnątrz należy dołożyć po 1 węźle z lewej i prawej strony. Czyli indeksowanie pier- wotnych węzłów będzie takie i = 0, 1, 2, . . . , n + 1. Natomiast położenie docelowych węzłów (i = −2, −1, . . . , n + 2, n + 3) oraz wektor wartości funkcji (i = 1, 2, . . . , n) w węzłach można wyznaczyć następująco:

f loat h, xmin, xmax; int n = . . . ;

double xx[n + 6];

double ∗ xw = &xx[2];

h = xmax− xmin

n− 1 ;

f or(i =−2; i <= (n + 3); i + +) xw[i] = xmin+ h· (i − 1);

f or(i = 1; i <= n; i + +) yw[i] = f (xw[i]);

Wówczas węzły o indeksach 1 oraz n będą leżały na krańcach przedziału interpolacji. Na brze- gach musimy określić pierwsze pochodne, proszę do tego celu użyć ilorazu różnicowego w po- staci:

df (x)

dx = f (x + ∆x)− f(x − ∆x)

2∆x (5)

przyjąć ∆x = 0.01.

2 Zadania do wykonania:

1. Przy użyciu swojego programu należy przeprowadzić interpolację funkcji f1(x) = 1

1 + x2 (6)

oraz

f2(x) = cos(2x) (7)

w przedziale x ∈ [−5, 5]

2. Wykonać interpolację dla funkcji f1(x) dla liczby węzłów równej n = 5, 6, 10, 20. Dla każdego przypadku sporządzić wykresy funkcji interpolowanej i interpolującej na jednym rysunku.

3. Wykonać interpolację funkcji f2(x) dla liczby węzłów n = 6, 7, 14. Dla każdego przypadku sporządzić wykresy funkcji interpolowanej i interpolującej na jednym rysunku.

3 Uwagi

1. W pierwszym kroku należy stablicować położenia węzłów i wartości funkcji. Następnie należy rozwiązać układ równań (4). Po rozwiązaniu układu równań prosze wypisać na

2

(3)

ekran wartości współczynników ci - powinny zmieniać się w sposób podobny do funkcji interpolowanej (dla dużego n, np. n = 10).

2. Proszę pamiętać że rozwiązując układ równań (4) dostaniemy wektor o indeksach prze- sunietych w lewo o 1: cold= [c0, c1, . . . , cn−1]. Dlatego, aby mieć zgodność z ideksowaniem węzłów należy je przesunąć w prawo o 1 i dodać do listy elementyc0 icn+1 liczone zgodnie z wzorami (2) i (3):

⃗cold = c0 c1 c2 . . . cn−1

↓ ↓ ↓ ↓

⃗cnew = c0 c1 c2 c3 . . . cn−1 cn cn+1 We wzorze (1) używamy zmodyfikowanego wektora ⃗cnew.

3. Aby ułatwić sobie tworzenie wykresów, najlepiej jest napisać funkcję wyznaczającą war- tość funkcji interpolującej, której przekazujemy: h, n, ⃗xw, ⃗cnew, x. Procedura, na podsta- wie wartości x powinna określić przedział (indeks i) i wyznaczyć wartość funkcji sklejanej na podstawie wzoru (1).

3

Cytaty

Powiązane dokumenty

W celu wyznaczenia wartości drugich pochodnych trzeba skonstruować na podstawie od- ległości pomiędzy węzłami oraz wartości funkcji odpowiedni układ równań - tak jak po- kazano

Porównanie dokładności pomiaru współrzędnych tłowych zdjęć oryginalnych i cyfrowych przeprowadzono dla pięciu barwnych diapozytywów pola testowego Otto Wagner

Lampa produkcji niemieckiej firmy Friemann &amp; Wolf z Zwic- kau w Saksoni stała się standardowym modelem benzynowej lampy bezpieczeństwa, używanej do oświetlenia wyrobisk

Badając omawiane tu zagadnienie urodzin, posługiwałem się zrazu tylko odpisem uwierzytelnionym metryki igołomskiej, ale w miarę, jak budziły się nowe

2) Interpolacja funkcji, której przebieg znacznie różni się od przebiegu wielomianu interpolacyjnego, może nie dawać dobrych wyników przy dużej liczbie węzłów..

Interpolacja funkcjami sklejanymi stopnia pierwszego.. Interpolacja funkcjami sklejanymi

Żyrafa Ola i Zuzia rozmawiają o tym, jak bardzo różnią się języki poszczególnych krajów Unii Europejskiej. Sprawdzają w słownikach, jak mówi się tam

Być może – znów opieram się tylko na własnych przypuszczeniach – były takie przypadki, że nikogo owe osoby nie spotkały, ale przez miesiące, a później lata spędzone