METODY OBLICZENIOWE INFORMATYKI – LABORATORIUM
materiały pomocnicze
Ćwiczenie 5
Interpolacja.
ZAGADNIENIE INTERPOLACJI
Zagadnienie interpolacji może być sformułowane następująco: w pewnym przedziale
b
a,
danych
jest n+1 różnych punktów
n
x
x
x
,...,
,
1
0
- nazywanych węzłami interpolacji, oraz wartości
n
y
y
y
,...,
,
1
0
pewnej funkcji
)
(x
f
y
=
w tych punktach. Zadaniem interpolacji jest wyznaczenie
przybliżonych wartości funkcji w punktach nie będących węzłami interpolacji. W tym celu należy
znaleźć funkcję interpolującą
)
(x
F
y
=
, która w węzłach interpolacji przyjmuje takie same
wartości co funkcja
)
(x
f
y
=
(tzn. funkcję, której wykres przechodzi dokładnie przez zadane
punkty).
WIELOMIAN INTERPOLACYJNY LAGRANGE'A
Poszukujemy wielomianu stopnia n, który w n+1 danych punktach
n
x
x
x
,...,
,
1
0
przyjmuje zadane
wartości
n
y
y
y
,...,
,
1
0
. Wielomian Lagrange'a spełniający powyższy warunek ma postać:
∑
=
+
−
+
−
−
−
−
−
−
−
−
−
−
−
=
n
j
n
j
j
j
j
j
j
j
n
j
j
j
n
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
y
x
W
0
1
1
1
0
1
1
1
0
)
)...(
)(
)...(
)(
(
)
)...(
)(
)...(
)(
(
)
(
PROCEDURY ŚRODOWISKA MATLAB REALIZUJĄCE INTERPOLACJĘ
Standardowe procedury MATLAB-a realizują interpolację za pomocą następujących metod:
- interpolacja wielomianami pierwszego i trzeciego stopnia,
- interpolacja za pomocą funkcji sklejanych.
Funkcja Parametry
Działanie
interp1(x,y,xi,'metoda')
x, y – wektory określające
węzły interpolacji
xi – wektor punktów, dla
których obliczane są
wartości wielomianu
interpolującego
metoda – rodzaj interpolacji:
- linear (interpolacja
funkcją łamaną)
- spline (interpolacja
funkcjami
sklejanymi trzeciego
stopnia)
- cubic (interpolacja
wielomianami
trzeciego stopnia)
Interpolacja funkcji jednej
zmiennej
ZADANIA
Zad.1.
Napisać program w wybranym języku programowania obliczający wartość wielomianu Lagrange'a
stopnia n w dowolnym punkcie leżącym wewnątrz przedziału
n
x
x ,
0
i różnym od węzła, przy
zadanych węzłach interpolacji
n
x
x
x
,...,
,
1
0
oraz wartościach
n
y
y
y
,...,
,
1
0
funkcji w tych węzłach.
Wykorzystując napisany program obliczyć wartość wielomianu interpolacyjnego Lagrange'a
stopnia 3 dla
0
=
x
. Wielomian interpolacyjny w punktach –2, 1, 2, 4 przyjmuje wartości 3, 1, -3, 8.
Zad. 2.
Porównać jakość dostępnych metod interpolacji w funkcji
interp1
środowiska MATLAB, na
przykładzie funkcji:
x
e
x
f
y
x
sin
2
)
(
25
.
0
−
=
=
. W przedziale 12
,
0
rozmieszczonych jest
równomiernie siedem węzłów interpolacji.
Zad. 3.
Dana jest funkcja schodkowa określona w wybranych punktach:
<
≤
<
≤
=
10
5
dla
5
5
0
dla
0
)
(
n
n
n
s
N
n
∈
Znaleźć wielomian interpolacyjny stopnia 10-go za pomocą funkcji
polyfit
środowiska
MATLAB. Porównać przebieg otrzymanego wielomianu z przebiegami wielomianów
aproksymujących otrzymanymi w zad. 3 ćwiczenia nr 2.