using Winston
# Simulating data
x = [-20 -17 -10 -3 -1 0 1 3 10 17 20]
y = [-0.9129 0.9614 0.5440 -0.1411 -0.8415 0.0000 0.8415 0.1411 -0.5440 -0.9614 0.9129]
function Qn(v,x,y)
Q = 0
for j=1:length(x)
Q = Q + y[j]*L(v,x,j)
end
return Q
end
function L(v, x, j)
l = 1
for i=1:length(x)
if i != j
l = l * ((v-x[i])/(x[j]-x[i]))
end
end
return l
end
z = -20:0.1:20
res = zeros(length(z))
for i=1:length(z)
res[i] = Qn(z[i], x, y)
end
plot(z, res, "b")
xlabel("x")
ylabel("estimated y")
title("Langrange interpolation")