Interpolacja wielomianowa

Transkrypt

Interpolacja wielomianowa
Interpolacja ciągu danych za pomocą wielomianu stopnia n-1.
Przykład wyznaczania funkcji interpolującej między zadanymi pięcioma węzłami. W wyniku
wykonania procedury otrzymuje się wektor parametrów a,b,c,d,e równania
y=ax4+bx3+cx2+dx+e.
Skrypt SciLab:
//Przyklad interpolacji wielomianowej zbioru punktow
x=[0; 1; 2; 3; 4];
//wektor wspolrzednych x
y=[-1; 0; 0.5; -0.2; 1.4]; //wektor wspolrzednych y
//Narysowanie punktow na plaszczyznie
plot(x,y,'r*');
//Utworzenie macierzy wspolczynnikow
A1=[1;1;1;1;1];
A2=A1.*x;
A3=A2.*x;
A4=A3.*x;
A5=A4.*x;
A=[A1,A2,A3,A4,A5];
//Wyznaczenie wektora parametrow wielomianu
par=A\y;
//nowy, "gesty" wektor wspolrzednych x
x1=[-0.5:0.01:4.5];
//Wyznaczenie wielomianu dla danych w x1
y1=par(1)+par(2)*x1+par(3)*x1^2+par(4)*x1^3+par(5)*x1^4;
//Narysowanie funkcji interpolujacej
plot(x1,y1,'g');
Otrzymany wektor parametrów:
par =
- 1.
- 0.0333333
2.025
- 1.1666667
0.175th =
- 10.550442
0.2926281
0.0210960
Wizualizacja interpolacji wielomianowej
między węzłami: