多项式插值的震荡现象

合集下载

多项式插值的振荡现象

多项式插值的振荡现象

数值分析实验报告多项式插值的振荡现象姓名:学院:数理与信息工程学院班级:学号:数值分析实验报告实验名称多项式插值的振荡现象实验时间2013年10月 23日姓名班级学号成绩一、 实验目的1.理解多项式插值,懂得它的振荡现象。

2. 研究样条插值,并分析它的收敛性。

3. 学会在实际生活中使用二维插值。

二、 实验内容1. 设区间[-1,1]上函数22511)(x x f +=考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21L =+-=则拉格朗日插值多项式为∑=+=ni ijn x l x x L 02)(2511)(其中的是n 次拉格朗日插值基函数。

n i x l i ,,2,1,0),(L =2. 请按一定的规则分别选择等距或者非等距的插值节点,并不断增加插值节点的个数。

考虑实验1中的函数或选择其他你有兴趣的函数,可以用MATLAB 的函数“spline”作此函数的三次样条插值。

3. 在一丘陵地带测量高程,x 和y 方向每隔100米测一个点,得高程数据如下。

试用MATLAB 的二维插值函数“interp2”进行插值,并由此找出最高点和该点的高程。

三、算法描述(1)编写好拉格朗日插值函数,保存在M 文件中;(2)考虑到:1、一幅图中太多的曲线会相互覆盖;2、n 取奇偶数可能结果不同;3、不同的节点选取方法可能导致不同的结果。

故而n 的选择分为n=2:2:8、n=3:2:9或者n=2:4:10、n=3:4:11与n=40三种情况;(3)节点的选取分为均匀节点、切比雪夫节点两种四、程序流程图由于实验方案明显、简单,实现步骤及流程图省略。

五、实验结果具体结果在实验分析里:整理的结果如下1>实验一的结果:1.22511)(x x f +=当节点为均匀节点时:插值点数目为奇数、偶数、40时,图像对称,但是不收敛,但是节点数越多,0附近的拟合效果越好,但是两端误差较大。

当节点为切比雪夫点时:插值点数目为奇数、偶数、40时,图像对称,但是可以收敛,节点数越多,拟合效果越好。

数值分析实验报告--实验2--插值法

数值分析实验报告--实验2--插值法

1 / 21数值分析实验二:插值法1 多项式插值的震荡现象1.1 问题描述考虑一个固定的区间上用插值逼近一个函数。

显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。

我们自然关心插值多项式的次数增加时, 是否也更加靠近被逼近的函数。

龙格(Runge )给出一个例子是极著名并富有启发性的。

设区间[-1,1]上函数21()125f x x=+ (1)考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为201()()125nn ii iL x l x x ==+∑(2)其中的(),0,1,2,,i l x i n =是n 次拉格朗日插值基函数。

实验要求:(1) 选择不断增大的分点数目n=2, 3 …. ,画出原函数f(x)及插值多项式函数()n L x 在[-1,1]上的图像,比较并分析实验结果。

(2) 选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+=重复上述的实验看其结果如何。

(3) 区间[a,b]上切比雪夫点的定义为 (21)cos ,1,2,,1222(1)k b a b ak x k n n π⎛⎫+--=+=+ ⎪+⎝⎭(3)以121,,n x x x +为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析2 / 21原因。

1.2 算法设计使用Matlab 函数进行实验, 在理解了插值法的基础上,根据拉格朗日插值多项式编写Matlab 脚本,其中把拉格朗日插值部分单独编写为f_lagrange.m 函数,方便调用。

1.3 实验结果1.3.1 f(x)在[-1,1]上的拉格朗日插值函数依次取n=2、3、4、5、6、7、10、15、20,画出原函数和拉格朗日插值函数的图像,如图1所示。

Matlab 脚本文件为Experiment2_1_1fx.m 。

可以看出,当n 较小时,拉格朗日多项式插值的函数图像随着次数n 的增加而更加接近于f(x),即插值效果越来越好。

应用多项式插值的流水线ADC后台数字校正方法

应用多项式插值的流水线ADC后台数字校正方法

应用多项式插值的流水线ADC后台数字校正方法I. 绪论1.1 研究背景和意义1.2 研究目的与意义1.3 本文结构概述II. 基础知识介绍2.1 多项式插值基本原理2.2 流水线ADC工作原理2.3 数字校正原理III. 多项式插值在流水线ADC数字校正中的应用3.1 多项式插值法的优点3.2 多项式插值在流水线ADC数字校正中的应用IV. 实验方法与结果分析4.1 实验环境介绍4.2 实验步骤详述4.3 实验结果分析与总结V. 结论与展望5.1 结论5.2 不足与展望VI. 参考文献附录:插值算法代码I. 绪论1.1 研究背景和意义随着科学技术的迅速发展,数字信号处理技术在各种领域的应用越来越广泛。

其中,ADC(模数转换器)是将模拟信号转换为数字信号的重要设备,在各种领域的应用越来越广泛。

随着工艺的不断升级和电路的不断复杂,ADC在数字校正过程中所需要的准确度和精度也不断提高。

在ADC中,最常用的校准方法是数字校准法。

该方法使用校正电路的输出数字值来校正ADC的数字输出。

该方法可提高ADC的精度和准确度。

然而,在实践中,数字校准法也存在一些问题:数字校准电路对系统的时序有严格要求;ADC与数字校准电路之间存在时滞,这些特点使得数字校准误差较大。

因此,如何提高数字校准的精度和准确度一直是研究的热点问题。

为了解决数字校准法的缺陷,研究者们提出了许多方法来提高数字校准的精度和准确度。

其中,多项式插值法是一种常用的校准方法,可用于任何基于ADC的校准器。

而流水线ADC是现代高速转换器的重要形式之一,具有高速、分辨率高等优点。

本文将研究应用多项式插值法优化流水线ADC数字校准的方法。

1.2 研究目的与意义本文旨在提出一种基于多项式插值的流水线ADC数字校正方法,通过算法优化实现数字校正的自动化,提高数字校正的精度和准确度,减小误差。

同时,本文研究的方法可适用于各类流水线ADC,并具有工程应用意义。

此外,在理论研究和实践应用方面的探索,也将为后续相关领域的研究和应用提供理论与实践指导。

计算方法大作业1 克服Runge现象

计算方法大作业1  克服Runge现象

x3
x2
x
1
S1 ( x)
-0.34685
0.2086
0.073964
0.038462
S2 (x)
S (xi 0 ) S x(i 0 )

S
'
(xi

0) S
xi' (
0 )i

S
'
'
x(i

0)S
xi' ' (
0)
1 ,n2, . . . , 1
(1)
这里共有了 3n-3 个条件,再加上条件(2)中的 n+1 个插值条件,共有 4n-2 个条件,
因此还需要 2 个方程才能确定 S (x) .通常可在区间[a, b]的端点 a x0,b xn 上各加一个边

dn1

1
2


Mn


dn

(6)
2 1


2
2
2
1 M1 d1

M2


d2




n 1
2
n
1


M
n
1

dn1
n
n 2 M n dn
由式(1)内点拼接条件,可得
i M i1 2M i i M i1 d j i 1, 2,..., n 1
(3) (4)
其中
i

hi 1 hi1
, hi

i

hi hi 1

实验2.1多项式插值的振荡现象

实验2.1多项式插值的振荡现象

向宏志 20120047(2012-10-13)实验2.1(多项式插值的振荡现象)问题提出:考虑一个固定的区间上用插值逼近一个函数。

显然拉格朗日插值中使用的节点越多,插值多项式的次数就越高。

我们自然关心插值多项式的次数增加时,)(x L n 是否也更加靠近被逼近的函数。

龙格(Runge )给出一个例子是极著名并富有启发性的。

设区间[-1,1]上函数22511)(xx f += 实验内容:考虑区间[-1,1]的一个等距划分,分点为n i nix i ,,2,1,0,21 =+-= 则拉格朗日插值多项式为∑=+=ni ijn x l x x L 02)(2511)( 其中的n i x l i ,,2,1,0),( =是n 次拉格朗日插值基函数。

实验要求:(1) 选择不断增大的分点数目n=2,3….,画出原函数f(x)及插值多项式函数)(x L n 在[-1,1]上的图像,比较并分析实验结果。

(2)选择其他的函数,例如定义在区间[-5,5]上的函数x x g xxx h arctan )(,1)(4=+= 重复上述的实验看其结果如何。

(3)区间[a,b]上切比雪夫点的定义为 1,,2,1,)1(2)12(cos 22+=⎪⎪⎭⎫⎝⎛+--++=n k n k a b a b x k π 以121,,+n x x x 为插值节点构造上述各函数的拉格朗日插值多项式,比较其结果,试分析原因。

实验方法:考虑到:1、一幅图中太多的曲线会相互覆盖;2、n 取奇偶数可能结果不同;3、不同的节点选取方式可能导致不同的结果。

故而n 的选择分为n=2:2:8、n=3:2:9或者n=2:4:10、n=3:4:11与n=40三种情况;而节点的选取分为均匀节点、不均匀节点和切比雪肤节点三种。

说明:以下所有图中,蓝色曲线为原函数,绿色曲线为插值函数,插值节点数与两者交点数目相等。

实验数据及其分析:(1)22511)(x x f +=1. 节点为均匀节点时n i nix i ,,2,1,0,21 =+-=节点是对称的a)当节点数取为奇数个时,即n=2:2:8时。

数值分析实验报告模板

数值分析实验报告模板

数值分析实验报告模板篇一:数值分析实验报告(一)(完整)数值分析实验报告12345篇二:数值分析实验报告实验报告一题目:非线性方程求解摘要:非线性方程的解析解通常很难给出,因此线性方程的数值解法就尤为重要。

本实验采用两种常见的求解方法二分法和Newton法及改进的Newton法。

利用二分法求解给定非线性方程的根,在给定的范围内,假设f(x,y)在[a,b]上连续,f(a)xf(b) 直接影响迭代的次数甚至迭代的收敛与发散。

即若x0 偏离所求根较远,Newton法可能发散的结论。

并且本实验中还利用利用改进的Newton法求解同样的方程,且将结果与Newton法的结果比较分析。

前言:(目的和意义)掌握二分法与Newton法的基本原理和应用。

掌握二分法的原理,验证二分法,在选对有根区间的前提下,必是收敛,但精度不够。

熟悉Matlab语言编程,学习编程要点。

体会Newton使用时的优点,和局部收敛性,而在初值选取不当时,会发散。

数学原理:对于一个非线性方程的数值解法很多。

在此介绍两种最常见的方法:二分法和Newton法。

对于二分法,其数学实质就是说对于给定的待求解的方程f(x),其在[a,b]上连续,f(a)f(b) Newton法通常预先要给出一个猜测初值x0,然后根据其迭代公式xk?1?xk?f(xk) f'(xk)产生逼近解x*的迭代数列{xk},这就是Newton法的思想。

当x0接近x*时收敛很快,但是当x0选择不好时,可能会发散,因此初值的选取很重要。

另外,若将该迭代公式改进为xk?1?xk?rf(xk) 'f(xk)其中r为要求的方程的根的重数,这就是改进的Newton 法,当求解已知重数的方程的根时,在同种条件下其收敛速度要比Newton法快的多。

程序设计:本实验采用Matlab的M文件编写。

其中待求解的方程写成function的方式,如下function y=f(x);y=-x*x-sin(x);写成如上形式即可,下面给出主程序。

数值计算中的插值方法与误差分析

数值计算中的插值方法与误差分析

数值计算中的插值方法与误差分析数值计算是一门应用数学学科,广泛应用于科学与工程领域。

在实际问题中,我们常常需要通过已知的离散数据点来估计未知的数值。

插值方法就是为了解决这个问题而设计的。

插值方法是一种基于已知数据点,推断出未知数据点的数值计算方法。

常见的插值方法有拉格朗日插值、牛顿插值等。

下面我们将重点介绍这两种方法。

1. 拉格朗日插值法拉格朗日插值法是插值方法中最常见的一种。

它是基于拉格朗日多项式的思想。

假设我们有一组已知的数据点(x1, y1), (x2, y2), ..., (xn, yn),我们想要估计一个未知点x的函数值y。

拉格朗日插值法的基本思想是通过插值多项式来逼近原函数。

具体步骤如下:(1)根据已知数据点构造Lagrange插值多项式:L(x) = Σ(yi * Li(x)), i = 0, 1, ..., n其中,Li(x) = Π((x-xj)/(xi-xj)), j ≠ i(2)计算未知点x对应的函数值y:y = L(x)拉格朗日插值法的优点是简单易懂,计算方便。

然而,它也存在着一些问题,比如插值多项式的次数较高时,多项式在插值区间外的振荡现象明显,容易引起插值误差。

2. 牛顿插值法牛顿插值法是另一种常见的插值方法。

它是基于差商的思想。

假设我们有一组已知的数据点(x1, y1), (x2, y2), ..., (xn, yn),我们想要估计一个未知点x的函数值y。

牛顿插值法的基本思想是通过插值多项式来逼近原函数。

具体步骤如下:(1)计算差商:f[xi, xi+1, ..., xi+k] = (f[xi+1, ..., xi+k] - f[xi, ..., xi+k-1]) / (xi+k - xi)(2)根据已知数据点构造Newton插值多项式:N(x) = f[x0] + Σ(f[x0, x1, ..., xi] * Π(x - xj)), i = 0, 1, ..., n-1(3)计算未知点x对应的函数值y:y = N(x)牛顿插值法的优点是适用范围广,可以方便地添加新的数据点进行插值。

数值分析实验报告2——Runge现象

数值分析实验报告2——Runge现象

数值分析课程实验报告——插值逼近题目一.Runge 函数的插值1. Runge 函数Runge 函数的表达式为:21()125R x x =+ 其在[-1,1]区间上的函数图像如图1.1。

在课程学习中我们知道,对Runge 函数进行高次插值时有可能在两端出现不收敛的情况,即Runge 现象。

下面将分别用四种不同的插值方法在[-1,1]区间上对Runge 函数进行插值,并分析是否产生Runge 现象,比较插值效果。

图1.1.Runge 函数在[-1,1]区间的函数图像2.Newton 插值首先根据课本上的Newton 插值算法进行编程(代码略)。

核心思想就是用符号变量进行中间运算,以便将最终的插值函数用符号表达式表示出来,并进一步生成图像。

此处插值节点选择为等距插值节点,即:0.1(0,1,2,,)i x ih i =-+= (20)其中h=0.1。

插值曲线与原曲线的对比如图1.2(蓝色为原曲线,红色为插值曲线)。

从图中看出,在区间中部,二者吻合较好;但在区间两端二者则产生了明显偏差,甚至可以达到一个非常大的数值(e20量级)。

因此,在等距节点的20次Newton 插值下,产生了明显的Runge 现象。

图1.2.Newton 插值曲线与原曲线对比3. Lagrange 插值此处同样是根据Lagrange 插值的具体算法进行编程。

但插值节点不再是等距分布,而是如下形式:21cos()(0,1,2,,)42i i x i π+==…20 插值曲线与原曲线的对比如图1.3(蓝色为原曲线,红色为插值曲线)。

从图中看出,插值曲线与原曲线吻合的很好,没有产生明显的Runge 现象。

对比产生了明显Runge 现象的20次Newton 插值,Lagrange 插值的最高次数虽然也是20,但由于此处的插值节点不是等距分布的(事实上,此处采用的插值节点正是Chebyshev 多项式的零点),而是中间疏两边密,因此两侧较密的节点很好地抑制了Runge 现象。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
fplot('-abs(h(x)-Lh(x,15))',[-5 5],color(3))
fplot('-abs(h(x)-Lh(x,20))',[-5 5],color(4))
legend('5次','10次','15次','20次')
title('逼近函数与原函数在区间上的误差')
grid on
(程序代码2.1.3)【计算误差】运行窗口主程序:
三、实验结果及分析
1.I.画出函数f(x)及其插值多项式函数Ln(x)在[-1,1]上的图像,如下图,
(程序代码1.1.1)
II.由于fminbnd函数的不可靠性,先通过编程绘出每次逼近在定义区间上的误差如下图,(程序代码1.1.2)
观察图像可知每次逼近的最大误差在哪个区间,再通过编程缩小区间,得到其每次逼近最大误差为(截图如下,程序代码1.1.3),
数值分析课程设计
多项式插值的震荡现象
指导教师
学院名称
专业名称
提交日期
一、问题的提出
在一个固定区间上用插值逼近一个函数。显然,拉格朗日插值中使用的节点越多,插值多项式的次数就越高。而插值多项式增加时,Ln(x)是否也更加靠近被逼近的函数。下面就这个问题展开实验。
二、实验内容
1.设区间[-1,1]上的函数 ,对其等距划分,写出其拉格朗日插值多项式为 。通过不断增加分点数n=2,3,…。
title('逼近函数与原函数在区间上的误差')%表明图像名称
grid on%图像中显示网格,易于观察
axis([-1,1,-2.2,0])%缩小观察范围
(程序代码1.1.3)【计算误差】运行窗口主程序:
[xmin(1),ymin(1)]=fminbnd('-abs(f(x)-Lf(x,5))',-0.2,0.2)
fplot('Lh(x,10)',[-5 5],color(2)) %插值的图像
fplot('Lh(x,15)',[-55],color(3))
fplot('Lh(x,20)',[-55],color(4))
legend('原函数','5次','10次','15次','20次')
title('多项式插值的震荡现象') %表明图像名称
axis([-5,5,-1,1]) %缩小观察范围
grid on %图像中显示网格,易于观察
(程序代码2.1.2)【绘图表示误差】运行窗口主程序:
hold on
color=['g','b','m','k']
fplot('-abs(h(x)-Lh(x,5))',[-5 5],color(1))
fplot('-abs(h(x)-Lh(x,10))',[-5 5],color(2))
Lh.m:function Ln=Lh(x,n)
Ln=0%初始化Ln
for i=1:n+1%平均划分节点,并存储在X矩阵内
X(i)=-5+10*(i-1)/n;
end
for i=1:n+1%该循环得出各项ai(x)f(xi)想加之和
q=h(X(i))
for j=1:n+1%该循环得出每一项的
if i~=j
%计算5次插值多项式与原函数之间差的最大值,下面同理
[xmin(2),ymin(2)]=fminbnd('-abs(f(x)-Lf(x,7))',-0.2,0.2)
[xmin(3),ymin(3)]=fminbnd('-abs(f(x)-Lf(x,9))',-1,-0.8)
[xmin(4),ymin(4)]=fminbnd('-abs(f(x)-Lf(x,11))',-1,-0.8)
[2]史万明 吴裕树,数值分析[M],北京,北京理工大学出版社,2010-4
六、附录
I.运行环境(计算机型号DELL N4030):
II.运行时间:2012年5月30日星期三20:00
III.程序代码:
1.定义两个m函数:
f.m:function z=f(x)
z=1/(1+25*(x^2))
Lf.m:function Ln=Lf(x,n)
color=['g','b','m','k','c','y'] %定义颜色字符组
fplot('-abs(f(x)-Lf(x,5))',[-1 1],color(1))%分别画出每次插值
fplot('-abs(f(x)-Lf(x,7))',[-1 1],color(2))%在定义区间上的误差
fplot('-abs(f(x)-Lf(x,9))',[-1 1],color(3))
并:I.画出原函数f(x)及插值多项式函数Ln(x)在[-1,1]上的图像;
II.给出每一次逼近的最大误差;
III.比较并分析实验结果。
2.选择其他函数,如定义在区间[-5,5]上的函数 和 ,重复上述I、II、III三个步骤看其结果如何。
3.区间[a,b]上切比雪夫点的定义为 ,k=1,2,…,n+1。以 , ,…, 为插值节点构造上述各函数的Lagrange插值多项式,比较其结果。
四、关于本设计的体会
做了两个星期的课程设计,首先的感触就是很烦,然后感觉收获了很多,包括对Matlab的熟悉程度有很大的提升、对Matlab一些内置函数也有了很好的理解和运用、锻炼了自己自习找资料的能力。而做这个课程设计的主要的困难就是做出第一个函数的绘图、误差分析等等,因为后面无论是其它两个函数或者用切比雪夫点构造的三个函数的插值函数,都是万变不离其宗。
2.h(x):
I.画出函数h(x)及其插值多项式函数Ln(x)在[-1,1]上的图像,如下图(程序代码2.1.1):
II.同理先通过编程绘出每次逼近在定义区间上的误差如下图(程序代码2.1.2),
再通过缩小区间,编程计算每次逼近最大误差如下(截图如下,程序代码2.1.3):
III.比较并分析实验结果:
Ln=0%初始化Ln
for i=1:n+1
X(i)=-1+2*(i-1)/n;%平均划分节点,并存储在X矩阵内
end
for i=1:n+1%该循环得出各项ai(x)f(xi)想加之和
q=f(X(i))
for j=1:n+1%该循环得出每一项的ai(x)f(xi)
if i~=j
q=q*(x-X(j))/(X(i)-X(j))
(2)就每次逼近的最大误差分析。其结果与上两个函数大致一样,就不做详细说明了。
3.以切比雪夫点为插值点构造上述3个函数的拉格朗日插值公式,并画图,
f(x)(程序代码3.1.1):
h(x)(程序代码3.2.1):
g(x)(程序代码3.3.1):
先通过画图并观察,缩小区间得到每次逼近的最大误差:
f(x)(程序代码3.1.2):
q=q*(x-X(j))/(X(i)-X(j))
end
end
Ln=Ln+q
end
(程序代码2.1.1)【绘图】运行窗口主程序:
fplot('h(x)',[-55],'r') %画出原函数图像
hold on %保留图像
color=['g','பைடு நூலகம்','m','k'] %定义颜色字符组
fplot('Lh(x,5)',[-5 5],color(1)) %分别画出5,7,9,11,13,15次
而这次设计的过程和结果,也存在较多不足之处。对Matlab一些函数的不了解,导致花大量的时间走了弯路,并得到不太理想的结果,例如:无法通过一个循环语句;还有就是在分析结果时,不能很透彻的分析到位,尚且有待提高。
五、参考文献
[1]任玉杰,数值分析及其MATLAB实现[M],北京,高等教育出版社,2007
fplot('-abs(f(x)-Lf(x,11))',[-1 1],color(4))
fplot('-abs(f(x)-Lf(x,13))',[-1 1],color(5))
fplot('-abs(f(x)-Lf(x,15))',[-1 1],color(6))
legend('5次','7次','9次','11次','13次','15次')
legend('原函数','5次','7次','9次','11次','13次','15次')
title('多项式插值的震荡现象') %表明图像名称
axis([-1,1,-1,1])%缩小观察范围
grid on%图像中显示网格,易于观察
(程序代码1.1.2)【绘图表示误差】运行窗口主程序:
hold on %保留图像
再通过缩小区间,编程计算每次逼近最大误差如下(截图如下,程序代码2.2.3):
III.比较并分析实验结果:
(1)在同一个坐标系中绘制g(x)及5次、10次等多次插值后的图像。从图中可以看出:与第1、2个函数不同,这里的10次插值函数整体拟合程度最好,在两端并没有发生较剧烈的震荡现象;而插值次数到了15或20次时,震荡非常强烈。
相关文档
最新文档