sklejki pochodne

background image

Interpolacja funkcjami sklejanymi poprzez wyznaczenie

wartości drugich pochodnych w węzłach.

Tomasz Chwiej

12 listopada 2012

Naszym zadaniem będzie napisanie programu do interpolacji przy pomocy funkcji sklejanych

będących wielomianami 3 stopnia.

1

Program

1. Napisać procedurę do wyznaczania wartości drugich pochodnych w węzłach. Do procedury

należy przekazać: a) wektor z położeniami węzłów (xw), b) wektor z wartościami funkcji
(yw), c) liczbę węzłów (n), d) wektor do którego procedura zapisze wartości drugich
pochodnych (w), e) wartości drugich pochodnych w skrajnych węzłach (alfa i beta)

void wyzM(float *xw,float *yw, float *w, int n, float alfa, float beta)

Uwaga: wszystkie elementy wektorów indeksujemy od 1 - żeby uniknąć pro-
blemów w dalszej części zadania (rozwiązywanie układu równań). Całkowita
liczba węzłów będzie więc równa n.

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 to na wykładzie. Przyjąć warunki z drugą pochodną równą 0 na obu krańcach
przedziału interpolacji. W pierwszym i ostatnim wierszu układu równań znajduje się 1
na diagonali a pozostałe elementy są równe 0. W wektorze wyrazów wolnych w miejsce
pierwszego elementu wstawiamy wartość α, a do ostatniego elementu wartość β.

Układ równań rozwiązać metodą gaussj z Numerical Recipes.

2. Napisać procedurę do wyznaczania wartości funkcji w położeniu międzywęzłowym. Część

argumentów będzie identyczna jak dla procedury wyzM, ale dodajemy jeszcze wartość
aktualną x:

float wyzX(float *xw,float *yw, float *w, int n, float x){

y=........................
return y;
}

W procedurze najpierw trzeba określić w którym przedziale znajduje się x , a następnie
wyznaczyć wartość korzystając z wzorów pokazanych na wykładzie.

1

background image

Uwaga: Może się zdarzyć że x pokryje się z położeniem któregoś z węzłów tj.
odległość między nimi będzie mniejsza niż
10

2

h

i

(h

i

jest szerokością podprze-

działu). Trzeba wykryć taki przypadek i od razu zwrócić wartość funkcji w
danym węźle.

3. Napisać program do interpolacji funkcjami sklejanymi, który będzie korzystał z dwóch

powyższych procedur.

2

Wyniki

Przy użyciu swojego programu przeprowadzić interpolację funkcji

f

1

(x) =

1

1 + x

2

(1)

oraz

f

2

(x) = cos(2x)

(2)

Zadania do wykonania:

1. Dla funkcji f

1

(x) oraz 10 węzłów w przedziale x

[5, 5] należy wyznaczyć wartości

drugich pochodnych i porównać je z ”dokładniejszymi” wartościami liczonymi zgodnie z
wzorem:

d

2

f

dx

2

f (x

x) 2f(x) + f(x + ∆x)

(∆x)

2

(3)

Przyjąć ∆x = 0.01. Wykonać wykres wartości drugich pochodnych w zależności od poło-
żenia węzłów pokazujący porównanie obu sposobów obliczania drugich pochodnych.

2. Wykonać interpolację dla f

1

(x) oraz f

2

(x) w przedziale x

[5, 5], dla liczby węzłów:

5,8,21. Wykonać rysunki funkcji interpolowanej i interpolującej dla każdego przypadku.


Wyszukiwarka

Podobne podstrony:
2 Pochodna calkaid 21156 ppt
Rozpuszczalniki organiczne pochodne alifatyczne (oprócz metanolu
potencjal spoczynkowy i jego pochodzenie
Klastry turystyczne, pochodzenie nazwy, co to
Naturalne źródła węglowodorów i ich pochodne
W 5 POCHODNE
3 Pochodne
Kr 029 Zieby Darwina umozliwiaja stestowanie rywalizujacych koncepcji pochodzenia
Pochodne zadania cz 2 id 364419
07 Pochodne WzoryPodstawowe
pochodne i całki
jednofunkcyjne pochodne weglowodorow odpowiedzi
Pochodne II IMiR
pochodne wyzszych rzedow id 364 Nieznany
2009 03 26 prezentacja pochodne Nieznany
4 pochodna funkcji jednej zmiennej
Pochodna

więcej podobnych podstron