- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
插值法,函数逼近实验报告
实验项目名称:插值法与拟合
实验目的:熟悉插值法与拟合的步骤,并用计算机实现
实验内容:
a.已知函数在下列各点的值为
试用4次牛顿插值多项式P(x)及三次样条函数S(x)对数据进行插值,用图给出,P(x)及S(x)
b. 在区间[-1,1]上分别取n=10,20用两组等距节点对龙格函数;做多项式插值及三次样条插值,对每个n值,分别画出插值函数及f(x)的图形。
c. 下列数据点的插值
X01491625364964Y012345678
可以得到平方根函数的近似,在区间[0,64]上作图。
用这9个点做8此多项式插值。
用三次样条(第一边界条件)程序做S(x)。[0,64]
从结果看在[0,64]上,哪个插值更精确,在区间[0,1],两种插值哪个更精确?
d. 有实验给出数据表
x0.00.10.20.30.50.81.0y1.00.410.500.610.912.022.46
试求3次,4次多项式的曲线拟合,再根据曲线形状,求一个另外函数的拟合曲线,用图示数据曲线及相应的三种拟合曲线。
实验环境:matlab r2010b
实验过程与分析:
a
一.实验原理
N次牛顿插值多项式可表示为:
Pnx=fx0+fx0,x1x-x0+fx0,x1,x2x-x0x-x1+…+f[x0,x1,…,xn](x-x0)…(x-xn-1)
三次样条函数的表达式为:
Sx=Mj(xj+1-x)36hj+Mj+1(x-xj)36hj+yi-Mjhj26xj+1-xhj+yi+1-Mj+1hj26x-xjhj, j=1,2,…,n-1.
自然边界条件:
Sx0=Sxn=0.
第一边界条件:
Sx0=f0,Sxn=fn.
二.源程序
eq \o\ac(○,1)主函数:
clc
syms x;
p=Newton(X,Y);
t1=0.2:0.01:1;
y1=subs(p,x,t1);
subplot(2,2,1)
plot(t1,y1);
title(牛顿插值);
t2=[0.2 0.28 1 1.08];
y2=subs(p,x,t2);
subplot(2,2,2)
plot(t2,y2,+);
title(题中要求的点)
subplot(2,2,3)
q=spline2(X,Y,0,0);
title(自然边界三次样条插值)
subplot(2,2,4)
plot(t1,y1);
hold on
plot(t2,y2,+);
q=spline2(X,Y,0,0);
title(在一个图中显示)
hold off
eq \o\ac(○,2)Newton插值子函数:
function P=Newton(X,Y,t)
if (size(X,2)~=size(Y,2))
disp(d do not agree)
else
k=size(X,2);
end
syms x ;
P=Y(1,1);
C=chashang(X,Y);
fori=1:(k-1);
a=1;
for j=1:i
a=a*(x-X(j));
end
P=P+C(1,i)*a;
end
ifnargin==3
P=subs(P,x,t);
else
P=collect(P,x);
end
end
eq \o\ac(○,3)求差商的子函数:
function c=chashang(X,Y)
k=size(X,2);
c=zeros(1,(k-1));
fori=1:(k-1)
a=0;
for i1=1:(i+1)
b=1;
for i2=[1:(i1-1),(i1+1):(i+1)]
b=b*(X(1,i1)-X(1,i2));
end
a=a+Y(1,i1)/b;
end
c(1,i)=a;
end
end
eq \o\ac(○,4)第二种求差商的子函数:
function c=chashang(X,Y)
k=size(X,2);
c=zeros(1,(k-1));
fori=1:(k-1)
a=0;
for i1=1:(i+1)
b=1;
for i2=[1:(i1-1),(i1+1):(i+1)]
b=b*(X(1,i1)-X(1,i2));
end
a=a+Y(1,i1)/b;
end
c(1,i)=a;
end
end
eq \o\ac(○,5)三次样条插值子函数(二阶导边界):
function S=spline2(X,Y,d2x1,d2xk)
if(
文档评论(0)