1 / 19
文档名称:

数值分析计算实习题.docx

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

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

分享

预览

数值分析计算实习题.docx

上传人:资料分享 2018/5/26 文件大小:52 KB

下载得到文件列表

数值分析计算实习题.docx

文档介绍

文档介绍:插值法
下列数据点的插值
x 0 1 4 9 16 25 36 49 64
y 0 1 2 3 4 5 6 7 8
可以得到平方根函数的近似,在区间[0,64]上作图.
(1)用这9个点作8次多项式插值Ls(x).
(2)用三次样条(第一边界条件)程序求S(x).
从得到结果看在[0,64]上,哪个插值更精确;在区间[0,1]上,两种插值哪个更精确?
解:(1)拉格朗日插值多项式,求解程序如下
syms x l;
x1=[0 1 4 9 16 25 36 49 64];
y1=[0 1 2 3 4 5 6 7 8];
n=length(x1);
Ls=sym(0);
for i=1:n
l=sym(y1(i));
for k=1:i-1
l=l*(x-x1(k))/(x1(i)-x1(k));
end
for k=i+1:n
l=l*(x-x1(k))/(x1(i)-x1(k));
end
Ls=Ls+l;
end
Ls=simplify(Ls) %为所求插值多项式Ls(x).
输出结果为
Ls =

-24221063/63504000*x^2+95549/72072*x-1/3048192000*x^8-2168879/435456000*x^4+19/283046400*x^7+657859/10886400*x^3+33983/152409600*x^5-13003/2395008000*x^6
(2)三次样条插值,程序如下
x1=[0 1 4 9 16 25 36 49 64];
y1=[0 1 2 3 4 5 6 7 8];
x2=[0:1:64];
y3=spline(x1,y1,x2);
p=polyfit(x2,y3,3); %得到三次样条拟合函数
S=p(1)+p(2)*x+p(3)*x^2+p(4)*x^3 %得到S(x)
输出结果为:
S =
2288075067923491/73786976294838206464-23991**********/576460752303423488*x+4552380473376713/18014398509481984*x^2+999337332656867/1125899906842624*x^3
(3)在区间[0,64]上,分别对这两种插值和标准函数作图,
plot(x2,sqrt(x2),'b',x2,y2,'r',x2,y3,'y')
蓝色曲线为y=√x函数曲线,红色曲线为拉格朗日插值函数曲线,黄色曲线为三次样条插值曲线
可以看到蓝色曲线与黄色曲线几乎重合,因此在区间[0,64]上三次样条插值更精确。
在[0,1]区间上由上图看不出差别,不妨代入几组数据进行比
较,取x4=[0::1]
x4=[0::1];
sqrt(x4) %准确值
subs(Ls,'x',x4) %拉格朗日插值
spline(x1,y1,x4) %三次样条插值
运行结果为
ans =
0
ans =
0
ans =
0
从这几组数值上可以看出在[0,1]区间上,拉格朗日插值更精确。
数据拟合和最佳平方逼近
有实验给出数据表
x
y
试求3次、4次多项式的曲线拟合,再根据数据曲线形状,求一个另外函数的拟合曲线,用图示数据曲线及相应的三种拟合曲线。
解:(1)三次拟合,程序如下
sym x;
x0=[ ];
y0=[ ];
cc=polyfit(x0,y0,3);
(1)+cc(2)*(3)*x^(4)*x^3 %三次拟合多项式
xx=x0(1)::x0(length(x0));
yy=,xx);
plot(xx,yy,'--');
hold on;
plot(x0,y0,'x');
xlabel('x');
ylabel('y');
运行结果
S3 =
-7455778416425083/1125899906842624+18035**********/140737488355328*x-655705280524945/14073748835532