matlab的拉格朗日插值
来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/06/28 06:50:01
matlab的拉格朗日插值
测量点数据如下,用lagrange插值在[-0.2,.3]区间以0.01为步长进行插值,并画出多项式
x 0.1 0.2 0.15 0 -0.2 0.3
y 0.95 0.84 0.86 1.06 1.5 0.72
测量点数据如下,用lagrange插值在[-0.2,.3]区间以0.01为步长进行插值,并画出多项式
x 0.1 0.2 0.15 0 -0.2 0.3
y 0.95 0.84 0.86 1.06 1.5 0.72
![matlab的拉格朗日插值](/uploads/image/z/194735-47-5.jpg?t=matlab%E7%9A%84%E6%8B%89%E6%A0%BC%E6%9C%97%E6%97%A5%E6%8F%92%E5%80%BC)
function y=lagrange(x0,y0,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 =k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
------------------------------------------------------
x=[0.1 0.2 0.15 0 -0.2 0.3];
y=[0.95 0.84 0.86 1.06 1.5 0.72];
x0=[-0.2:0.01:3];
y0=lagrange(x,y,x0);
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 =k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
------------------------------------------------------
x=[0.1 0.2 0.15 0 -0.2 0.3];
y=[0.95 0.84 0.86 1.06 1.5 0.72];
x0=[-0.2:0.01:3];
y0=lagrange(x,y,x0);