Advertisement
Guest User

Untitled

a guest
Jun 3rd, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 2.31 KB | None | 0 0
  1. % W ramach pakietu Octave napisz skrypt ktory dla podanych wezlow ustali wzor wielomianu
  2. % interpolacyjnego W(x) oraz wyswietli wykres tego wielomianu z zaznaczonymi wezlami
  3. % oraz obliczonymi punktami
  4. %
  5. % w1 = (-10,5); w2=(-6,-3); w3=(-2,2); w4=(1,-1);w5=(4,-5);w6=(7,-7);w7=(10,10)
  6.  
  7. w1 = [-10,5];
  8. w2 = [-6,-3];
  9. w3 = [-2,2];
  10. w4 = [1,-1];
  11. w5 = [4,-5];
  12. w6 = [7,-7];
  13. w7 = [10,10];
  14.  
  15. 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;
  16.     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;
  17.     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;
  18.     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;
  19.     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;
  20.     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;
  21.     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];
  22.    
  23.   disp("Macierz X");
  24.   disp(X);
  25.   Y = [w1(1,2);w2(1,2);w3(1,2);w4(1,2);w5(1,2);w6(1,2);w7(1,2);];
  26.   disp("Macierz Y: \n")
  27.   disp(Y);
  28.   A=inv(X)*Y;
  29.   disp(inv(X));
  30.   disp("Macierz wspolczynnikow: \n")
  31.   disp(A);
  32.   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));
  33.   x=[-10:1:10];
  34.   y=zeros(1,21);
  35.   for i=1:21
  36.     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;
  37.   end
  38.   plot(x,y);
  39.   grid on;
  40.   hold on;
  41.   vector_x=[w1(1,1),w2(1,1),w3(1,1),w4(1,1),w5(1,1),w6(1,1),w7(1,1)];
  42.   vector_y=[0,0,0,0,0,0,0];
  43.   for i=1:7
  44.     vector_y(1,1)=vector_y(1,1)+A(i,1)*w1(1,1)^(i-1);
  45.     vector_y(1,2)=vector_y(1,2)+A(i,1)*w2(1,1)^(i-1);
  46.     vector_y(1,3)=vector_y(1,3)+A(i,1)*w3(1,1)^(i-1);
  47.     vector_y(1,4)=vector_y(1,4)+A(i,1)*w4(1,1)^(i-1);
  48.     vector_y(1,5)=vector_y(1,5)+A(i,1)*w5(1,1)^(i-1);
  49.     vector_y(1,6)=vector_y(1,6)+A(i,1)*w6(1,1)^(i-1);
  50.     vector_y(1,7)=vector_y(1,7)+A(i,1)*w7(1,1)^(i-1);
  51.   end
  52.     plot(vector_x,vector_y,'rx');
  53.     plot(w1(1,1),w1(1,2),'--rs');
  54.     plot(w2(1,1),w2(1,2),'--rs');
  55.     plot(w3(1,1),w3(1,2),'--rs');
  56.     plot(w4(1,1),w4(1,2),'--rs');
  57.     plot(w5(1,1),w5(1,2),'--rs');
  58.     plot(w6(1,1),w6(1,2),'--rs');
  59.     plot(w7(1,1),w7(1,2),'--rs');
  60.     title('Interpolacja wielomianowa');
  61.     xlabel('OX');
  62.     ylabel('OY');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement