function y_p = Lagrange(x, y, x_p)
% x为插值节点的横坐标
% y为插值节点的纵坐标
% x_p 为需计算的插值函数值的横坐标
% y_p 为插值函数值
num_poly = length(x); % 多项式的项数
y_p = []
num = length(x_p); % 要计算的插值函数值的个数
for j = 1:num
p = 0;
for i = 1:num_poly
nume = 1; % 分子
deno = 1; % 分母
for n = 1:num_poly
if n ~= i
nume = nume * (x_p(j) - x(n))
deno = deno * (x(i) - x(n))
end
end
l = nume / deno;
p = p + l * y(i)
% i
end
y_p = [y_p, p];
% j
end