ok数学实验+插值方法
- 格式:doc
- 大小:315.50 KB
- 文档页数:19
数学建模数学实验插值及案例在科学研究和工程实践中,数学建模扮演着至关重要的角色。
通过建立数学模型,我们可以对现实世界的现象进行模拟和预测。
其中,插值方法是一种重要的数学建模工具,用于估计在给定数据点之间的未知值。
本文将探讨插值方法的基础理论以及一个具体的数学实验案例。
插值方法是一种数学技术,通过在给定的数据点之间估计未知的值。
最常用的插值方法包括线性插值、多项式插值和样条插值等。
线性插值是最简单的插值方法,它将数据点之间的变化视为线性的,即变化率保持恒定。
多项式插值方法则通过构建一个多项式函数来逼近数据点的变化趋势。
样条插值则通过将数据点连接成平滑的曲线来进行插值。
本案例将利用多项式插值方法对房价进行预测。
我们收集了一组房屋价格数据,包括房屋的面积、房龄、位置等信息。
然后,我们使用多项式插值方法构建一个函数来描述房价与这些因素之间的关系。
通过调整多项式的阶数,我们可以控制模型的复杂性。
我们使用该模型来预测新的房价。
在本案例中,我们使用了200个样本数据进行训练,并使用另外100个数据点进行测试。
我们发现,通过增加多项式的阶数,模型的预测精度可以得到提高。
然而,当阶数增加到一定程度后,模型的性能改善不再明显。
我们还发现模型的预测结果对训练数据的分布非常敏感,对于分布偏离较大的新数据点,预测结果可能会出现较大误差。
通过本次数学实验,我们深入了解了插值方法在数学建模中的应用。
在实际问题中,插值方法可以帮助我们更好地理解数据的变化趋势和预测未知的值。
然而,插值方法也存在一定的局限性,如本实验中模型对训练数据分布的敏感性。
未来工作中,我们可以尝试采用其他更加复杂的模型,如神经网络、支持向量机等来提高预测精度。
我们还应充分考虑数据的分布特性,以提高模型的泛化能力。
插值方法是数学建模中的重要工具之一,它可以让我们更好地理解和预测数据的趋势。
通过本次数学实验,我们深入了解了多项式插值方法的工作原理和实现过程,并成功地将其应用于房价预测问题中。
插值法实验报告插值法实验报告一、引言插值法是一种常用的数值分析方法,用于通过已知数据点的函数值来估计在其他位置的函数值。
它在科学计算、图像处理、工程设计等领域有广泛的应用。
本实验旨在通过实际操作,深入理解插值法的原理和应用。
二、实验目的1. 掌握拉格朗日插值法和牛顿插值法的原理和计算方法;2. 通过实验比较不同插值方法的精度和效率;3. 分析插值法在实际问题中的应用。
三、实验步骤1. 收集实验数据:在实验室内设置几个测量点,记录它们的坐标和对应的函数值;2. 使用拉格朗日插值法计算其他位置的函数值:根据已知数据点,利用拉格朗日插值公式计算其他位置的函数值;3. 使用牛顿插值法计算其他位置的函数值:根据已知数据点,利用牛顿插值公式计算其他位置的函数值;4. 比较不同插值方法的精度和效率:通过计算误差和运行时间,比较拉格朗日插值法和牛顿插值法的性能差异;5. 分析插值法在实际问题中的应用:结合实验结果,探讨插值法在实际问题中的优势和局限性。
四、实验结果与分析1. 拉格朗日插值法的计算结果:根据已知数据点,利用拉格朗日插值公式计算其他位置的函数值;2. 牛顿插值法的计算结果:根据已知数据点,利用牛顿插值公式计算其他位置的函数值;3. 误差分析:比较插值结果与真实函数值之间的误差,分析误差的来源和影响因素;4. 运行时间分析:比较不同插值方法的运行时间,分析其效率和适用场景。
五、实验结论1. 拉格朗日插值法和牛顿插值法都是常用的插值方法,它们在不同场景下有各自的优势;2. 插值法在实际问题中的应用需要考虑数据的分布、函数的性质和计算效率等因素;3. 本实验结果表明,拉格朗日插值法和牛顿插值法在精度和效率上存在差异,具体选择哪种方法应根据实际需求进行权衡。
六、实验总结通过本次实验,我们深入了解了插值法的原理和应用。
实验结果表明,插值法在科学计算和工程设计中具有重要的作用。
在实际应用中,我们需要根据具体问题的要求和数据的特点选择合适的插值方法,以达到更好的效果。
插值法方程式的具体解法步骤嘿,朋友们!今天咱来唠唠插值法方程式的具体解法步骤。
这玩意儿啊,就像是一把解开谜题的钥匙。
咱先来说说啥是插值法。
简单来讲,就好比你知道了几个关键点,然后要在这些点中间去估摸出其他的值,就像是在一条线上填补那些没标出来的地方。
那具体咋解呢?第一步,咱得搞清楚咱有哪些已知点。
这就好比你有了几个确定的坐标,知道它们在地图上的位置。
然后呢,根据这些已知点,咱要构建一个合适的函数。
这就好像给这些点搭起一座桥,让它们能连接起来。
你想想,要是没这桥,那这些点不就孤零零的嘛!接着,咱就可以用这个函数去计算那些我们想要知道的中间值啦。
这就跟走在桥上,一步一步稳稳地走到目的地一样。
比如说,咱有两个点,一个是(1,2),一个是(3,4)。
那咱就可以通过这两个点构建一个直线函数。
然后呢,咱想知道在 2 这个位置上的值是多少,那不就可以通过这个函数算出来嘛。
再打个比方,插值法就像是在织一张网,那些已知点就是网上的节点,而我们要做的就是把这些节点连接起来,织出一张完整的网,能涵盖所有我们想知道的地方。
你说这神奇不神奇?通过这么几步,就能把那些原本不知道的东西给估摸出来。
而且啊,插值法在好多地方都能用得上呢!像什么数学计算啦,工程领域啦,都能看到它的影子。
咱可别小瞧了这插值法方程式的解法步骤,它就像是一个秘密武器,能帮我们解决好多难题呢!学会了它,就像是掌握了一门独特的技能,能在各种情况下大显身手。
所以啊,朋友们,好好去理解和掌握这插值法方程式的具体解法步骤吧!让它成为我们解决问题的得力助手。
你想想,当你熟练运用它的时候,那得多有成就感呀!是不是?别犹豫啦,赶紧行动起来,去探索这神奇的插值法世界吧!。
第1篇一、实验目的1. 理解并掌握插值法的基本原理和常用方法。
2. 学习使用拉格朗日插值法、牛顿插值法等数值插值方法进行函数逼近。
3. 分析不同插值方法的优缺点,并比较其精度和效率。
4. 通过实验加深对数值分析理论的理解和应用。
二、实验原理插值法是一种通过已知数据点来构造近似函数的方法。
它广泛应用于科学计算、工程设计和数据分析等领域。
常用的插值方法包括拉格朗日插值法、牛顿插值法、样条插值法等。
1. 拉格朗日插值法拉格朗日插值法是一种基于多项式的插值方法。
其基本思想是:给定一组数据点,构造一个次数不超过n的多项式,使得该多项式在这些数据点上的函数值与已知数据点的函数值相等。
2. 牛顿插值法牛顿插值法是一种基于插值多项式的差商的插值方法。
其基本思想是:给定一组数据点,构造一个次数不超过n的多项式,使得该多项式在这些数据点上的函数值与已知数据点的函数值相等,并且满足一定的差商条件。
三、实验内容1. 拉格朗日插值法(1)给定一组数据点,如:$$\begin{align}x_0 &= 0, & y_0 &= 1, \\x_1 &= 1, & y_1 &= 4, \\x_2 &= 2, & y_2 &= 9, \\x_3 &= 3, & y_3 &= 16.\end{align}$$(2)根据拉格朗日插值公式,构造插值多项式:$$P(x) = \frac{(x-x_1)(x-x_2)(x-x_3)}{(x_0-x_1)(x_0-x_2)(x_0-x_3)}y_0 + \frac{(x-x_0)(x-x_2)(x-x_3)}{(x_1-x_0)(x_1-x_2)(x_1-x_3)}y_1 + \frac{(x-x_0)(x-x_1)(x-x_3)}{(x_2-x_0)(x_2-x_1)(x_2-x_3)}y_2 + \frac{(x-x_0)(x-x_1)(x-x_2)}{(x_3-x_0)(x_3-x_1)(x_3-x_2)}y_3.$$(3)计算插值多项式在不同点的函数值,并与实际值进行比较。
插值法数学计算方法插值法是一种数学计算方法,用于在已知数据点的基础上,通过构建一条插值曲线来估计未知数据点的值。
插值法可以应用于各种数学问题中,例如逼近函数、插值多项式、差值等。
本文将详细介绍插值法的原理和常见的插值方法。
一、插值法的原理插值法的基本思想是通过已知数据点的函数值来构建一个函数表达式,该函数可以通过插值曲线来估计任意点的函数值。
根据已知数据点的数量和分布,插值法可以采用不同的插值方法来构建插值函数。
插值法的原理可以用以下几个步骤来描述: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对应的差商。
插值法的简化公式
插值法是一种用于在有限数据点之间插入未知点的数值方法。
在数学中,我们可以使用插值法来建立函数模型,从而预测未知点的数值。
插值法有许多种不同的形式,其中最常见的是线性插值、二次插值和三次插值等。
在应用插值法时,我们需要提供一组数据点,这些数据点通常被称为样本点。
然后,我们使用插值法来插入未知点,以建立函数模型。
在数学中,我们可以使用各种插值公式来计算未知点的数值。
其中一种最常见的插值公式是线性插值公式,它用于在两个数据点之间插入未知点。
线性插值公式如下:
y = ax + b
其中,y 是我们要插入的未知点的数值,x 是我们提供的数据点之一,a 和 b 是常数,它们取决于我们所应用的插值法类型。
在实际应用中,线性插值公式通常不足以满足我们的需求,因为我们需要更多的插值精度来预测未知点的数值。
因此,我们通常使用更高级的插值法,例如二次插值法和三次插值法。
这些插值法通常可以提供更准确的插值结果,并且可以更好地适应数据点之间的变化趋势。
在应用插值法时,我们需要谨慎选择插值法类型,以确保我们的函数模型能够提供准确的预测结果。
同时,我们也需要考虑到数据质量和数据点的数量,这些因素都会影响我们的插值结果。
第二章 插值法在科学研究与工程技术中,常常遇到这样的问题:由实验或测量得到一批离散样点,要求作出一条通过这些点的光滑曲线,以便满足设计要求或进行加工。
反映在数学上,即已知函数在一些点上的值,寻求它的分析表达式。
此外,一些函数虽有表达式,但因式子复杂,不易计算其值和进行理论分析,也需要构造一个简单函数来近似它。
解决这种问题的方法有两类:一类是给出函数()f x 的一些样点,选定一个便于计算的函数()x ϕ形式,如多项式、分式线性函数及三角多项式等,要求它通过已知样点,由此确定函数()x ϕ作为()f x 的近似,这就是插值法;另一类方法在选定近似函数的形式后,不要求近似函数过已知样点,只要求在某种意义下在这些样点上的总偏差最小。
这类方法称为曲线(数据)拟合法。
设已知区间[,]a b 上的实值函数f 在1n +个相异点[,]i x a b ∈处的函数值(),0,1,,i i f f x i n == ,要求构造一个简单函数()x ϕ作为函数()f x 的近似表达式()()f x x ϕ≈使得()(),0,1,,i i i x f x f i n ϕ=== (2-1)这类问题称为插值问题。
称f 为被插值函数;()x ϕ为插值函数;0,,nx x 为插值节点;(2-1)为插值条件。
若插值函数类{()}x ϕ是代数多项式,则相应的插值问题为代数插值。
若{()}x ϕ是三角多项式,则相应的插值问题称为三角插值。
若{()}x ϕ是有理分式,则相应的插值问题称为有理插值。
§1 Lagrange 插值1.1 Lagrange 插值多项式设函数f在1n +个相异点01,,,n x x x 上的值(),0,1,i i f f x i n == 是已知的,在次数不超过n 的多项式集合n P 中,求()n L x 使得(),0,1,,n i i L x f n n == (2-2)定理1 存在惟一的多项式n nL P ∈满足插值条件(2-2)。
数学实验插值方法导言【请选择合适的字体阅读:小大】作者:张建生改… 文章来源:本站原创点击数:530 更新时间:2006-12-4在工程实践和科学实验中,常常需要从一组实验观测数据(x i,y i), i=0,1,…,n,...揭示出自变量x与因变量y之间的关系.一般可以用一个近似的函数关系式y=f(x)来处理这一问题。
给出函数关系式的方法,因观测数据与要求的不同而异,通常可以采用两种方法:曲线拟合和插值。
拟合主要是考虑到观测数据受随机误差的影响,寻求整体误差最小、较好地反映观测数据的近似函数,并不保证或追求所得到的函数一定满足y i=f(x i)。
侧重于从整体上把握问题,拟合的方法将在下一章讨论。
插值则要求函数在每个观测点处一定要满足y i=f(x i).,本章主要介绍插值方法。
插值函数一般是已知函数的线性组合或者称为加权平均。
插值在工程实践和科学实验中有着非常广泛而又十分重要的应用。
例如,信息技术中的图像重建、图像放大中为避免图像的扭曲失真的而做的插值补点、建筑工程的外观设计、物理、化学工程实验数据与模型的分析、天文观测数据、地理信息数据的处理(如天气预报)以及社会经济现象的统计分析等等。
本章主要介绍插值的思想、方法和技术;如何利用MATLAB软件作插值计算;针对实际问题,进行建模、求解与分析;最后给出实验题目。
数学实验插值方法引例【请选择合适的字体阅读:小大】作者:张建生改… 文章来源:本站原创点击数:769 更新时间:2006-12-44.2.1 引例1:函数查表问题标准正态分布函数值Φ(2.3456789)等于多少?一般是通过查表的方法.先对自变量作近似,2.3456789≈2.35,再查表得到Φ(2.35)=0.99061,所以(2.3456789)≈Φ(2.35)=0.99061.在对精度要求较高时,这种处理方法可能受到质疑,2.3456789介于2.34与2.35之间,不适于用Φ(2.35)作为近似值吗.于是改进,函数值取二者的中点,即Φ(2.3456789)≈[(Φ(2.34)+Φ(2.35))]/2=0.990485比起前面的处理,此结果应该更好一些.但是精度究竟如何呢?如果需要更精确的结果,注意到能够利用的信息只有标准正态分布函数值表.上面的问题变为利用一个表格给出的函数值,计算表格中未给出的函数值。
这实质上就是插值问题。
4.2.2 引例2:绘制地图你曾使用过的地图最初从何而来?世界上第一张地图是如何绘制的?对某一地区国家,如何根据测绘部门测量的数据绘制一张该地区的地图?设想已经得到了一系列关于某地区地理边界的测量数据,边界点在地球上的经纬度属于球面坐标,对于不是太大的一个地区可以近似为平面坐标(x n,y n).剩下来的问题就是根据平面上一系列点,绘制一条封闭的平面曲线(地图的边界线)。
这也是一个插值问题最简单的方法是:首先在平面上画出所有这些点(称为节点,有序),然后,用线段依次将相邻的节点两两连结起来,得到一条由折线段构成的封闭曲线——地图的边界!这种方法实质上就是用两点间的直线段近似地代替未知的曲线段,也就是对每段曲线上的未知函数值,用直线段上相应的函数值来代替,这种方法称为分段线性插值。
在边界上的测量点不是太多的情况下,绘制出来的地图效果可能不是很好。
通过增大测量点的数量,问题可以得到改善。
但是这样的边界是折线,一般是不光滑的,这与实际使用的地图有较大差异。
并且光滑性的要求在其他某些实际问题中非常重要,例如飞机、轮船等的外形曲线设计就需要足够的光滑程度。
如何改进地图边界的绘制呢?可以考虑在每两点之间,采用已知类型的曲线段连接,并根据实际情况,加上衔接点处的光滑性要求。
例如采用三次(多项式)曲线,这就给出了所谓的样条曲线和三次样条插值。
它们的表达式(分段函数,并且是分很多段)都很复杂。
究竟这两种方法优劣如何?下面就来具体介绍这些插值方法上面提到的两种插值数学实验 MATLAB插值计算作者:张建生改… 文章来源:本站原创点击数:5384 更新时间:2006-12-4计算插值的软件很多,这里我们只介绍如何用MATLAB做一维插值和高维插值.4.4.1 一维插值MATLAB中的插值函数为interp1(),其调用格式为yi=interp1(x,y,xi, 'method')其中x,y为观测数据点,xi为插值(自变量)向量,yi为xi的插值结果(函数值).'method '表示采用的插值方法.MATLAB提供的插值方法有几种: 'nearest' 最邻近插值; 'linear '线性插值; 'spline' 三次样条插值; 'cubic ' 立方插值.缺省时表示线性插值.注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围.例4.2 在一天24小时内,从零点开始每间隔2小时测得的环境温度为(摄氏度)12,9,9,10,18,24,28,27,25,20,18,15,13推测在每一秒时的温度.并利用不同的插值方法描绘温度曲线键入:x=0:2:24;y=[12 9 9 10 18 24 28 27 25 20 18 15 13];xi=0:1/3600:24;yi=interp1(x,y,xi,'nearest');hold onplot(xi,yi,'r');yi=interp1(x,y,xi,'linear');plot(xi,yi,'g');yi=interp1(x,y,xi,'spline');plot(xi,yi,'b');yi=interp1(x,y,xi,'cubic');plot(xi,yi,'y');还有其他的插值函数,如interplq ,interpft, spline, intep2, interp3, interpN.4.4.2 高维插值N维插值函数interpN( )其中N可以为2,3,…,如N=2为二维插值,调用格式为zi=interp2(x,y,z,Xi,Yi,’method’)其中x,y为横纵坐标上的坐标点,{(x,y)}=mashgrid(x,y)生成平面网格点,z为观测到的在网格点上的二元函数值.{(x,y,z)}构成空间插值节点.引入两个向量xi,yi.xi为横坐标上的插值点,yi为纵坐标上的插值点.便可给出[Xi,Yi]=meshgrid(xi,yi)zi为新的或者是加细了的网格点上产生的插值结果(函数值).'method' 表示采用的插值方法.`nearest` 最邻近插值,`linear`线性插值,`cubic`双三次插值.缺省时表示线性插值.所有的插值方法都要求x和y是单调的网格,x和y可以是等距的也可以是不等距的.例如,产生一个山顶函数peaks曲面.1)产生peaks的粗糙近似山顶曲面[x,y,z]=peaks(10);hold onmesh(x,y,z)2)通过插值作出更加精细的山顶曲面xi=-3:.1:3;yi=xi;[Xi,Yi]=meshgrid(xi,yi);Zi=interp2(x,y,z,Xi,Yi,`cubic`);mesh(Xi,Yi,Zi)例4.3气旋变化情况的可视化表4.1 是气象学家测量得到的气象资料,它们分别表示在南半球地区按不同纬度、不同月份的平均气旋数字.根据这些数据,绘制出气旋分布曲面图形.解下面用二维(interp2)三次(cubic)插值方法,可以得到不同月份按纬度变化的气旋值(插值结果),然后再作出其可视化图形,如图4.1MATLAB程序如下:x=1:12;y=5:10:85;z1=[2.4 1.6 2.4 3.2 1.0 0.5 0.4 0.2 0.5 0.8 2.4 3.6];z2=[18.7 21.4 16.2 9.2 2.8 1.7 1.4 2.4 5.8 9.2 10.3 16];z3=[20.8 18.5 18.2 16.5 12.9 10.1 8.3 11.2 12.5 21.1 23.9 25.5];z4=[22.1 20.1 20.5 25.1 29.2 32.6 33.0 31.0 28.6 32.0 28.1 25.6];z5=[37.3 28.8 27.8 37.2 40.3 41.7 46.2 39.9 35.9 40.3 38.2 43.4];z6=[48.2 36.6 35.5 40 37.6 35.4 35 34.7 35.7 39.5 40 41.9];z7=[25.6 24.2 25.5 24.6 21.1 22.2 20.2 21.2 22.6 28.5 25.3 24.3];z8=[5.3 5.3 5.4 4.9 4.9 7.1 5.3 7.3 7 8.6 6.3 6.6 ];z9=[0.3 0 0 0.3 0 0 0.1 0.2 0.3 0 0.1 0.3];z=[z1;z2;z3;z4;z5;z6;z7;z8;z9];[xi,yi]=meshgrid(1:12,5:1:85);zi=interp2(x,y,z,xi,yi,'cudic');mesh(xi,yi,zi)xlabel('月份'),ylabel('纬度'),zlabel('气旋'),axis([0 12 0 90 0 50])title('南半球气旋可视化图形')还有两个二维插值函数e01sef和e01sff,它们分别被用于求散点数据的插值函数和插值函数值,通常是两者配合使用,其调用格式为:[fnodes,a,rnw,b,c]=e01sef(x,y,z);[pf(i,j),ifail]=e01sff(x,y,z,rnw,fnodes,px(j),py(i);其中x,y,z为插值节点,均为向量;px(j),py(i)为被插值点;pf(I,j)为被插值.表4.1 南半球地区按不同纬度不同月份的平均气旋数据0-10 10-20 20-30 30-40 40-50 50-60 60-70 70-80 80-901月 2.4 18.7 20.8 22.1 37.3 48.2 25.65.3 0.32月 1.6 21.4 18.5 20.1 28.8 36.6 24.25.3 03月 2.4 16.2 18.2 20.5 27.8 35.5 25.55.4 04月 3.2 9.2 16.6 25.1 37.2 40 24.64.9 0.35月 1.0 2.8 12.9 29.2 40.3 37.6 21.14.9 06月0.5 1.7 10.1 32.6 41.7 35.4 22.27.1 07月0.4 1.4 8.3 33.0 46.2 35 20.25.3 0.18月0.2 2.4 11.2 31.0 39.9 34.7 21.27.3 0.29月0.5 5.8 12.5 28.6 35.9 35.7 22.67 0.310月 0.8 9.2 21.1 32.0 40.3 39.5 28.58.6 011月 2.4 10.3 23.9 28.1 38.2 40 25.36.3 0.112月 3.6 16 25.5 25.6 43.4 41.9 24.36.6 0.3点(px(j),py(j)处的插值结果,其他输出参数涉及插值算法,可以不用了解.有兴趣的读者可以查看MA TLAB的帮助文件.e01sef的输出fnodes和rnw为确定插值函数的参数,它们是e01sff需要的输入参数,因此两函数需配合使用.这两个函数将在§4.6中使用数学实验埃尔米特插值【请选择合适的字体阅读:小大】作者:张建生教… 文章来源:本站原创点击数:1076 更新时间:2006-12-4前面提到,一维插值方法主要有分段线性插值、三次样条插值等,本节将介绍常用的一维插值方法.4.3.1 分段多项式插值1.分段线性插值分段线性插值的提法如下:问题:设函数f(x)在n+1个节点X0,X1,...,X n处的函数值已知,为y0,y1,…y n.要求:求一个分段(共n段)线性函数q(x),使其满足:q(X i)=y i,i=0,1,...,n.根据直线的点斜式方程变形得到q(x)在第i段[X i-1,X i]上的表达式为q(x)=(X-X i)/(X i-1-X i)*y i-1+(X-X i-1)/(X i-X i-1)*y i,X i-1≤X≤X i,i=1,2,...,n可以证明,分段线性插值具有良好的改敛性.即n趋于无穷大时,lim q(x)=f(x),其中f(x)为被插值函数.分段线性插值在计算插值时,只用到前后两个相邻节点的函数值,计算量小.在对函数表作插值计算时,经常用到.例4.1求Φ(2.3456789)解由标准正态分布函数值表可以得到Φ(2.34) =0.99036, Φ(2.35)=0.99061.采用分段线性插值计算Φ(2.3456789).取区间[X i-1,X i]=[2.34,2.35],在端点处被插值函数f(x)=Φ(x).则f(X i-1)=Φ(X i-1)=Φ(2.34)=0.99036;f(X i) =Φ(X i)=Φ(2.35)=0.99061.利用如上分段线性插值公式得到Φ(2.3456789)=q(2.3456789)=0.99052.分段三次埃尔米特插值在插值问题中,如果除了在插值节点的函数值给定外,还要求在节点的导数值为给定值,即插值问题变为设函数f(x)在节点X0,X1,...,X n处的函数值为y0,y1,...,y n,导数值为y'0,y'1,...,y'n,求一个分段(共n段)多项式函数q(x),使其满足q(X i)=yi,q'(x i)=y'i,i=0,1,...,n.相当于在每一小段上应满足四个条件(方程),可以确定四个待定参数.三次多项式正好有四个系数,所以可以考虑用三次多项式函数作为插值函数,这就是分段三次埃尔米特插值,它与分段线性插值一起都称为分段多项式插值.例题:x=[0 1 2 3 4 5 6 7 8 9 10];y=[0 2 0 -4 0 4 0 -2 0 3 1];各点的导数值z=[1 0 -1.2 -0.1 0.1 0.5 0.7 0.2 0.1 0 -2];编程描绘观测点,并依据这些观测点给出分段三次埃尔米特插值函数f(x)的图象.记三次多项式f(x)=f1*x^3+f2*x^2+f3*x+f4可以得到f(0)=f1*0^3+f2*0^2+f3*0+f4=f4=0f(1)=f1*1^3+f2*1^2+f3*1+f4=f1+f2+f3+f4=2f'(x)=3*f1*x^2+2*f2*x+f3f'(0)=f3=1f'(1)=3*f1+2*f2+f3=0记A=[0 0 0 1;1 1 1 1;0 0 1 0;3 2 1 0];b=[0 2 1 0]';因此在第一区间上的三次埃尔米特插值变为解方程A*f=b. 解得f=inv(A)*b绘图:hold onplot(x(1),y(1),x(2),y(2));fplot('f(1)*x^3+f(2)*x^2+f(3)*x+f(4)',[0 1 -5 5]);一般的,在MATLAB中编程如下:x=[0 1 2 3 4 5 6 7 8 9 10];y=[0 2 0 -4 0 4 0 -2 0 3 1];z=[1 0 -1.2 -0.1 0.1 0.5 0.7 0.2 0.1 0 -2];hold onfor i=1:10b=[y(i) y(i+1) z(i) z(i+1)]';A1=[x(i)^3 x(i)^2 x(i) 1];A2=[x(i+1)^3 x(i+1)^2 x(i+1) 1];A3=[3*x(i)^2 2*x(i) 1 0];A4=[3*x(i+1)^2 2*x(i+1) 1 0];A=[A1; A2; A3; A4];f=inv(A)*b;plot(x(i),y(i),x(i+1),y(i+1));t=x(i):0.1:x(i+1);plot(t,f(1)*t.^3+f(2)*t.^2+f(3)*t+f(4));end做1)如何简单地产生分段三次埃尔米特插值公式?2)分段三次埃尔米特插值与分段线性插值的曲线光滑程度有何差别?3)在上面问题中,如果只要求节点的导数存在,则分段多项式的次数为多少?提示:联立相邻两段上的埃尔米特插值函数的导函数,带入中点横坐标.数学实验插值方法估计水塔的水流量【请选择合适的字体阅读:小大】作者:张建生改… 文章来源:本站原创点击数:2013 更新时间:2006-12-44.5 范例1:估计水塔的水流量4.5.1问题某居民区的民用自来水是由一个圆柱形的水塔提供.水塔高12.2米,直径17.4米.水塔是由水泵根据水塔内水位高低自动加水,一般每天水泵工作两次.现在需要了解该居民区用水规律与水泵的工作功率.按照设计,当水塔的水位降至最低水位,约8.2米时,水泵自动启动加水;当水位升高到一个最高水位,约10.8米时,水泵停止工作.可以考虑采用用水率(单位时间的用水量)来反映用水规律,并通过间隔一段时间测量水塔里的水位来估算用水率.表4.2是某一天的测量记录数据,测量了28个时刻,但是由于其中有3个时刻遇到水泵正在向水塔供水,而无水位记录(表4.2中用符号//表示).试建立合适的数学模型,推算任意时刻的用水率、一天的总用水量和水泵工作功率.表4.2 原始数据(单位:时刻(小时),水塔中水位(米))时刻t 0 0.921 1.843 2.949 3.871 4.978 5.900水位9.677 9.479 9.308 9.125 8.982 8.814 8.686 时刻t 7.006 7.928 8.967 9.9811 10.925 10.954 12.03 2水位8.525 8.388 8.220 // // 10.820 1 0.500时刻t 12.954 13.875 14.982 15.903 16.826 17.93119.037水位10.210 9.936 9.653 9.409 9.180 9.921 8.66 2时刻t 19.959 20.839 22.015 22.958 23.880 24.986 25.908水位8.443 8.220 // 10.820 10.59110.354 10.1804.5.2 问题分析与数据处理由问题的要求,关键在于确定用水率函数,即单位时间内用水体积,记为f(t),又称水流速度.如果能够通过测量数据,产生若干个时刻的用水率,也就是f(t)在若干个点的函数值,则f(t)的计算问题就可以转化为插值或拟合问题想还有其他解决该问题的思路吗?如何实现?是否更好?1.假设1)水塔中水流量是时间的连续光滑函数,与水泵工作与否无关,并忽略水位高度对水流速度的影响.2)水泵工作与否完全取决于水塔内水位的高度,且每次加水的工作时间为2小时.3)水塔为标准圆柱体.考虑到假设2),结合表4.2中具体数据,推断得出4)水泵第一次供水时间为[8.967, 10.954],第二次供水时间段为[20.839,22.958].2.体积计算水塔是一个圆柱体,体积为v=π/4*D^2*h,其中D为底面直径,h为水位高度.近似地取π=3.1415 92654.得到不同时刻水塔中水的体积如表4.3.表4.3 水塔中水的体积(单位:(时刻),体积(立方米)时刻0 0.921 1.843 2.949 3.871 4 .9755.900体积2294 2247 2206 2163 2129 2089 2059时刻7.006 7.928 8.967 9.9811 10.925 10.954 12.032体积2020 1988 1948 // // 2 564 2489时刻12.954 13.875 14.982 15.903 16.825 17.931 19. 037体积2420 2355 2288 2230 2176 2114 2053时刻19.959 20.839 22.015 22.958 23.880 24.986 25. 908体积1999 1984 // 2564 2510 2454 24133.水流速度的估算水流速度应该是水塔中水的体积对时间的导数(微商).由于没有水的体积关于时间的函数表达式,而只有一个离散的函数值表4.3,因此考虑用差商代替微商,这也是离散反映连续的常用思想.为提高精度,采用二阶差商,即f(ti)=-具体地,因为所有数据被水泵两次工作分割成三组数据,对每组数据的中间数据采用中心差商,前后两个数据不能够采用中心差商,改用向前或向后差商.中心差商公式向前和抽后差商公式想1)在估算流速的时候,为什么要如此麻烦,分成三段分别处理?2)就一段估算流速合理吗?3)还有其他估算流速的方法吗?表4.4 水塔斯社中水的流速(单位:时刻(小时),流速(立方米/小时)时刻0 0.921 1.843 2.949 3.8714.9785.900体积54.516 42.320 38.085 41.679 33.29737.814 30.748时刻7.006 7.928 8.967 9.9811 10.92510.954 12.032体积38.455 32.122 41.718 // //73.686 76.434时刻12.954 13.875 14.982 15.903 16.82617.931 19.037体积71.686 60.190 68.333 59.217 52.01156.626 63.023时刻19.959 20.839 22.015 22.958 23.88024.986 25.908体积54.839 55.439 // 57.602 57.76651.891 36.4644.5.3横型建立与求解1.作出水流速散点图键入:plot(t,r,`b+`); % (t,r)表示时间和流速,如表4.4title(`流速散点图`);xlabel(`时间(小时)`);ylabel(`流速(立方米/小时)`)作出的散点图如图4.2所示图4.2 水塔内水流速散点图2.模型及计算结果问题已经转变为根据流速f(t)的一个函数值表,产生函数f(t)在整个区间(二十四小时)上的函数或函数值,插值和拟合是两种最常用的方法。