插值法综述《计算方法》学习报告

合集下载

插值法总结

插值法总结

插值法在生产实践过程和科学实验中,经常要研究变量之间的函数关系,但在很多的情况下,又很难找到具体的函数表达式,往往只能通过测量或者观察获得一些量以及对应的值,这种无法求出其他量的对应的函数值,也不能进一步研究函数的分析性质。

为了解决这个问题,我们设法通过已给的量以及对应的值来求出一个简单函数P (x ),使P (x )=x x (x =0,1,2…x )成立。

这个求插值函数P (x )的方法称为插值法。

1 拉格朗日插值法先考虑一个简单的插值问题:求一个n 次插值多项式x x (x ),使它在各节点x x (i=0,1…,n)上的值为x x (x )={0 (x ≠x )1 (x =x )(I,k=0,1,2…n) 由上式可知,x x (x )在x 0,x 1,…x x −1,x x +1,..x x 处有根,所以可设x x (x )=x x (x −x 0)(x −x 1)…(x −x x −1)(x −x x +1)…(x −x x )由x x (x x )=1,可求得!x x =1(x x −x 0)(x x −x 1)…(x x −x x −1)(x x −x x +1)…(x x −x x )则 x x (x )=(x −x 0)(x −x 1)…(x −x x −1)(x −x x +1)…(x −x x )(x x −x 0)(x x −x 1)…(x x −x x −1)(x x −x x +1)…(x x −x x )从而插值多项式 x x (x )=∑x x (x )x x x x =0,这就是拉格朗日插值多项式。

其优点是结构紧凑,系数有明确的定义,便于理论研究。

缺点是当插值节点的个数有变动时,拉格朗日的基函数x x (x )也要随之发生变化,从而整个插值公式都发生变化,也就是拉格朗日插值不具有承袭性,这在实际计算时是不方便的。

2 牛顿插值法为了克服拉格朗日插值不具有承袭性的缺点,下面介绍了牛顿插值法。

牛顿插值法实验报告

牛顿插值法实验报告

牛顿插值法实验报告
1. 什么是牛顿插值法?
牛顿插值法是一种多项式插值的方法,利用差商的概念,通过给定的点求出一个n 次多项式,使得该多项式经过这些点并尽可能接近给定的函数。

2. 实验步骤是什么?
(1)利用MATLAB 编写程序,输入插值节点和函数值;
(2)求解差商表及插值多项式;
(3)将插值多项式绘制成图像,并与实际函数进行比较;
(4)通过调整插值节点的个数,观察插值多项式的变化情况。

3. 实验中遇到的主要问题是什么?
在实验过程中,需要注意细节问题,如插值节点的选择、差商的计算及程序的调试等。

此外,如果插值多项式的次数太高,可能会出现插值误差过大的情况。

4. 实验的结果有哪些?
实验结果表明,随着插值节点数的增加,插值多项式的精度会提高,并且能够较好地拟合原函数。

但是如果节点过于密集,可能出现龙格现象,插值多项式的误差反而会增大。

5. 实验的意义是什么?
牛顿插值法是计算数学中重要的一种方法,对于一些实际问题的模拟和数据处理有着广泛的应用。

了解其原理和实现方式,能够更好地理解插值问题,并为计算实践提供一些帮助。

数值计算课程设计报告(插值法)

数值计算课程设计报告(插值法)

数值计算方法课程设计报告课程设计名称:数值计算方法课程设计题目:插值算法年级专业:信计1302班组员姓名学号:高育坤**********王冬妮1309064044韩建1309064046李婧1309064047 ***师:***完成时间:2015年6月17日插值算法一、问题提出插值法是实用的数值方法,是函数逼近的重要方法。

在生产和科学实验中,自变量x与因变量y的函数y = f(x)的关系式有时不能直接写出表达式,而只能得到函数在若干个点的函数值或导数值。

当要求知道观测点之外的函数值时,需要估计函数值在该点的值。

如何根据观测点的值,构造一个比较简单的函数y=φ(x),使函数在观测点的值等于已知的数值或导数值,进而用简单函数y=φ(x)在点x处的值来估计未知函数y=f(x)在x点的值。

寻找这样的函数φ(x),办法是很多的。

φ(x)可以是一个代数多项式,或是三角多项式,也可以是有理分式;φ(x)可以是任意光滑(任意阶导数连续)的函数或是分段函数;函数类的不同,自然地有不同的逼近效果。

二、背景分析在许多实际问题及科学研究中,因素之间往往存在着函数关系,然而,这种关系经常很难有明显的解析表达,通常只是由观察与测试得到一些离散数值。

有时,即使给出了解析表达式,却由于表达式过于复杂,不仅使用不便,而且不易于进行计算与理论分析。

解决这类问题的方法有两种:一种是插值法插值法,另一种是一拟合法。

插值法是一种古老的数学方法,它来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也日益增多,特别是在计算机软件中,许多库函数,如 ,cos,sin ex 等的计算实际上归结于它的逼近函数的计算。

逼近函数一般为只含有算术运算的简单函数,如多项式、有理分式(即多项式的商)。

在工程实际问题当中,我们也经常会碰到诸如此类的函数值计算问题。

被计算的函数有时不容易直接计算,如表达式过于复杂或者只能通过某种手段获取该函数在某些点处的函数值信息或者导数值信息等。

实验一---函数插值方法报告

实验一---函数插值方法报告

实验一 函数插值方法报告一、问题提出对于给定的一元函数)(x f y =的n+1个节点值(),0,1,,j j y f x j n ==。

试用Lagrange公式求其插值多项式或分段二次Lagrange 插值多项式。

数据如下:(1)求五次Lagrange 多项式5L ()x ,和分段三次插值多项式,计算(0.596)f ,(0.99)f 的值。

(提示:结果为(0.596)0.625732f ≈, (0.99) 1.05423f ≈ )(试构造Lagrange 多项式6,计算的(1.8)f ,(6.15)f 值。

(提示:结果为(1.8)0.164762f ≈, (6.15)0.001266f ≈ )二、要求1、 利用Lagrange 插值公式00,()n ni n kk i i k k i x x L x y x x ==≠⎛⎫-= ⎪-⎝⎭∑∏编写出插值多项式程序; 2、 给出插值多项式或分段三次插值多项式的表达式;3、 根据节点选取原则,对问题(2)用三点插值或二点插值,其结果如何;4、 对此插值问题用Newton 插值多项式其结果如何。

Newton 插值多项式如下: 10010,()()[,,]()k n n j k k j j k N x f x f x x x x -==≠=+•-∑∏其中:0,()() [,,]k ikii jj j ikf xx x f x x==≠-=∑∏三、目的和意义1、学会常用的插值方法,求函数的近似表达式,以解决其它实际问题;2、明确插值多项式和分段插值多项式各自的优缺点;3、熟悉插值方法的程序编制;4、如果绘出插值函数的曲线,观察其光滑性。

四、实验学时:2学时五、实验步骤:1.进入C或matlab开发环境;2.根据实验内容和要求编写程序;3.调试程序;4.运行程序;5.撰写报告,讨论分析实验结果.解:一、编写插值函数结构程序Lagrange插值多项式M文件:lagrange1.mfunction [A1,LN,L1,B1]=lagrange1(X,Y)m=length(X); LN=ones(m,m);for k=1: mx1=1;for i=1:mif k~=ix1=conv(x1,poly(X(i)))/(X(k)-X(i));endendL1(k,:)=x1; B1(k,:)=poly2sym (x1)endA1=Y*L1;LN=Y*B1分段三次艾尔米特插值多项式的M文件:Hermite3.mfunction [f,ff] = Hermite3(x,y,y1)syms t;f = 0.0;if(length(x) == length(y))if(length(y) == length(y1))n = length(x);elsedisp('y和y的导数的维数不相等');return;endelsedisp('x和y的维数不相等!');return;endfor i=1:nh = 1.0;a = 0.0;for j=1:nif( j ~= i)h = h*(t-x(j))^2/((x(i)-x(j))^2);a = a + 1/(x(i)-x(j));endendf = f + h*((x(i)-t)*(2*a*y(i)-y1(i))+y(i));endff = subs(f,'t');L()x,和分段三次插值多项式。

插值法数学计算方法

插值法数学计算方法

插值法数学计算方法插值法是一种数学计算方法,用于在已知数据点的基础上,通过构建一条插值曲线来估计未知数据点的值。

插值法可以应用于各种数学问题中,例如逼近函数、插值多项式、差值等。

本文将详细介绍插值法的原理和常见的插值方法。

一、插值法的原理插值法的基本思想是通过已知数据点的函数值来构建一个函数表达式,该函数可以通过插值曲线来估计任意点的函数值。

根据已知数据点的数量和分布,插值法可以采用不同的插值方法来构建插值函数。

插值法的原理可以用以下几个步骤来描述:1.收集已知数据点:首先,需要收集一组已知的数据点。

这些数据点可以是实际测量得到的,也可以是其他方式获得的。

2.选择插值方法:根据问题的特性和数据点的分布,选择适合的插值方法。

常见的插值方法包括拉格朗日插值法、牛顿插值法、埃尔米特插值法等。

3.构建插值函数:通过已知数据点,利用选择的插值方法构建插值函数。

这个函数可以拟合已知数据点,并通过插值曲线来估计未知数据点。

4.估计未知数据点:利用构建的插值函数,可以估计任意点的函数值。

通过插值曲线,可以对未知数据点进行预测,获得相应的数值结果。

二、常见的插值方法1.拉格朗日插值法:拉格朗日插值法基于拉格朗日多项式,通过构建一个具有多项式形式的插值函数来逼近已知数据点。

插值函数可以通过拉格朗日基函数计算得到,式子如下:P(x) = ∑[f(xi) * l(x)], i=0 to n其中,P(x)表示插值函数,f(xi)表示已知数据点的函数值,l(x)表示拉格朗日基函数。

2.牛顿插值法:牛顿插值法基于牛顿差商公式,通过构建一个递归的差商表来逼近已知数据点。

插值函数可以通过牛顿插值多项式计算得到,式子如下:P(x) = f(x0) + ∑[(f[x0, x1, ..., xi] * (x - x0) * (x - x1)* ... * (x - xi-1)] , i=1 to n其中,P(x)表示插值函数,f[x0, x1, ..., xi]表示xi对应的差商。

拉格朗日插值实验报告

拉格朗日插值实验报告

引言概述:
拉格朗日插值是一种常用的数值分析方法,旨在通过已知的离散数据点来近似拟合出一个多项式函数,从而实现对未知数据点的预测和估计。

该方法在信号处理、图像处理、金融模型和机器学习等领域具有广泛的应用。

本实验报告将详细介绍拉格朗日插值的原理、算法和实验结果。

正文内容:
1.拉格朗日插值的原理
1.1多项式插值的概念
1.2拉格朗日插值多项式的形式
1.3拉格朗日插值多项式的唯一性证明
2.拉格朗日插值的算法
2.1插值多项式的计算方法
2.2插值多项式的复杂度分析
2.3多点插值方法的优缺点
3.拉格朗日插值的实验设计
3.1实验目的和步骤
3.2数据采集和预处理
3.3插值多项式的建模
3.4实验环境和工具选择
3.5实验结果分析和评估
4.拉格朗日插值的应用案例
4.1信号处理领域中的插值应用
4.2图像处理中的插值算法
4.3金融模型中的拉格朗日插值
4.4机器学习中的插值方法
5.拉格朗日插值的改进和发展
5.1经典拉格朗日插值的局限性
5.2最小二乘拉格朗日插值的改进
5.3多项式插值的其他方法
5.4拉格朗日插值在新领域的应用前景
总结:
拉格朗日插值作为一种经典的数值分析方法,在实际应用中具有广泛的用途。

本文通过介绍拉格朗日插值的原理和算法,以及实验设计和应用案例,全面展示了该方法的特点和优势。

同时,本文还指出了经典拉格朗日插值的局限性,并介绍了一些改进和发展的方向。

可以预见,拉格朗日插值在信号处理、图像处理、金融模型和机器学习等领域将继续发挥重要作用。

数值分析插值实验报告

数值分析插值实验报告引言插值是数值分析中常用的一种技术,通过已知点的函数值来推测未知点的函数值。

在实际应用中,我们经常需要根据有限的数据点来估计连续函数的值,这时插值就起到了关键作用。

本实验旨在通过插值方法来推测未知数据点的函数值,并对比不同插值方法的精度和效果。

实验目的1.了解插值的基本概念和方法;2.掌握常见的插值方法,如拉格朗日插值、牛顿插值等;3.对比不同插值方法的精度和效果,分析其优缺点。

实验步骤1.数据采集:选取一组已知数据点,作为插值的基础。

这些数据点可以是从实际场景中测量得到的,也可以是人为设定的。

2.插值方法选择:根据实验要求和数据特点,选择适合的插值方法。

常见的插值方法包括拉格朗日插值、牛顿插值、分段线性插值等。

3.插值计算:根据选定的插值方法,利用已知数据点进行计算,并得到插值结果。

4.结果分析:比较插值结果与实际数据的差异,并评估插值方法的精度和效果。

可以使用误差分析等方法进行评估。

5.优化调整:根据实验结果和需求,对插值方法进行优化调整,以提高插值的准确性和可靠性。

实验结果与讨论通过实验,我们得到了不同插值方法的结果,并进行了对比和分析。

根据实验数据和误差分析,我们可以得出以下结论:1.拉格朗日插值方法具有较高的插值精度,在一定程度上能够准确地模拟实际数据。

2.牛顿插值方法相对于拉格朗日插值方法而言,对于大量数据点的计算速度更快,但在少量数据点的情况下,两者的精度差异较小。

3.分段线性插值方法适用于数据点较为离散的情况,能够提供较为平滑的插值结果。

4.插值方法的选择应根据具体需求和数据特点进行,没有一种插值方法适用于所有情况。

实验总结通过本次实验,我们对插值方法有了更深入的了解,并掌握了常见的插值方法的原理和应用。

实验结果表明,插值方法在数值分析中起到了重要的作用,能够准确地推测未知点的函数值。

然而,在实际应用中,我们还需要考虑数据的特点、插值方法的适用性以及计算效率等因素。

高等数值分析-插值法报告

南京理工大学课程考核论文课程名称:高等数值分析论文题目:基于matlab的函数插值方法性能比较姓名:xxx学号:xxxxxxxxxx成绩:摘要函数插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。

本文首先介绍了五种插值方法:线性插值、lagrange插值、newdun插值、三次样条插值和三次B样条插值,并从五种插值法的基本思想和具体实例仿真入手,探讨了五种插值法的优缺点。

通过对五种插值法的对比研究及实际应用的总结,从而使我们在以后的应用中能够更好、更快的解决问题。

关键字插值法对比matlab目录摘要 (2)0 引言 (4)1插值问题的提出、发展史及简单应用 (4)1.1插值问题的提出 (4)1.2插值法的发展史 (4)1.3插值法的简单应用 (4)2 五种插值法的定义 (5)2.1线性插值法 (5)2.2Lagrange插值法 (5)2.3Newton插值法 (6)2.4 三次样条插值法 (6)2.5B样条插值 (6)3五种插值法的matlab仿真实现 (8)4五种插值方法性能对比 (11)5结束语 (12)参考文献 (12)0 引言近半世纪由于计算机的广泛使用和造船、航空、精密机械加工等世纪问题的需要,使插值法在理论上和实践上得到进一步发展,尤其是20世纪40年代后期发展起来的样条插值等,更获得广泛应用,称为计算机图形学的基础。

插值是指已知某函数的在若干离散点上的函数值或者导数信息,通过求解该函数中待定形式的插值函数以及待定系数,使得该函数在给定离散点上满足约束。

插值函数又叫作基函数,如果该基函数定义在整个定义域上,叫作全域基,否则叫作分域基。

1插值问题的提出、发展史及简单应用1.1插值问题的提出许多实际问题都用函数来表示某种内在规律的数量关系,其中相当一部分函数是通过实验或观测得到的。

虽然()x f 在某个区间[]b a ,上是存在的,有的还是连续的,但却只能给出[]b a ,上一系列点i x 的函数值()() 2,1,0==i x f y i i ,这只是一张函数表.有的函数虽有解析表达式,但由于计算复杂,使用不方便,通常也造一个函数表,如大家熟悉的三角函数表、对数表、平方根和立方根表.为了研究函数的变化规律,往往需要求出不在表中的函数值.因此,我们希望根据给定的函数表做一个既能反映函数()x f 的特性,又便于计算简单函数()x p ,用()x p 近似()x f 。

插值法和拟合实验报告(数值计算)

插值法和拟合实验报告一、实验目的1.通过进行不同类型的插值,比较各种插值的效果,明确各种插值的优越性;2.通过比较不同次数的多项式拟合效果,了解多项式拟合的原理;3.利用matlab 编程,学会matlab 命令;4.掌握拉格朗日插值法;5.掌握多项式拟合的特点和方法。

二、实验题目1.、插值法实验将区间[-5,5]10等分,对下列函数分别计算插值节点kx 的值,进行不同类型的插值,作出插值函数的图形并与)(x f y =的图形进行比较:;11)(2x x f += ;arctan )(x x f = .1)(42x x x f +=(1) 做拉格朗日插值; (2) 做分段线性插值; (3) 做三次样条插值.2、拟合实验给定数据点如下表所示:分别对上述数据作三次多项式和五次多项式拟合,并求平方误差,作出离散函数),(i i y x 和拟合函数的图形。

三、实验原理1.、插值法实验∏∑∏∏∏∑∑≠==≠=≠=≠=+-==--==-===-=-=----==++==ji j ji i i i i ni i n nji j jnji j ji i nji j jn i i i ni i n nn o i ni i n x x x x x y x l x L x x c ni x x c x x x cx x x x x x x x c y x l x L y x l y x l y x l x L ,00,0,0,0110000)(l )()()(1,1,0,1)()(l )()())(()()()()()()()(,故,得再由,设2、拟合实验四、实验内容1.、插值法实验1.1实验步骤:打开matlab软件,新建一个名为chazhi.m的M文件,编写程序(见1.2实验程序),运行程序,记录结果。

1.2实验程序:x=-5:1:5;xx=-5:0.05:5;y1=1./(1+x.^2);L=malagr(x,y1,xx);L1=interp1(x,y1,x,'linear');S=maspline(x,y1,0.0148,-0.0148,xx);hold on;plot(x,y1,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y2=atan(x);L=malagr(x,y2,xx);L1=interp1(x,y2,x,'linear');S=maspline(x,y2,0.0385,0.0385,xx);hold on;plot(x,y2,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');figurex=-5:1:5;xx=-5:0.05:5;y3=x.^2./(1+x.^4);L=malagr(x,y3,xx);L1=interp1(x,y3,x,'linear');S=maspline(x,y3,0.0159,-0.0159,xx);hold on;plot(x,y3,'b*');plot(xx,L,'r');plot(x,L1,'g');plot(xx,S,'k');1.3实验设备:matlab软件。

牛顿插值法报告

河北大学数计学院数值计算Newton插值多项式实验报告课程名称:数值计算授课老师:高少芹学生:耿福顺学号:**********日期:2012/11/27一、实验目的:1、掌握牛顿插值法的基本思路和步骤。

2、培养编程与上机调试能力。

二、实验原理:给定插值点序列())(,i i x f x ,,,1,0,n i =。

构造牛顿插值多项式)(u N n 。

输入要计算的函数点,x 并计算)(x N n 的值,利用牛顿插值公式,当增加一个节点时,只需在后面多计算一项,而前面的计算仍有用;另一方面)(x N n 的各项系数恰好又是各阶均差,而各阶均差可用均差公式来计算。

为 的 一阶均差。

为的 k 阶均差。

均差表:零阶均差一阶均差 二阶均差三阶均差X 0 f(X 0) X 1 f(X 1) f[X 0, X 1] X 2 f(X 2) f[X 1, X 2] f[X 0,X 1, X 2]X 3 f(X 3) f[X 2, X 3]f[X 1, X 2,X 3]f[X 0,X 1, X 2 X 3]MMMMM1.输入n 值及())(,i i x f x ,,,1,0,n i =;要计算的函数点x 。

2.对给定的,x 由[][][]00010101201101()()(),()(),,()()(),,n n n N x f x x x f x x x x x x f x x x x x x x x x f x x x -=+-+--++---计算()n N x 的值。

3. 输出()n N x 。

三、源代码:#include "stdafx.h" #include <iostream> using namespace std; #include <math.h>void f1(double *,double *,double **,int); void f2(double *,double **,int);kxvoid f3(double **,double *,double *,int n);int _tmain(int argc, _TCHAR* argv[]){cout<<"请输入点个数n"<<endl;int n;cin>>n;double *x=new double[n];double *y=new double[n];int i;for(i=0;i<n;i++){cout<<"输入x"<<i<<endl;cin>>x[i];cout<<"输入y"<<i<<endl;cin>>y[i];}cout<<"*****************************************"<<endl;double **a=new double*[n-1];for(i=0;i<n-1;i++)a[i]=new double[n-1];f1(x,y,a,n);for(int i=0;i<n-1;i++){cout<<i+2<<"阶均差为"<<endl;for(int j=0;j<n-1-i;j++){cout<<a[j][i]<<endl;}}double *A=new double[n];A[0]=y[0];for(int i=1;i<n;i++){A[i]=a[0][i-1];}for(int i=0;i<n;i++){cout<<"a"<<i<<"="<<A[i]<<endl;}double **c=new double*[n+1];for(i=0;i<n+1;i++)c[i]=new double[n+1];f2(x,c,n+1);for(int i=0;i<n+1;i++){for(int j=i;j<n+1;j++){cout<<"c("<<j<<','<<i<<")="<<c[j][i]<<endl;}}double *h=new double [n];f3(c,A,h,n);return 0;}void f1(double *x,double *y,double **a,int n){for(int i=0;i<n-1;i++){a[i][0]=(y[i+1]-y[i])/(x[i+1]-x[i]);}for(int j=1;j<n-1;j++){for(int k=0;k<n-1-j;k++){a[k][j]=(a[k+1][j-1]-a[k][j-1])/(x[j+k+1]-x[k]);}}}void f2(double *x,double **c,int n){for(int i=0;i<n;i++){c[i][0]=1;}for(int i=1;i<n;i++){c[i][i]=x[i-1]*c[i-1][i-1];for(int j=i+1;j<n;j++){c[j][i]=x[j-1]*c[j-1][i-1]+c[j-1][i];}}}void f3(double **c,double *A,double *h,int n){for(int i=0;i<n;i++){int k=0;h[i]=0;for(int j=0;j<n-i;j++){if(j%2==0)k=1;elsek=-1;h[i]=h[i]+k*c[i+j][j]*A[i+j];}cout<<"a"<<i<<"="<<h[i]<<endl;}}四、调试结果:测试数据:输出均差表:输出各项系数:。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

插值法综述一、插值法及其国内外研究进展1.插值法简介插值法是一种古老的数学方法,它来自生产实践,早在一千多年前,我国科学家在研究历法上就应用了线性插值与二次插值,但它的基本理论却是在微积分产生之后才逐渐完善的,其应用也日益增多,特别是在计算机广泛使用之后,由于航空、机械加工、自动控制等实际问题的需要,使插值法在实践和理论上都显得更为重要,并得到了空前的发展。

2.国内外研究进展● 插值法在预测地基沉降的应用● 插值法在不排水不可压缩条件下两相介质的两重网格算法的应用 ● 拉格朗日插值法在地震动的模拟研究中的应用 ● 插值法在结构抗震可靠性分析中的应用● 插值法在应力集中应变分布规律实验分析中的应用 3.代表性文献● 不等时距GM (1%2c1)模型预测地基沉降研究 秦亚琼 武汉理工大学学报(交通科学与工程版) 2008.2● 不排水不可压缩条件下两相介质的两重网格算法 牛志伟 岩土力学 2008.3● 基于拉格朗日插值法的地震动的模拟 白 可 山西建筑2010.10● 响应表面法用于结构抗震可靠性分析 张文元 世界地震工程1997● 小议应力集中应变分布规律的实验方法 查珑珑 淮海工学院学报(自然科学版)2004.6二、插值法的原理【原理】设有n+1个互不相同的节点(i x ,i y ) (i=0,1,2,...n )则存在唯一的多项式:2012()...(1)nn n L x a a x a x a x =++++ 使得()(0,1,2,...)(2)n j j L x y j n ==证明:构造方程组20102000201121112012......(3)...n n nn n nn n n n a a x a x a x y a a x a x a x y a a x a x a x y⎧++++=⎪++++=⎪⎨⎪⎪++++=⎩令:0011111nn n n n x x x x A x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦01n a a X a ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦01n y y Y y ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦ 方程组的矩阵形式如下:(4)AX Y=由于110()0nn i j i j A x x -===-≠∏∏所以方程组(4)有唯一解。

从而2012()...n n n L x a a x a x a x =++++唯一存在。

三、常用插值法3.1 Lagran ge 插值法3.1.1 La gr an ge插值法的一般提法给定))(,(i i x f x ),,1,0(n i =,多项式∑∏∑=≠==⎪⎪⎪⎭⎫⎝⎛--==n i nij j j i j i ni i i n x x x x y x l y x 000)()(ϕ 称为)(x f 关于n x x x ,,,10 的n 次Lag ran ge插值多项式。

3.1.2 Lagr ange 插值多项式的构造 已知n+1个节点(,)(0,1,,j j x y j n =其中j x 互不相同,不妨设01),n a x x x b =<<<=要求形如:1110()n n n n n P x a x a x a x a --=++++ 的插值多项式。

若n 次多项式()(0,1,,)j l x j n =在n+1个节点01n x x x <<<上满足条件:1,;()(,0,1,,)0,.j k k j l x j k n k j =⎧==⎨≠⎩就称这n+1个n次多项式01(),(),,()n l x l x l x 为节点01,,,n x x x 的n次插值基函数。

3.1.3 Lagr ang e插值法的程序设计 f[x_]:=E xp[x]A=Ta ble[{x,f[x]},{x,0,0.8,0.2}]//Ng1=L istPlot[T able[A],P rolog->Abso lute PointSiz e[18]]; Interpolation[A,I nterpolationO rder->3] g2=Plo t[%[x],{x,0,0.8}] Sh ow[g1,g2] N[%%%[0.12],20] N[%%%%[0.72],20] N[f[0.12],20] N[f[0.72],20]3.1.4 L agrange 插值法典型例题及其解法5===,构造二次拉格朗日插值多项式。

(1)计算(2)估计误差并与实际误差相比较。

解(1)以插值点(27,3), (64,4), (125,5)代入插值公式,得222()()2000x x j x y l x y i i ix x i i j i j j iφ⎛⎫⎪-⎪==∑∑∏⎪-===⎪ ⎪≠⎝⎭=(64)(125)(27)(125)(27)(64)345(2764)(27125)(6427)(64125)(12527)(12564)x x x x x x ------⨯+⨯+⨯------(100)2(10064)(100125)(10027)(100125)(10027)(10064)345(2764)(27125)(6427)(64125)(12527)(12564)ϕ≈------=⨯+⨯+⨯------ 4.68782=(2) 由误差公式有(3)()()(27)(64)(125)3!f R x x x x ξ=---记810(3)(3)3()(),()27f x f x x f x -==在[27,125]上是单调递减函数。

(3)(3)5()(27) 5.6450310f x f-≤≈⨯(3)()(100)(10027)(10064)(100125)0.6181316f R ξ∴≤---≈2(100)0.04623ϕ=。

3.1.5 L agrange 插值法误差估计(1)0()()()()(),(,)(1)!n nn n j j f R x f x L x x x a b n ξξ+==-=-∈+∏(1)1()n n fM ξ++≤10()(1)!nn n j j M R x x x n +=⇒≤-+∏ 3.2 Newt on 插值法3.1.1 N ewton 插值法的一般提法],,,[)())((],,[))((],[)()()(1011021010000n n n x x x f x x x x x x x x x f x x x x x x f x x x f x N----++--+-+=称为Newt on插值多项式。

3.1.2 Ne wt on 插值多项式的构造()(-)(-)(-)(-)(-)0102010-1N x a a x x a x x x x L a x x L x x n n n =++++ 由插值条件()(0,1,,)N x f j n n j j == 当0x x =时,()000N x a f n ==.当1x x =时,1()()1010N x a a x x f n =+-=,推得 1000110f fa fa x x-==-. 当2x x =时,()()()()20120220212N x a a x x a x x x x f n =+-+--= 20102010221f f f fx x x xa x x-----=- 则引入记号:[][]10[][,]0110f x f x f f x f x x k k x x -==- [,][,]0201[,,]01221f x x f x x f x x x x x -=-2010201021f f f f x x x x x x-----=- 依次递推可得a k 的一般表达式:[,,...,][,,...]012011[,,...,]011f x x x x f x x x k k k f x x x k x xk k ---=--3.1.3 New ton 插值法的程序设计{x[0],x[1],x[2],x[3],x[4]}={10,11,12,13,14}; y[k_]:=Log [x [k]]T able [y [k ],{k,0,4}]//N; MatrixFo rm[%]f[i_,j_]:=(y[j]-y[i])/(x[j ]-x[i]) Ta ble[f[i ,i+1],{i,0,3}]//N; MatrixForm [%]f[i _,j_,k_]:=(f[j,k ]-f[i ,j ])/(x[k]-x[i]) Table[f[i,i+1,i+2],{i,0,2}]//N; M atri xForm[%]f[i _,j_,k_,l_]:=(f [j,k,l]-f [i,j,k])/(x[l]-x[i]) Table[f[i,i+1,i+2,i+3],{i,0,1}]//N ; Ma trix Form[%]f[i_,j_,k _,l_,m_]:=(f[j ,k,l,m]-f[i,j,k,l])/(x[m ]-x [i]) Table[f [i,i +1,i+2,i+3,i+4],{i,0,0}]//N; MatrixForm[%]A={{y[0],y[1],y [2],y[3],y[4]},{0,f[0,1],f[1,2],f[2,3],f[3,4]}, {0,0,f [0,1,2],f[1,2,3],f[2,3,4]},{0,0,0,f[0,1,2,3],f[1,2,3,4]},{0,0,0,0,f[0,1,2,3,4]}}; Transpose[A]//N ;M atrixFo rm[%] a[0]=y[0]; a [1]=f[0,1]; a[2]=f[0,1,2]; a[3]=f[0,1,2,3]; a [4]=f[0,1,2,3,4];N[x]=Sum[a[k]*Pro duc t[(x-x[m]),{m,0,k -1}],{k,0,4}]//N Expand[%]3.1.4 Ne wton 插值法典型例题及其解法 已知函数()f x 的函数表如下:求四次牛顿插值多项式,并由此求()596.0f 的近似值。

分析 表中给出六对数据,故最高可构造五次多项式。

但由于0.596接近于40.00=x ,因此可取前五对数据来做差商表。

解 构造差商表如下:故四次牛顿插值多项式为()()()()+--+-+=55.04.028000.04.011600.141075.04x x x x P ()()()()()⨯--+---55.04.003134.065.055.04.019733.0x x x x x ()()80.065.0--x x于是()596.0f ≈()596.04P =0.631 95。

相关文档
最新文档