Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % W ramach pakietu Octave napisz skrypt ktory dla podanych wezlow ustali wzor wielomianu
- % interpolacyjnego W(x) oraz wyswietli wykres tego wielomianu z zaznaczonymi wezlami
- % oraz obliczonymi punktami
- %
- % w1 = (-10,5); w2=(-6,-3); w3=(-2,2); w4=(1,-1);w5=(4,-5);w6=(7,-7);w7=(10,10)
- w1 = [-10,5];
- w2 = [-6,-3];
- w3 = [-2,2];
- w4 = [1,-1];
- w5 = [4,-5];
- w6 = [7,-7];
- w7 = [10,10];
- X=[ w1(1,1)^0, w1(1,1)^1, w1(1,1)^2, w1(1,1)^3, w1(1,1)^4, w1(1,1)^5, w1(1,1)^6;
- w2(1,1)^0, w2(1,1)^1, w2(1,1)^2, w2(1,1)^3, w2(1,1)^4, w2(1,1)^5, w2(1,1)^6;
- w3(1,1)^0, w3(1,1)^1, w3(1,1)^2, w3(1,1)^3, w3(1,1)^4, w3(1,1)^5, w3(1,1)^6;
- w4(1,1)^0, w4(1,1)^1, w4(1,1)^2, w4(1,1)^3, w4(1,1)^4, w4(1,1)^5, w4(1,1)^6;
- w5(1,1)^0, w5(1,1)^1, w5(1,1)^2, w5(1,1)^3, w5(1,1)^4, w5(1,1)^5, w5(1,1)^6;
- w6(1,1)^0, w6(1,1)^1, w6(1,1)^2, w6(1,1)^3, w6(1,1)^4, w6(1,1)^5, w6(1,1)^6;
- w7(1,1)^0, w7(1,1)^1, w7(1,1)^2, w7(1,1)^3, w7(1,1)^4, w7(1,1)^5, w7(1,1)^6];
- disp("Macierz X");
- disp(X);
- Y = [w1(1,2);w2(1,2);w3(1,2);w4(1,2);w5(1,2);w6(1,2);w7(1,2);];
- disp("Macierz Y: \n")
- disp(Y);
- A=inv(X)*Y;
- disp(inv(X));
- disp("Macierz wspolczynnikow: \n")
- disp(A);
- fprintf('W(x)=%f*x^6+%f*x^5+%f*x^4+%f*x^3+%f*x^2+%f*x+%f\n',A(7,1),A(6,1),A(5,1),A(4,1),A(3,1),A(2,1),A(1,1));
- x=[-10:1:10];
- y=zeros(1,21);
- for i=1:21
- y(i)=A(1,1)+A(2,1)*x(i)+A(3,1)*x(i)^2+A(4,1)*x(i)^3+A(5,1)*x(i)^4+A(6,1)*x(i)^5+A(7,1)*x(i)^6;
- end
- plot(x,y);
- grid on;
- hold on;
- vector_x=[w1(1,1),w2(1,1),w3(1,1),w4(1,1),w5(1,1),w6(1,1),w7(1,1)];
- vector_y=[0,0,0,0,0,0,0];
- for i=1:7
- vector_y(1,1)=vector_y(1,1)+A(i,1)*w1(1,1)^(i-1);
- vector_y(1,2)=vector_y(1,2)+A(i,1)*w2(1,1)^(i-1);
- vector_y(1,3)=vector_y(1,3)+A(i,1)*w3(1,1)^(i-1);
- vector_y(1,4)=vector_y(1,4)+A(i,1)*w4(1,1)^(i-1);
- vector_y(1,5)=vector_y(1,5)+A(i,1)*w5(1,1)^(i-1);
- vector_y(1,6)=vector_y(1,6)+A(i,1)*w6(1,1)^(i-1);
- vector_y(1,7)=vector_y(1,7)+A(i,1)*w7(1,1)^(i-1);
- end
- plot(vector_x,vector_y,'rx');
- plot(w1(1,1),w1(1,2),'--rs');
- plot(w2(1,1),w2(1,2),'--rs');
- plot(w3(1,1),w3(1,2),'--rs');
- plot(w4(1,1),w4(1,2),'--rs');
- plot(w5(1,1),w5(1,2),'--rs');
- plot(w6(1,1),w6(1,2),'--rs');
- plot(w7(1,1),w7(1,2),'--rs');
- title('Interpolacja wielomianowa');
- xlabel('OX');
- ylabel('OY');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement