Advertisement
Guest User

Untitled

a guest
Nov 18th, 2018
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.83 KB | None | 0 0
  1. close all
  2.  
  3. %vstupom su: hodnota x, pre ktoru to pocitame, a polia X a fX (zadane hodnoty x a zadane f(x) k danym x )
  4. %vystupom je suma (podla vzorca)
  5. function sum = lagrange(x, X, fX)
  6. sum = 0;
  7. ord = size(X)(2);
  8. for i = 1:ord
  9. res = fX(i);
  10. for j = 1:ord
  11. if j ~= i
  12. numerator = (x - X(j));
  13. denominator = (X(i) - X(j));
  14. if denominator ~= 0
  15. res .*= (numerator / denominator);
  16. end
  17. end
  18. end
  19. sum += res;
  20. end
  21. end
  22.  
  23. %vstupy zo zadania
  24. input_X = [1 2 4 8 16];
  25. input_fX = [0 1 2 3 4];
  26.  
  27. %aby plot vzdy ukazal, vstupy + nieco malo navyse
  28. step = 0.1;
  29. from = input_X(1) - 10*step;
  30. to = input_X(end) + 10*step;
  31.  
  32. %vykreslenie
  33. n = from:0.1:to; %% TOTO su tie x co davas do L ..
  34. plot(n, lagrange(n, input_X, input_fX))
  35. hold on
  36. plot(input_X,input_fX, '*')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement