试验二 插值法
实验目的
学会Lagrange 插值和牛顿插值等基本插值方法;
讨论插值的Runge现象,掌握分段线性插值方法;
学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。
实验要求
按照题目要求完成实验内容;
写出相应的Matlab 程序;
给出实验结果(可以用表格展示实验结果);
分析和讨论实验结果并提出可能的优化实验。
写出实验报告。
实验步骤
1、用编好的Lagrange 插值法程序计算书本P66 的例1、用牛顿插值法计算P77的例1。
2、已知函数在下列各点的值为:
0.20.40.60.81.00.980.920.810.640.38试用4次牛顿插值多项式对数据进行插值,根据{},画出图形。
3、在区间[-1,1]上分别取用两组等距节点对龙格函数作多项式和线性插值,对不同值,分别画出插值函数及的图形。
3、下列数据点的插值
01491625364964012345678可以得到平方根函数的近似,在区间[0,64]上作图。
用这9个点作8次多项式插值。
附:试验报告格式样本(正式报告这行可删除)
佛山科学技术学院
实 验 报 告
课程名称 数值分析
实验项目 插值法
专业班级 姓 名 学 号
指导教师 黄国顺 成 绩 日 期 月 日
一、实验目的
1、学会Lagrange 插值、牛顿插值和 分段线性插值等基本插值方法;
2、讨论插值的Runge现象,掌握分段线性插值方法
3、学会Matlab提供的插值函数的使用方法,会用这些函数解决实际问题。
二、实验原理
1、拉格朗日插值多项式
2、牛顿插值多项式
3、分段线性插值
三、实验步骤
1、用MATLAB编写独立的拉格朗日插值多项式函数
2、用MATLAB编写独立的牛顿插值多项式函数
3、利用编写好的函数计算本章书本P66 的例1、用牛顿插值法计算P77的例1。
4、利用编写好的函数计算实验步骤中要求的各道题。(注意:这里需将要做得的题目抄下来,仅以上机实习题2为例:)
2、在区间[-1,1]上分别取用两组等距节点对龙格函数作多项式和线性插值,对不同值,分别画出插值函数及的图形。
程序:
(1)画龙格函数的图形的matlab代码
a=-1;b=1;n=100;h=(b-a)/n;
>> x=a:h:b;y=1./(1+25.*x.^2);
>> plot(x,y,'k')
function yi=Lagrange(x, y, xi)
% Lagrange 插值多项式,其中
% x --- 向量,全部的插值节点
% y --- 向量,插值节点处的函数值
% xi --- 标量,自变量x
% yi --- xi 处的函数估计值
n=length(x); m=length(y);
if n~=m
error('The lengths of X and Y must be equal');
return;
end
p=zeros(1,n);
for k=1:n
t=ones(1,n);
for j=1:n
if j~=k
if abs(x(k)-x(j))
error('the DATA is error!');
return;
end
t(j)=(xi-x(j))/(x(k)-x(j));
end
end
p(k)=prod(t);
end
yi=sum(y.*p);
(2)龙格函数的Lagrange()插值函数画图源程序
function Runge(n)
% Runge现象
% n --- 等距离节点
a=-1; b=1; h=(b-a)/n;
x=[a:h:b]; y=1./(1+25.*x.^2);
xx=[a:0.01:b]; yy=1./(1+25.*xx.^2);
m=length(xx); z=zeros(1,m);
for i=1:m
z(i)=Lagrange(x