求lagrange插值多项式的matlab编程 10
展开全部
function y=lagrange(x0,y0,x);
% x0自变量取值向量已知 y0为已知对应x0的函数取值,x为要求插值点坐标
n=length(x0);
m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j)); %插值基函数
end
end
s=p*y0(k)+s; %lagrange插值多项式
end
y(i)=s;
end
例程:
x0=[0:2]
y0=[2 3 5]
x=[0:0.01:2]
Lagrange(x0,y0,x)
% x0自变量取值向量已知 y0为已知对应x0的函数取值,x为要求插值点坐标
n=length(x0);
m=length(x);
for i=1:m
z=x(i);
s=0.0;
for k=1:n
p=1.0;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j)); %插值基函数
end
end
s=p*y0(k)+s; %lagrange插值多项式
end
y(i)=s;
end
例程:
x0=[0:2]
y0=[2 3 5]
x=[0:0.01:2]
Lagrange(x0,y0,x)
追问
我要插值多项式
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询