文档介绍:数值计算实验报告(二)
实验名称:Lagrange与Hermite插值 姓名 刘卓 班级: 0901111
学号: 6 周次: 14 实验地点: 东2教 616
实
验
目
的
比较Lagrange与Hermite插值,求被插函数近似值的近似程度
实
验
内
容
已知:数据如下
-
-
-
-
(1)用Lagrange插值求
(2)用Hermite插值求求
实
验
步
骤
实验代码:
% ---------------------------------------------------------------------
function y = Lagrange(x0,y0,x)
%求已知数据点的拉格朗日插值多项式
%已知数据点的x坐标向量: x
%已知数据点的y坐标向量: y
%插值点的x坐标: x0
%求得的拉格朗日插值多项式或在x0处的插值: f
%x=[ ];
%y=[0 ];
%x0=[ ];
if(length(x0) == length(y0))
n = length(x0);
else
disp('x和y的维数不相等!');
return; %检错
end
m=length(x);
for i=1:m
z=x(i);
s=;
for k=1:n
p=;
for j=1:n
if j~=k
p=p*(z-x0(j))/(x0(k)-x0(j));
end
end
s=p*y0(k)+s;
end
y(i)=s;
end
% --------------------------------------------------------------------------
function H=hermite(x,y,ff,u)
% hermite插值
% x,y分别为函数的值,ff为对应的一阶导数,u为要求的插值点
format long
if(length(x) == length(y))
n = length(x);
else
disp('x和y的维数不相等!');
return; %检错
end
H=0;
lu=ones(n);
L=zeros(n);
p=zeros(n);
for j=1:n
for i=1:n
if i~=j
s(i)=(u-x(i))/(x(j)-x(i))