Advertisement
Guest User

Lagrange Polynomial Interpolation

a guest
May 25th, 2017
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 0.51 KB | None | 0 0
  1. x = [20,41,58,75];
  2. y = [0.122, 0.361, 0.520, 0.634];
  3.  
  4. function [ysz] = lagrange(xsz, x, y)
  5.   n = 4;
  6.   ysz = 0;
  7.   A = [];
  8.   for i=1:n
  9.     p = 1;
  10.     for j=1:n
  11.       if j != i
  12.         p = conv(p,(xsz-x(j)) / (x(i)-x(j)));
  13.       endif
  14.     endfor;
  15.     A(i) = p;
  16.     ysz += y(i) * p;  
  17.   endfor;
  18. endfunction;
  19. argument = [20, 25, 36, 41, 53, 58, 75, 80]
  20. result_lagrange = [0.122, lagrange(25,x,y),lagrange(36,x,y), 0.361, lagrange(53,x,y), 0.520, 0.634, lagrange(80,x,y)]
  21. plot(argument, result_lagrange);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement