数值分析实验插值与拟合

更新时间:2024-05-20 15:56:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《数值分析》课程实验一:插值与拟合

一、实验目的

1. 理解插值的基本原理,掌握多项式插值的概念、存在唯一性;

2. 编写MATLAB程序实现Lagrange插值和Newton插值,验证Runge现象; 3. 通过比较不同次数的多项式拟合效果,理解多项式拟合的基本原理; 4. 编写MATLAB程序实现最小二乘多项式曲线拟合。

二、实验内容

1. 用Lagrange插值和Newton插值找经过点(-3, -1), (0, 2), (3, -2), (6, 10)的三次插值公式,并编写MATLAB程序绘制出三次插值公式的图形。

2. 设

f(x)?1,x?[?5,5] 1?x2如果用等距节点xi = -5 + 10i/n (i = 0, 1, 2, …, n)上的Lagrange插值多项式Ln(x)去逼近它。不妨取n = 5和n = 10,编写MATLAB程序绘制出L5(x)和L10(x)的图像。

3. 在某冶炼过程中,根据统计数据的含碳量与时间关系如下表,试求含碳量与时间t的拟合曲线。 t (min) y (×10-5) 0 0 5 1.27 10 2.16 15 2.86 20 3.44 25 3.87 30 4.15 35 4.37 40 4.51 45 4.58 50 4.02 55 4.64 (1) 用最小二乘法进行曲线拟合; (2) 编写MATLAB程序绘制出曲线拟合图。

三、实验步骤

1. (1) Lagrange插值法:在线性空间Pn中找到满足条件:

?1,li(xj)??ij???0,的一组基函数?li(x)?i?0,li(x)的表达式为

ni?j, i?jli(x)?nj?0,j?i?nx?xjxi?xj(i?0,1,?,n)

有了基函数?li(x)?i?0,n次插值多项式就可表示为

Ln(x)??yili(x)

i?0n(2) Newton插值法:设x0, x1, …, xn是一组互异的节点,yi = f(xi) (i = 0, 1, 2, …, n),f(x)在处的n阶差商定义为

- 1 -

f[x0,x1,?,xn]?则n次多项式

f[x1,x2,?,xn]?f[x0,x1,?,xn?1]

xn?x0Nn(x)?f(x0)?f[x0,x1](x?x0)?f[x0,x1,x2](x?x0)(x?x1)???f[x0,x1,?xn](x?x0)(x?x1)?(x?xn?1)差商表的构造过程:

xi x0 x1 x2 x3 x4 f(xi) f(x0) f(x1) f(x2) f(x3) f(x4) 一阶差商 f[x0, x1] f[x1, x2] f[x2, x3] f[x3, x4] 二阶差商 f[x0, x1,x2] f[x1, x2,x3] f[x2, x3,x4] 三阶差商 f[x0, x1,x2,x3] f[x1, x2,x3,x4]

四阶差商 f[x0, x1,x2,x3,x4] MATLAB程序实现:

- 2 -

试验结果:

- 3 -

2. MATLAB程序实现:

试验结果:

- 4 -

3. 多项式拟合的一般方法可归纳为以下几步:

(1)由已知数据画出函数粗略的图形——散点图,确定拟合多项式的次数n; (2)列表计算

?xi?0mji(j?0,1,?,2n)和?xijyi(j?0,1,?,n);

i?0m(3)写出正规方程组,求出ak(k?0,1,?,n); (4)写出拟合多项式pn(x)?MATLAB程序实现:

?axkk?0nk。

- 5 -

试验结果:

- 6 -

本文来源:https://www.bwwdw.com/article/kfh7.html

Top