Interpolacja instrukcja(1)

background image

1

Akademia Morska w Gdyni
Katedra Automatyki Okrętowej

LABORATORIUM METOD NUMERYCZNYCH

INTERPOLACJA

© Maciej Grabarek





1.

Cel ćwiczenia.

Celem ćwiczenia jest zapoznanie studentów z problematyką przybliżania funkcji,

z wykorzystaniem metod interpolacyjnych. W ćwiczeniu przedstawiony zostanie szereg rozwiązań
narzędzi interpolacyjnych stosowanych powszechnie w praktyce inżynierskiej. Zadania stanowiące
przedmiot tego ćwiczenia, wykonane zostaną w programie MATLAB.

2.

Interpolacja za pomocą wielomianów – podstawy matematyczne.

Zagadnienie interpolacji sformułować można opierając się na następującej definicji :

w danym przedziale

< ;  > dane jest  + 1 różnych punktów

,

,

… .



, przybierających

wartości pewnej funkcji

 = ( ), tak że:

(

) = 



, (

) = 

, (

) = 

, … (



) = 



. (1)

Punkty te nazywane są węzłami interpolacji i w praktyce inżynierskiej stanowią one najczęściej wynik
pomiarów. Zadanie interpolacji polega na odnalezieniu takiej funkcji

ℎ = ( ), która w węzłach

interpolacyjnych przyjmuje takie same wartości, co nieznana funkcja

 = ( ), a dla pozostałych

argumentów przedziału

< ;  > przyjmuje wartości zbliżone do tej funkcji. Można zatem stwierdzić,

ż

e interpolacja jest procesem odwrotnym do tablicowania funkcji ciągłej lub w przypadku układów

dyskretnych do dyskretyzacji lub próbkowania sygnału. Graficznie, zagadnienie interpretacji
przedstawione zostało na rys. 1.

Rys. 1. Funkcja interpolowana

 = ( ) i interpolująca ją funkcja ℎ = ( )

Dane jest n punktów

(



, 



),  = 1, 2, … . Na ich

podstawie poszukujemy takiej funkcji

ℎ = ( ), która

w podanych punktach przyjmuje te same wartości.

background image

2

Funkcję interpolującą,

[1]

poszukuje się najczęściej jako funkcja o określonej postaci. Może

ona przybierać postać wielomianu algebraicznego, wielomianu trygonometrycznego lub funkcji
sklejanej (tzw. splajna). Wybór określonej postaci funkcji interpolującej, wiąże się ściśle
w rozwiązaniem zagadnienia. Może ono bowiem przynieść nieskończenie wiele rozwiązań, lub jego
brak. Ważne jest zatem, aby stosować takie rozwiązania interpolacji, które przynoszą dokładnie jedno
rozwiązanie zagadnienia. Poniżej opisane zostaną wielomianowe metody interpolacyjne, stanowiące
przedmiot tego ćwiczenia, zapewniające uzyskanie dokładnie jednego unikatowego wielomianu
rozwiązującego zagadnienie interpolacji.


Wielomianowa teoria interpolacji zakłada, że istnieje dokładnie jeden wielomian co najwyżej

stopnia

 ( ≥ 0), który interpoluje funkcję  = ( ). Oznacza to, iż wielomian ten w punktach

,

,

… .



przyjmuje wartości



, 

, 

… . 



. Przyjmujemy, że węzły interpolujące



rozmieszczone są dowolnie w analizowanym przedziale

< ;  >, zachowując warunek





.

Dla danych węzłów, których wartości funkcji

 = ( ) są znane, poszukujemy wielomianu o postaci:



( ) = 

+ 

+ 

+ ⋯ + 





.

(2)

Odnosząc się do warunku interpolującego

(1),

tworzymy układ równań:



+

+

+ ⋯ +







= 



+

+

+ ⋯ +





= 



+



+



+ ⋯ +







= 



,

który w postaci macierzowej zapisać można jako

" ∙  = 

(3)

W zależności macierzowej

(3),

A jest macierzą wymiaru

 ×  zawierającą współczynniki węzłów

,



. Pozostałe operatory a i y są wektorami wymiaru

1 × , zawierającymi odpowiednio

współczynniki wyrazów wielomianu oraz wartości funkcji

 = ( ) w węzłach interpolacyjnych.

W przedstawionej zależności

(2)

odnalezienie wielomianu interpolacyjnego, sprowadza się do

wyznaczenia współczynników wielomianu





. Wartości tych współczynników, można łatwo

wyznaczyć przekształcając zależność

(3),

do postaci:

 = "

%

∙ 

(4)

Na wstępie opisu metody interpolacji wielomianowej podkreślono, że poszukiwaniom podlega

unikalny wielomian stanowiący dokładne jedno rozwiązanie naszego zagadnienia. Sprawdzenie, czy
wyznaczony wielomian spełnia to wymagania jest możliwe poprzez analizę wyznacznika macierzy A.
Wyznacznik ten nazywany wyznacznikiem Vandermonde’a, matematycznie opisać można jako:

|"| = ∏

(





) ≠ 0

)))

.

(5)

Przy spełnieniu założeń





dla

 ≠ *, wartość tego wyznacznika jest zawsze różna od zera. Zatem

układ ma dokładnie jedno rozwiązanie, a współczynniki wielomianu bazując na twierdzeniu Cramer’a
wyznaczyć można wzorem





=

|+|

∙ ∑





∙ "

,



-

(6)

background image

3

Z twierdzenia Cramer’a wynika, że istnieje wielomian spełniający założenia

(1)

i

(2),

którego stopień

nie jest większy niż n.

2.1.

Interpolacyjny wzór Lagrange’a.

Wśród wielu rozwiązań wielomianowej interpolacji, metoda Lagrange’a zyskała wielu

zwolenników ze względu na swoją prostotę. Do określenia wielomianu, używa się formuły
Lagrange’a, której matematyczny zapis przedstawiono poniżej

%

( ) = ∑ 



.



( )



-

,

(7)

gdzie

.



( ) =

/%/

0

/

1

%/

0

/%/

2

/

1

%/

2

∙ … ∙

/%/

130

/

1

%/

130

/%/

140

/

1

%/

140

∙ … ∙

/%/

5

/

1

%/

5

.

(8)

Upraszczając funkcję kardynalną

(8),

jej zapis sprowadzić możemy do postaci :

.



( ) = 6









-

7

(9)

Korzystając z

[2],

poniżej przedstawiono dwa przykłady realizacji interpolacji wykorzystujące

formułę Lagrange’a. W analizowanych przypadkach interpolacji dokonywano linią prostą (

 = 2)

i funkcją paraboliczną (

 = 3), opierając się na zależności

(7):

-

dla

 = 2

( ) = 

∙ .

( ) + 

∙ .

( )

gdzie

.

( ) =

.

( ) =

-

dla

 = 3

( ) = 

∙ .

( ) + 

∙ .

( ) + 

:

∙ .

:

( )

.

( ) =

:

:

.

( ) =

:

:

.

:

( ) =

:

:

Określone w ten sposób funkcje kardynalne są wielomianami stopnia

 − 1, które posiadają

charakterystyczna cechę:

.



;



< = =0 *>ż>.  = *

1 *>ż>.  ≠ *@ = A

,

. (10)

background image

4

Parametr

A

,

nazywany jest deltą Kroneckera, a za jego pomocą można łatwo udowodnić poprawność

wykonanej interpolacji. Zakładając, że

=



przekształcając formułę Lagrange’a uzyskujemy:

%

( ) = B 



.



( )



-

= B 



A

,

= 



(11)



-

2.2.

Interpolacyjny wzór Newtona.


Pomimo faktu, iż realizacja matematyczna formuły Lagrange’a jest stosunkowo prosta,

metoda ta nie zapewnia efektywnego algorytmu obliczeniowego. Do numerycznych obliczeń
interpolacyjnych, znacznie częściej wykorzystuje się metodę Newtona. Metoda ta, podobnie jak
przedstawiana powyżej metoda Lagrange’a jest jednym ze sposobów rozwiązania wielomianowego
zagadnienia interpolacji. W metodzie Newtona wielomian interpolacyjny zapisuje się jako:

%

( ) = 

+ ( −

)

+ ( −

)( −

)

:

+ ⋯ + ( −

)( −

) … ( −



)



(12)


Taka forma wielomianu, pozwala na znaczenie efektywniejsze wykonywanie obliczeń

numerycznych. Dla łatwiejszej analizy wielomianowego wzoru Newtona, poniżej zaprezentowano
przykład

[2]

, realizacji wielomianu dla

 = 3, czyli dla czterech węzłów interpolacji.

%

( ) = 

+ ( −

)

+ ( −

)( −

)

:

+ ( −

)( −

)( −

:

)

C

=

= 

+ ( −

)D

+ ( −

)E

:

+ ( −

:

)

C

FG


Przedstawiony powyżej wielomian, można rekurencyjnie zapisać jak poniżej:

( ) = 

C

;

( ) = 

:

+ ( −

:

)

( );

( ) = 

+ ( −

)

( );

:

( ) = 

+ ( −

)

( )


Wprowadzenie zapisu rekurencyjnego, pozwoliło na wyznaczenie uogólnionej postaci wielomianu
Newtona, wykorzystywanego bezpośrednio w algorytmie numerycznym. Uogólnione to przybiera
następującą formę:

( ) = 



;



( ) = 

%

+ ( −

%H

)

H%

( ) I = 1,2 … ,  − 1

(13)


Wyznaczenie końcowej postaci wielomianu interpolacyjnego

(13)

z wykorzystaniem metody

Newtona, musi być poprzedzone obliczeniami współczynników wielomianu





. Zakładając, że

wartości funkcji dla analizowanych argumentów obliczyć można z zależności:





= 

(



)

+ ⋯ + (



)(



) … (



%

)



(14)

wprowadzając teorie ilorazów różnicowych pierwszego n-tego rzędu

∇y

L

=

y

L

− y

x

L

− x

i = 2,3, … , n

background image

5

y

L

=

∇y

L

− ∇y

x

L

− x

i = 3,4, … , n

Q

y

L

=

R30

S

R

%∇

R30

S

R30

T

R

%T

R30

i = 3,4, … , n

(15)


współczynniki wielomianu interpolacyjnego

(12)

przybierają wartości jak poniżej



= 

, 

= ∇

, 

:

= ∇



:

, … , 



= ∇







(16)


3.

Wbudowane narzędzia interpolacyjne MATLAB'a.

Matlab jako rozbudowane środowisko do obliczeń inżynierskich dysponuje szeregiem

narzędzi przeznaczonych do przybliżania funkcji. W zakresie problematyki wielomianowej
interpolacji do dyspozycji użytkownika są dwa narzędzia : zestaw funkcji wbudowanych interp oraz
graficzny interfejs Basic Fitting. Decydując się na interpolacje z użyciem funkcji sklejanych
użytkownik może wykorzystać wbudowaną funkcję spline. W przytoczonych przypadkach narzędzia
te wymagają, aby w przestrzeni roboczej (ang. workspace) znajdowały się dwa wektory danych
zawierające współrzędne węzłów interpolacyjnych (np. xi i yi). Poniżej przedstawiono krótki opis
wspomnianych narzędzi, pozwalający na zapoznanie się z nimi w stopniu wystarczającym do
codziennej praktyki inżynierskiej.

3.1.

Funkcje interp

Wśród zestawu funkcji interp

[3]

w środowisku MATLAB użytkownik wybierać może

pomiędzy:

- interpolacją jednowymiarową : interp1

- interpolacją dwuwymiarową : interp2

- interpolacją trójwymiarową : interp3

- interpolacją wielowymiarową : interpN

- interpolacją jednowymiarową z użyciem FFT : interpft.

W każdym z powyższych przypadków istnieje możliwość określenia metod interpolacji, takich jak:

- funkcją stałą (najbliższego sąsiada) : nearest;

- wielomianem pierwszego rzędu (kawałkami liniowa) : linear;

- wielomianem rzędu trzeciego z zachowaną ciągłością pierwszej pochodnej (kawałkami

sześcienna), czyli interpolacja Hermite'a : cubic;

- funkcjami sklejanymi : spline.


Wywołanie funkcji odbywa się poprzez wprowadzenie komendy:

>> nazwa_zmiennej = interp1(xi, yi, xp, 'metoda');

gdzie xi i yi są wektorami określającymi węzły interpolacyjne, xp jest przedziałem argumentów dla
których dokonywana jest interpolacja. Jako 'metode' należy podać jedną z przedstawionych powyżej
metod interpolacyjnych.


background image

6

3.2.

Interfejs Basic Fitting.

Posiadając zestaw danych reprezentujących węzły interpolacji, możliwe jest także wykonanie

interpolacji z wykorzystaniem interfejsu graficznego Basic Fitting. Aby skorzystać z możliwości tego
narzędzia niezbędne jest wygenerowanie rysunku rozmieszczenia węzłów interpolacyjnych np.:

>> plot(xi, yi);

Następnie w oknie wygenerowanego rysunku (ang. figure), na pasku menu odnajdujemy zakładkę
Tools, a w niej interfejs Basic Fitting. Przykładowe wywołanego interfejsu przedstawiono na rys. 2.

Rys. 2. Interfejs interpolacji Basic Fitting i okno grafiki z naniesioną interpolacją.

Wśród dostępnych metod interpolacyjnych w interfejsie Basic Fitting, znaleźć możemy

interpolacje: funkcjami sklejanymi, odcinkami prostą, liniową, kwadratową, sześcienną lub
wielomianową o stopniu wielomianu od 4 do 10. Narzędzie to jest bardzo przydatne w sytuacjach gdy
nie musimy określić reprezentacji matematycznej funkcji, a jedynie jej przebieg będący funkcją np.
czasu.

4.

Przebieg ćwiczenia.

4.1.

Generacja węzłów interpolacyjnych

Pierwszym krokiem w realizacji ćwiczenia dotyczącego interpolacji, jest generacja węzłów

interpolacyjnych. W tym celu każdy ze studentów uruchamia wskazany przez prowadzącego
laboratorium, plik m-funkcji stanowiący generator węzłów interpolacyjnych. Pliki te oznaczone jako :
Generator_1, Generator_2 i Generator_3 zrealizowane są jako funkcję prywatne. Ich wywołanie
odbywa się poprzez wprowadzenie w oknie poleceń, komendy:

>>

[xi,yi,x,h] = Generator_n(c,d,k)

gdzie xi i yi są wektorami argumentów i wartości węzłów interpolacyjnych. Z kolei wektory x i h
odnoszą się do funkcji rzeczywistej. Parametry wejściowe c, d i k funkcji, zdefiniować należy
indywidualnie :

background image

7

U =

VWXYZ V[\] ^ _\`

;

a =

VWXYZ V[\] ^ _\`

VWXYZ V[\] ^ ZX^bH`

; k – krok rozmieszczenia węzłów

(przyjąć k = 1)

UWAGA : w nazwie funkcji Generator_n, parametr n zastąpić numerem wskazanego generatora.

Każdy z dostępnych generatorów realizuje inną funkcję, w oparciu o którą wyznaczane są

węzły interpolacyjne. Poniżej przedstawiono zestawienie generatorów i odpowiadających im funkcji
bazowych:

c>>defd_1 ⇒ ℎ = >

%W/

∙ sin( ) + a;

c>>defd_2 ⇒ ℎ = log(2U ) ∙ cos(a ) ;

c>>defd_3 ⇒ ℎ = sin(U ) + sin(2a ) ;

Poprawne uruchomienie funkcji, spowoduje wprowadzeniem do przestrzeni roboczej czterech

zmiennych oraz wyświetleniem rysunku z rozmieszczeniem węzłów interpolacyjnych. Poniżej
przedstawiony został zapis funkcji użytkownika, przeznaczonych do generacji węzłów
interpolacyjnych.

% METODY NUMERYCZE LABORATORIUM I : INTERPOLACJA

% Generator funkcji nr 1

function

[xi,yi,x,h] = Generator_1(c,d,k);

close

all

clc

% Wyznaczenie funkcji bazowej

n = 10;

x = 0:0.001:n;

h = exp(-x*c).*sin(x)+d;

% Wyznaczenie wektorów w

ę

złów funkcji do interpolacji

xi = 0:k:10;

yi = exp(-xi*c).*sin(xi)+d;

% Wykre

ś

lenie w

ę

złów interplacyjnych

plot(xi,yi,

'o'

);

xlabel (

'xi'

);

ylabel (

'yi = f(xi)'

);

title (

'Rozmieszczenie w

ę

złów interpolacyjnych'

);

% METODY NUMERYCZE LABORATORIUM I : INTERPOLACJA

% Generator funkcji nr 2

function

[xi,yi,x,h] = Generator_2(c,d,k);

close

all

clc

% Wyznaczenie funkcji bazowej

background image

8

n = 10;

x = 0:0.001:n;

h = log(x*2*c).*cos(d*x);

% Wyznaczenie wektorów w

ę

złów funkcji do interpolacji

xi = 0:k:10;

yi = log(xi*2*c).*cos(d*xi);

% Wykre

ś

lenie w

ę

złów interplacyjnych

plot(xi,yi,

'o'

);

xlabel (

'xi'

);

ylabel (

'yi = f(xi)'

);

title (

'Rozmieszczenie w

ę

złów interpolacyjnych'

);

% METODY NUMERYCZE LABORATORIUM I : INTERPOLACJA

% Generator funkcji nr 3

function

[xi,yi,x,h] = Generator_3(c,d,k);

close

all

clc

% Wyznaczenie funkcji bazowej

n = 10;

x = 0:0.001:n;

h = sin(c*x)+sin(2*d*x);

% Wyznaczenie wektorów w

ę

złów funkcji do interpolacji

xi = 0:k:10;

% Zmienia

ć

maksymaln

ą

liczb

ę

w

ę

złów k

yi = sin(c*xi)+sin(2*d*xi);

% Wykre

ś

lenie w

ę

złów interplacyjnych

plot(xi,yi,

'o'

);

xlabel (

'xi'

);

ylabel (

'yi = f(xi)'

);

title (

'Rozmieszczenie w

ę

złów interpolacyjnych'

);

SPRAWOZDANIE:

- podać wartości współczynników c i d;

- podać postać funkcji h = f(x);

- przedstawić wykres funkcji bazowej h = f(x);

- przedstawić rozmieszczenie węzłów interpolacyjnych yi =f(xi).

background image

9

4.2.

Interpolacja przy użyciu wbudowanych funkcji MATLAB'a.

Wygenerowane w punkcie 4.1. węzły interpolacji w ramach poniższego punkt, poddawane

będą interpolacji jednowymiarowej przy użyciu narzędzi wbudowanych MATLAB'a. Do tego celu
należy stworzyć nowy m-plik funkcyjny, którego kod przedstawiony został poniżej. W ramach tego

ć

wiczenia, należy przeprowadzić analizę działania funkcji interp1przy stosowaniu różnych metod

interpolacyjnych. Prawidłowo napisany skrypt, generuje zestaw rysunków odnoszących się do :
rozmieszczenie węzłów interpolacyjnych, wykresu funkcji po interpolacji, wykresu błędu interpolacji,
porównania funkcji interpolującej, interpolowanej i węzłów interpolacji. Dodatkowo w skrypcie
wyznaczana jest także maksymalna wartość błędu bezwzględnego zarejestrowanego w analizowanym
przedziale.

% METODY NUMERYCZNE : LABORATORIUM I : INETRPOLACJA

% ZADANIE 1 : Interpolacja wbudowanymi narz

ę

dziami MATLAB'a

close

all

clc

% Wykre

ś

lenie w

ę

złów interpolacyjnych xi, yi

figure(1);

plot(xi,yi,

'o'

);

xlabel (

'xi'

);

ylabel (

'yi = f(xi)'

);

title (

'Rozmieszczenie w

ę

złów interpolacyjnych'

);

% Interpolacja wbudowanymi narz

ę

dziami MATLAB'a

% xi, yi - współrz

ę

dne w

ę

złów interpolacyjnych

% x_p - przedział punktów dla których przeprowadzana...

% b

ę

dzie interpolacja

% 'metoda' - wybór metody interpolacyjnej

% y - funkcja zinterpolowana

x_p = 0:0.2:10;

% zbada

ć

wpływ skoku przedziału (np: 0.2,0.5,1)

y = interp1(xi,yi,x_p,

'nearest'

);

% Wykre

ś

lenie funkcji y = f(x_p)

figure(2);

plot(x_p,y);

xlabel (

'x_p'

);

ylabel (

'y = f(x_p)'

);

title (

'Wykres funkcji po interpolacji metod

ą

TU WPISA

Ć

METOD

Ę

'

);

% Wyznaczenie warto

ś

ci bł

ę

du

h = sin(c*x_p)+sin(2*d*x_p);

% Wpisa

ć

analizowan

ą

funkcj

ę

bazow

ą

% UWAGA !! zamieni

ć

x na x_p

blad = y-h;

max_blad_bezwzgledny = max(abs(blad))

% Wykre

ś

lenie funkcji bł

ę

du

figure(3);

plot(x_p,blad);

background image

10

xlabel (

'x'

);

ylabel (

'Warto

ść

ę

du delta_y'

);

title (

'Wykres błedu interpolacji dla metody WPISA

Ć

METOD

Ę

'

);

% Zestawienie wykresów funkcji i w

ę

złów

figure(4);

plot(xi,yi,

'o'

,x_p,y,

'r-'

,x_p,h,

'g-'

);

xlabel (

'x'

);

ylabel (

'yi,y=f(x_p)'

);

title (

'Wynik interpolacji, funckja oryginalna i w

ę

zły '

);

SPRAWOZDANIE:

- przedstawić zestaw rysunków odnoszących się do różnych metod interpolacyjnych;

- sporządzić tabele zestawiającą maksymalną wartość błędu dla analizowanych przypadków

- zbadać wpływ skoku przedziału, poprzez zmianę parametrów 0.2, 0.5, 1;

- sformułować wnioski dotyczącej zrealizowanej części ćwiczenia.



4.3.

Zadanie obliczeniowe z metody Lagrange'a.

Ten punkt ćwiczenia, poświęcony został analizie algorytmu interpolacji wielomianowej

Lagrange'a. Celem tego ćwiczenia jest zapoznanie Studentów z realizacją algorytmu poprzez
przeprowadzenia w MATLAB' ie ćwiczenia obliczeniowego, mającego na celu wyznaczenie wartości
funkcji dla zadanych argumentów.

Zadanie : Korzystając z wiedzy zdobytej podczas wykładu oraz przytoczonej w punkcie 2.1.,

wyznaczyć wartości funkcji dla dwóch argumentów analizowanego przedziału :



= ( = 1) oraz



C

= ( = 4). Węzły interpolacyjne, na podstawie których zrealizować należy obliczenia

zestawione zostały w tabeli nr. 1.

Tab. 1. Węzły interpolacyjne do zadania 4.3.

n

1

2

3

4

x

0

2

3

5

y = f(x)

5

9

23

52

SPRAWOZDANIE:

- wyznaczyć wartości funkcji dla punktów x = 1 i x = 4;

- podać wartości współczynników funkcji kardynalnych l;

- sporządzić wykres funkcji y =f(x) i nanieść na niego wyznaczone punkty;

- korzystając z narzędzia Basic Fitting, nanieść na wykres funkcji dodatkowe wykresy

interpolacji (co najmniej 2 metody);

- sformułować wnioski.

4.4.

Interpolacja z wykorzystaniem metody Newton' a.

Jak wspomniano na wstępie instrukcji algorytm Lagrange'a pomimo swojej prostoty jest dość

mało efektywny w realizacji. Znacznie powszechniej do interpolacji w programach matematycznych
wykorzystuje się algorytm Newton' a. Poniższe ćwiczenie ma na celu zapoznanie Studenta z metodą

background image

11

realizacji algorytmu Newton' a i wykorzystanie go do interpolacji w oparciu o otrzymane węzły
interpolacyjne.

UWAGA : do poprawnego wykonania ćwiczenia, w przestrzeni roboczej muszą znajdować się jedynie
wektory xi , yi oraz indywidualne parametry c, d i k.

Skrypt pozwalający na wykonanie ćwiczenia przedstawiony został poniżej. Odwołuje się on do dwóch
funkcji użytkownika: wspol_newton (przeznaczonej do obliczania współczynników a wielomianu)
oraz do funkcji wielomian_newton (przeznaczonej do obliczania wielomianu interpolującego). Do
prawidłowego wykonania ćwiczenia, przytoczone funkcje muszą zostać zdefiniowane przed
przystąpieniem do pisania skryptu wykonawczego.

% METODY NUMERYCZNE : LABORATORIUM I : INETRPOLACJA

% ZADANIE 3_1 : Zadanie obliczeniowe z metody Newtona

% Funkcja zwraca współczynniki a wielomianu Newtona

function

a = wspol_newton(xi,yi)

n = length(xi);

a = yi;

for

k = 2:n

a(k:n) = (a(k:n) - a(k-1))./(xi(k:n) - xi(k-1));

end

% METODY NUMERYCZNE : LABORATORIUM I : INETRPOLACJA

% ZADANIE 3_2 : Zadanie obliczeniowe z metody Newtona

% Funkcja zwraca warto

ś

ci wielomianu w punkatch x

function

w = wielomian_newton(a,xi,x)

n = length(xi);

w = a(n);

for

k = 1:n-1;

w = a(n-k) + (x - xi(n-k)).*w;

end

% METODY NUMERYCZNE : LABORATORIUM I : INETRPOLACJA

% ZADANIE 3 : Zadanie obliczeniowe z metody Newtona

% UWAGA : Do wykonania

ć

wiczenia wymagane jest, aby w przestrzeni

% roboczej znajdowały si

ę

wektory xi i yi okre

ś

laj

ą

ce

% w

ę

zły interpolacyjne, oraz indywidualne zmienne studenta c i d.

% Były one generowane w

ć

wiczeniu pierwszym

close

all

clc

a=wspol_newton(xi, yi);

% wyznaczenie współczynników a

% wielomianu Newton'a

' x yInterpolacja yWzorcowe'

% utworzenie opisu kolumn wyników

background image

12

for

x=0:0.25:10

yInterpolacja=wielomian_newton(a,xi,x);

% wyznaczenie warto

ś

ci wielomianu

% Newton'a

yWzorcowe=sin(c*x)+sin(2*d*x);

% Wzorcowe wyniki oblicze

ń

% TU WPISA

Ć

FUNKCJ

Ę

Z GENERATORA

fprintf(

'%10.5f'

,x,yInterpolacja,yWzorcowe)

% formatowanie

fprintf(

'\n'

)

%wy

ś

wietlenia wyników

end

Prawidłowo wykonane pliki, po uruchomieniu powinny wygenerować tablicę trzykolumnową

zawierającą zmienne x, yInterpolacja oraz yWzorcowe. Na ich podstawie możliwe jest ocenienie
przydatności analizowanego narzędzia poprzez porównanie funkcji interpolującej i interpolowanej.

SPRAWOZDANIE:

- przeprowadzić analizę działania algorytmu dla trzech wartości kroku przedziału x;

- wyniki przedstawić w postaci tabelarycznej;

- dla analizowanych przypadków przedstawić porównanie graficzne funkcji interpolowanej

i funkcji interpolującej;

- sformułować wnioski.



5.

Zagadnienia kontrolne.

5.1.

Sformułować definicję zagadnienia interpolacji.

5.2.

W graficzny sposób przedstawić istotę interpolacji (uwzględnić błąd interpolacji).

5.3.

Jakie postaci może przybierać funkcja interpolująca ?

5.4.

W skrócie przedstawić istotę interpolacji wielomianowej.

5.5.

Krótko zdefiniować teorię interpolacji Lagrange'a.

5.6.

Krótko zdefiniować teorię interpolacji Newton'a.

5.7.

Od czego zależeć będzie dokładność interpolacji ?

5.8.

Jakie kryterium powinno spełniać prawidłowo dobrane narzędzie interpolujące ?

5.9.

Wymienić wbudowane narzędzia interpolacji MATLAB' a.

6.

Bibliografia.

[1]

Fortuna Z., Macukow B., Wąsowski J., Metody Numeryczne, wydanie 6, wyd. WNT,

Warszawa, 2004.

[2]

Kiusalaas J., Numerical Methods in Engineering with MATLAB 2

nd

Edition, wyd.

Cambridge University Press, Cambridge (UK) , 2009.

[3]

Mrożek B., Mrożek Z., MATLAB i Simulink Poradnik użytkownika. Wydanie II

zmienione i rozszerzone, wyd. HELION, Gliwice, 2004.


Wyszukiwarka

Podobne podstrony:
Interpretacja widm w podczerwieni1, Studia - materiały, Analiza instrumentalna
Interpretacja widm w podczerwieni2, Analiza instrumentalna
Interpretacja widm w podczerwieni1, Analityka medyczna, Analiza instrumentalna
instrukcja interphone f5 mc
Interpretacja treści Księgi jakości na wybranym przykładzie
wykład 6 instrukcje i informacje zwrotne
Instrumenty rynku kapitałowego VIII
Praktyczna interpretacja pomiarów cisnienia
05 Instrukcje warunkoweid 5533 ppt
Instrukcja Konwojowa
Komunikacja interpersonalna w 2 DO WYSYŁKI
KOMUNIKACJA INTERPERSONALNA 7
Jadro Ciemnosci interpretacja tytulu
Zakres prawa z patentu Interpretacja zastrzeżeń patentowych2 (uwagi prawnoporównawcze)

więcej podobnych podstron