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: