1 / 12
文档名称:

插值实验报告.doc

格式:doc   大小:144KB   页数:12页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

插值实验报告.doc

上传人:1542605778 2021/10/31 文件大小:144 KB

下载得到文件列表

插值实验报告.doc

文档介绍

文档介绍:几个插值的实验报告
姓名: 王维滨 学号:0842011157 姓名: 李佳乐 学号:0842011034
姓名: 谢朝 学号:0842011062 姓名: 杨其荣 学号:0842011072

对n个节点插值,进一步理解差分和差商的意义,并编写matlab程序,实现这些功能

原理:n+1个已知方程唯一确定一个n次多项式,由范德玛行列式可得存在唯一。
总前提:
第i点的横坐标
第i点的纵坐标
Lagrange插值:
,,
Neville插值:运用迭代求解,新加一个点进去很容易计算,
Newton插值:运用差商来表示“相对系数”。
差商:,或
等距节点插值:(只考虑表出公式)
差分:或
差分跟差商的关系:
重节点差商与Hermite插值:
1)Lagrange插值
插值的函数,观看runge现象,
a.实验方案与原理:
%rungeÏÖÏó£¬y=1/£¨1+25x^2£©,[-]
x=-1::1;
y=1./(1+25*x.^2);
xArr=[-1 - 0 1];
yArr=1./(1+25*xArr.^2);
2)Neville插值
%Neville²åÖµ£ºy=sin(x),[-pi/2,pi/2]
x=-pi/2::pi/2;
y=sin(x);
xArr=[-pi/2,-pi/4,0,pi/4,pi/2];
yArr=sin(xArr);
3)Newton插值
%Newton²åÖµ£ºy=sqrt(x)[0 5]
x=0::5;
y=sqrt(x);
xArr=[0 1 2 3 4 5];
yArr=sqrt(xArr);
4)等距节点插值
%µÈ¾à½Úµã²åÖµ£ºy=y=exp(x) [-1,1]
x=-1::1;
y=exp(x);
x1=-1;
h=;
xArr=[-1,-,0,,1];
yArr=exp(xArr);
5)Hermite 插值
%Hermite插值y=ln(x),[1 5]
x=1::5;
y=log(x);
xArr=[1 1 2 2 3 4 5 5];
yArr(1)=0;
yArr(2)=1;
yArr(3)=log(2);
yArr(4)=;
yArr(5)=log(3);
yArr(6)=log(4);
yArr(7)=log(5);
yArr(8)=;
b.编写程序:
见附录
调用NumTest,每次显示一个图像,关闭后按回车继续显示下一幅。
C.实验结果分析和拓展
实验结论:
(1)Lagrange插值:runge现象:
(2) Neville插值:y=sin(x)
(3)newton插值:
(4)等距节点插值:
(5)Hermite插值:
附录

%求阶乘
function yfac=fact(n)
%
if n<0
disp 'ÊäÈë²ÎÊý´íÎó'
yfac=0;
return
end
yfac=1;
while (n>0)
yfac=yfac*n;
n=n-1;
end
end

function yEqual=Equal(x,y)
%看两个实数是否相等
yEqual=(abs(x-y)<10^(-6));
end

function yDiffArr=Difference(yArr)
%求差分
[~,length]=size(yArr);
lastArr(1)=yArr(1);
yDiffArr(length)=0;
yDiffArr(1)=lastArr(1);
for i=2:length
lastArr=Difference_GetLastArr(yArr(i),lastArr);
yDiffArr(i)=lastArr(i);
end

function lastArr= Difference_GetLastArr(newy,oldLastArr)
%根据书上的表格,迭代求下一行
[~,oldLength]=size(ol