数学建模中的插值问题

合集下载

数学建模数学实验插值及案例

数学建模数学实验插值及案例

数学建模数学实验插值及案例在科学研究和工程实践中,数学建模扮演着至关重要的角色。

通过建立数学模型,我们可以对现实世界的现象进行模拟和预测。

其中,插值方法是一种重要的数学建模工具,用于估计在给定数据点之间的未知值。

本文将探讨插值方法的基础理论以及一个具体的数学实验案例。

插值方法是一种数学技术,通过在给定的数据点之间估计未知的值。

最常用的插值方法包括线性插值、多项式插值和样条插值等。

线性插值是最简单的插值方法,它将数据点之间的变化视为线性的,即变化率保持恒定。

多项式插值方法则通过构建一个多项式函数来逼近数据点的变化趋势。

样条插值则通过将数据点连接成平滑的曲线来进行插值。

本案例将利用多项式插值方法对房价进行预测。

我们收集了一组房屋价格数据,包括房屋的面积、房龄、位置等信息。

然后,我们使用多项式插值方法构建一个函数来描述房价与这些因素之间的关系。

通过调整多项式的阶数,我们可以控制模型的复杂性。

我们使用该模型来预测新的房价。

在本案例中,我们使用了200个样本数据进行训练,并使用另外100个数据点进行测试。

我们发现,通过增加多项式的阶数,模型的预测精度可以得到提高。

然而,当阶数增加到一定程度后,模型的性能改善不再明显。

我们还发现模型的预测结果对训练数据的分布非常敏感,对于分布偏离较大的新数据点,预测结果可能会出现较大误差。

通过本次数学实验,我们深入了解了插值方法在数学建模中的应用。

在实际问题中,插值方法可以帮助我们更好地理解数据的变化趋势和预测未知的值。

然而,插值方法也存在一定的局限性,如本实验中模型对训练数据分布的敏感性。

未来工作中,我们可以尝试采用其他更加复杂的模型,如神经网络、支持向量机等来提高预测精度。

我们还应充分考虑数据的分布特性,以提高模型的泛化能力。

插值方法是数学建模中的重要工具之一,它可以让我们更好地理解和预测数据的趋势。

通过本次数学实验,我们深入了解了多项式插值方法的工作原理和实现过程,并成功地将其应用于房价预测问题中。

数学建模插值与拟合

数学建模插值与拟合

数学建模插值与拟合数据插值与拟合插值与插值函数:已知由(可能未知或⾮常复杂)产⽣的⼀批离散数据,且个互异插值节点,在插值区间内寻找⼀个相对简单的函数,使其满⾜下列插值条件:再利⽤已求得的计算任⼀⾮插值节点的近似值,这就是插值。

其中称为插值函数,称为被插函数。

最⼩⼆乘拟合:已知⼀批离散的数据,互不相同,寻求⼀个拟合函数,使与的误差平⽅和在最⼩⼆乘意义下最⼩。

在最⼩⼆乘意义下确定的称为最⼩⼆乘拟合函数。

1)Lagrange插值法a.待定系数法:假设插值多项式,利⽤待定系数法即可求得满⾜插值条件的插值函数。

关键在于确定待定系数。

b.利⽤基函数的构造⽅法⾸先构造个满⾜条件:的次插值基函数,再将其线性组合即可得如下的Lagrange插值多项式:其中c.Lagrange插值余项注:上述两种构造⽅法所得的Lagrange插值多项式是⼀样的,即满⾜插值条件的Lagrange插值多项式是唯⼀的。

2)分段线性插值作分段线性插值的⽬的在于克服Lagrange插值⽅法可能发⽣的不收敛性缺点。

所谓分段线性插值就是利⽤每两个相邻插值节点作线性插值,即可得如下分段线性插值函数:其中特点:插值函数序列具有⼀致收敛性,克服了⾼次Lagrange插值⽅法的缺点,故可通过增加插值节点的⽅法提⾼其插值精度。

但存在于节点处不光滑、插值精度低的缺点。

3)三次样条插值三次样条插值的⽬的在于克服Lagrange插值的不收敛性和提⾼分段线性插值函数在节点处的光滑性。

所谓三次样条插值⽅法就是在满⾜下列条件:a.b.在每个⼦区间上是三次多项式的三次样条函数中寻找满⾜如下插值条件:以及形如等边界条件的插值函数的⽅法。

特点:三次样条插值函数序列⼀致收敛于被插函数,因此可通过增加节点的⽅法提⾼插值的精度。

4)插值⽅法的Matlab实现⼀维数据插值MATLAB中⽤函数interp1来拟合⼀维数据,语法是YI = INTERP1(X,Y,XI,⽅法)其中(X,Y)是已给的数据点,XI 是插值点,其中⽅法主要有'linear' -线性插值,默认'pchip' -逐段三次Hermite插值'spline' -逐段三次样条函数插值其中最后⼀种插值的曲线⽐较平滑例:x=0:.12:1; x1=0:.02:1;y=(x.^2-3*x+5).*exp(-5*x).*sin(x);plot(x,y,'o'); hold on;y1=interp1(x,y,x1,'spline');plot(x1,y1,':')如果要根据样本点求函数的定积分,⽽函数⼜是⽐较光滑的,则可以⽤样条函数进⾏插值后再积分,在MATLAB 中可以编写如下程序:function y=quadspln(x0,y0,a,b)f=inline(‘interp1(x0,y0,x,’’spline’’)’,’x’,’x0’,’y0’);y=quadl(f,a,b,1e-8,[],x0,y0);现求six(x)在区间[0,pi]上的定积分,只取5点x0=[0,0.4,1,2,pi];y0=sin(x0);I=quadspln(x0,y0,0,pi)结果得到的值为 2.01905,精确值为2⼆元函数插值:MATLAB中⽤函数interp2来拟合⼆维⽹格(X,Y)上的数据Z,语法是YI = INTERP2(X,Y, Z,XI, YI,⽅法)其中(X,Y,Z)是已给的数据点,(XI,YI)是插值点坐标,其中⽅法主要有'linear' -线性插值,默认'pchip' -逐段三次Hermite插值'spline' -逐段三次样条函数插值其中最后⼀种插值的曲⾯⽐较平滑例:[x,y]=meshgrid(-3:.6:3,-2:.4:2);z=(x.^2-2*x).*exp(-x.^2-y.^2-x..*y);[x1,y1]=meshgrid(-3:.2:3,-2:.2:2);%⽣成⽹格,x1和y1均为同样size的矩阵z1=interp2(x,y,z,x1,y1,’spline’); %z1是矩阵,size 和x1,y1相同surf(x1,y1,z1);axis([-3,3,-2,2,-0.7,1.5]);-33如果数据不是在⽹格上取的,则可⽤函数griddata 来解决语法是YI = griddata(X,Y, Z ,XI, YI ,‘v4’)其中(X , Y ,Z )是已给的数据点,(XI ,YI )是插值点坐标,其中除了⽅法‘v4’外还有 'linear' -线性插值,默认 'cublc' -逐段三次Hermite 插值 'nearest' 其中‘v4’⽅法⽐较好例x=-3+6*rand(200,1); %⽣成随机点的x坐标向量xy=-2+4*rand(200,1); %⽣成随机点的y坐标向量yz=(x.^2-2*x).*exp(-x.^2-y.^2-x.*y); % 上述点的样本值向量z[x1,y1]=meshgrid(-3:.2:3,-2:.2:2); %⽣成⽹格,x1和y1均为同样size的矩阵z1=griddata(x,y,z,x1,y1,’v4’);surf(x1,y1,z1);axis([-3,3,-2,2,-0.7,1.5]);⽣成的图类似上图。

插值与拟合

插值与拟合

且 f(1.5) ≈L1(1.5) = 0.885。
Lagrange插值法的缺点
• 多数情况下,Lagrange插值法效果是不错的, 但随着节点数n的增大,Lagrange多项式的次 (Runge)现象。
• 例:在[-5,5]上用n+1个等距节点作插值多项 式Ln(x),使得它在节点处的值与函数y = 1/(1+25x2)在对应节点的值相等,当n增大时, 插值多项式在区间的中间部分趋于y(x),但 对于满足条件0.728<|x|<1的x, Ln(x)并不趋 于y(x)在对应点的值,而是发生突变,产生 剧烈震荡,即Runge现象。
总结
• 拉格朗日插值:其插值函数在整个区间 上是一个解析表达式;曲线光滑;收敛 性不能保证,用于理论分析,实际意义 不大。
• 分段线性插值和三次样条插值:曲线不 光滑(三次样条已有很大改进);收敛 性有保证;简单实用,应用广泛。
1.2 二维插值
• 二维插值是基于一维插值同样的思想, 但是它是对两个变量的函数Z=f(x,y)进 行插值。
• n=5; • x0=-1:1/(n-1):1;y0=1./(1+25*x0.^2);y1=lagr(x0,y0,x); • subplot(2,2,2), • plot(x,z,'r-',x,y,'m-'),hold on %原曲线 • plot(x,y1,'b'),gtext('L8(x)','FontSize',12),pause %Lagrange曲线
基函数为
l0 (x)
x x1 x0 x1
x2 1 2
2
x
l1(x)
线性插值函数为

插值、拟合与回归

插值、拟合与回归
2013-7-18
都是n次 l k (x)
的零点,故可设
jkhh
13
lk ( x) Ak ( x x0 )(x x1 )( x xk 1 )(x xk 1 )( x xn )
其中 Ak 为待定常数。由条件 lk ( xk ) 1 ,可求得 Ak
Ak ( xk x j ) 1
( xi ) f ( xi )
(i 1,2,, n)
(1)
则称 (x) 为f(x)的一个插值函数, f(x)为被插函数, 点
xi为插值节点, 称(5.1)式为插值条件, 而误差函数
R(x)= f ( x) ( x) 称为插值余项, 区间[a, b]称为插值 区间, 插值点在插值区间内的称为内插, 否则称外插
2013-7-18
l0 ( x0 ) 1, l0 ( x1 ) 0 l1 ( x0 ) 0 , l1 ( x1 ) 1
jkhh
l0 ( x) l1 ( x) 1
7
l k ( xi ) ki
1 0
k 0,1
(i k ) (i k )
l 0 ( x) 与 l1 ( x) 称为线性插值基函数。且有
插值、拟合与回归
2013-7-18
jkhh
1
插值、曲线拟合与回归
引. 问题的提出


函数解析式未知,通过实验观测得到的一组数据, 即在某个区 间[a, b]上给出一系列点的函数值 yi= f(xi) 或者给出函数表
x
y
x0
y0
x1
y1
x2
y2
……
……
xn
yn
y=p(x)
y=f(x)

数学建模---插值法

数学建模---插值法

数学建模---插值法插值法
插值法定义
构造⼀个函数,需要这个函数完全过给定点
对于构造函数:
插值⽅法
拉格朗⽇插值法(插值多项式)
1.
三个点时
2.
n个点时
拉格朗⽇插值不⾜ — 龙格现象
当插值函数的阶数越⼤时,在两端的波动极⼤,会产⽣明显的震荡分段插值
n
1. 分段线性插值
每两个点之间分别构成⼀个线段,只⽤到了最近的两个点
2. 分段⼆次插值
选最近的n个已知点,构造n-1次函数
例如:选最近的3个点,构造⼀个⼆次函数
3.
⽜顿插值法例如:



点上两个⽜顿插值只有⼀项不想同,所以⽜顿插值法具有继承性
以上三种⽅法都没有反应被插值函数的导数
4. 埃尔⽶特(Hermite)插值法不但要求在节点的函数值相等,也要求对应的导数值也相等,甚⾄更⾼阶导数也相等分段三次埃尔⽶特插值运⽤了⼀阶导数相等
内置函数:
x ...x 0n −1x ...x 0n
5. 三次样条插值
运⽤了⼆阶连续可微 且 每个区间
是三次多项式
内置函数:
n
维数据插值[x ,x ]i i +1。

数学建模插值与拟合实验题

数学建模插值与拟合实验题

数学建模插值与拟合实验题
1.处理2007年大学生数学建模竞赛A题:“中国人口增长预测”附件中的数据,得到以下几个问题的拟合结果,并绘制图形
(1)对1994-2005年出生婴儿的性别比进行拟合,并以此预测2006-2022年间的性别比。

(2)生育率随年龄的变化而变化,试以生育年龄为自变量,生育率为因变量,对各年的育龄妇女生育率进行拟合;
(3)按时间分布对城、镇、乡生育率进行分析,以时间为自变量,生育率为因变量,对城、镇、乡的生育率进行拟合,并预测2006-2022年间的生育率。

(4)将某年的城镇化水平PU(t)定义为当年的城镇人口数与总人口数之
比,Karmehu(1992年)研究发现20世纪50年代以来发达国家随着经济发展水平的提高,城镇人口的增长相对农村要快一些,但是随着城镇化水平的提高,并趋向100%时,速度会减缓,城镇化水平的增长曲线大致表现为一条拉伸的“S”型Logitic曲线[4],对附录2中所给出2001年—2005年中国人口1%调查数据进行曲线拟合,求得该曲线,并绘制2001-2050年的城镇化水平的曲线图。

2.处理2022年大学生数学建模竞赛A题:“城市表层土壤重金属污染分析”附件中的数据,完成下列问题
(1)以城区取样点位置为节点进行插值,绘制城区的地形图和等高线图;(2)绘制城区的8种重金属浓度的空间分布图。

并指出浓度最高和最低的点所在的位置。

插值的方法可用三次插值、kriging插值、Shepard插值等。

工具可用Matlab,也可用urfer软件实现。

数学建模 插值

数学建模  插值

例4:已知的数据点来自函数
根据生成的数据进行插值处理,得出较平滑的曲线 直接生成数据。 >> x=0:.12:1; >> y=(x.^2-3*x… +5).*exp(-5*x… ).*sin(x); >> plot(x,y,x,y,'o')
调用interp1( )函数:
>> x1=0:.02:1; y0=(x1.^2-3*x1+5).*exp(-5*x1).*sin(x1); >> y1=interp1(x,y,x1); y2=interp1(x,y,x1,'cubic'); >> y3=interp1(x,y,x1,'spline'); y4=interp1(x,y,x1,'nearest'); >> plot(x1,[y1',y2',y3',y4'],':',x,y,'o',x1,y0) 误差分析 >> [max(abs(y0(1:49) … -y2(1:49))), max(abs(y0-y3)), max(abs(y0-y4))] ans = 0.0177 0.0086 0.1598
2.2.4 三次样条插值
比分段线性插值更光滑
y

a
xi-1 xi
b
x
在数学上,光滑程度的定量描述是:函数(曲 线)的k阶导数存在且连续,则称该曲线具有k阶光 滑性. 光滑性的阶次越高,则越光滑.是否存在较低 次的分段多项式达到较高阶光滑性的方法?三次 样条插值就是一个很好的例子.
xi处的插 值结果 插值节点 被插值点 插值方法

数学建模插值算法

数学建模插值算法

数学建模插值算法插值算法是数学建模中一种常用的技术,用于在已知数据点处的估计和未知数据点之间的预测。

插值算法可以帮助我们充分利用已知数据点的信息,获得更完整和连续的数据。

在数学建模中,插值算法有多种方法可选,常见的包括拉格朗日插值、牛顿插值、样条插值等。

拉格朗日插值是最常见和简单的插值方法之一、它的基本思想是通过构造一个n次多项式来近似通过已知数据点的曲线。

具体地说,我们可以根据已知数据点的横纵坐标,构造出n个满足这些坐标的插值基函数。

然后,将这些插值基函数分别与相应基函数在未知数据点处取值的乘积相加,得到插值多项式。

最后,利用这个多项式来估计未知数据点的纵坐标。

牛顿插值是另一种常用的插值方法。

它的基本思想是使用差商的概念来创建一个n次多项式。

差商是一个递归定义的概念,其基本思想是通过逐步添加一个已知数据点来计算多项式的高次项系数。

具体地说,我们可以根据已知数据点的横纵坐标,构造出n个差商。

然后,将这些差商与相应基函数在未知数据点处取值的乘积相加,得到插值多项式。

最后,利用这个多项式来估计未知数据点的纵坐标。

样条插值是一种更加复杂但更精确的插值方法。

它的基本思想是通过构造一组n次多项式的集合,使得每个多项式在相应数据点处完全符合已知数据。

具体地说,我们可以根据已知数据点的横纵坐标,构造出n个多项式,并设置它们在数据点处的约束条件。

然后,通过求解一个线性方程组来计算每个多项式的系数。

最后,利用这组多项式来估计未知数据点的纵坐标。

以上是数学建模中常用的几种插值算法,它们各有优缺点,在不同情景下有着不同的适用性。

插值算法在实际应用中具有广泛的用途,例如地图绘制、图像处理、信号处理等领域。

在进行插值计算时,要根据实际情况选择适当的算法,并合理处理计算误差,以提高插值结果的准确性和稳定性。

数学建模案例与方法教学课件第5章插值法与拟合方法

数学建模案例与方法教学课件第5章插值法与拟合方法

5.1 城市供水量的预测问题
图5-3 三种插值函数曲线
5.1 城市供水量的预测问题
3. 用2000—2006年每年1月份城市的总用水量预测
由表5-2可得到7个 插值节点(x i,y i), 其中,xi=i,i=1,2,…,7, 其散点图如图5-4所示。 用三次样条插值法求得 的f(8)=4 378.139 0×104 t即为所求的 2007年1月份总用水量 的估计值,表5-3
5.1 城市供水量的预测问题
5.1.2 用插值法预测2007年1月份城市的总用水量
预测2007年1月份城市的用水量有三种 办法:一是用2006年的日用水量进行预测, 二是用2000—2006年每年1月份的日用水量 进行预测,三是用2000—2006年每年1月份
5.1 城市供水量的预测问题
1. 用2006年的日用水量进行预测
图5-4 2000—2006年每年1月份 城市的总用水量散点图
5.1 城市供水量的预测问题
5.1 城市供水量的预测问题
5.1.3 用数据拟合方法预测2007年1月份城市的总用水量 1. 用2006年每天的日用水量进行预测
由图5-1可知,这些点并不是简单地成线性或二次关系, 而是具有很强的聚集性。我们试图用几个多项式进行拟合。 用 MATLAB工具箱得到的拟合结果见表5-4。
5.2.1 曲线拟合
【实例】 气象部门观测到一天中某些时刻t的温度T变化数据见 表5-6。试描绘出温度变化曲线。
5.2 MATLAB与拟合、插值
曲线拟合就是计算出两组数据之间的一 种函数关系,由此可描绘其变化曲线及估计
曲线拟合有多种方式,下面是一元函数 采用最小二乘法对给定数据进行多项式曲线
5.2 MATLAB与拟合、插值

数学建模插值和拟合问题的总结

数学建模插值和拟合问题的总结

插值和数据拟合一、 插值方法问题:已知n+1个节点(x j ,y j )(j=0,1,…,n),a=x 0<x 1<…< x n =b ,求任一插值点x*处的插值y*方法:构造一个相对简单的函数y=f(x),使得f 通过所有节点,即f(x j )= y j ,再用y=f(x)计算x*的值。

1. 拉格朗日多项式插值设f(x)是n 次多项式,记作1110()n n n n n L x a x a x a x a --=++++要求对于节点(,)j j x y 有(),0,1,,n j j L x y j n ==将n+1个条件带入多项式,就可以解出多项式的n+1个系数。

实际上,我们有n 次多项式011011()()()()()()()()()i i n i i i i i i i n x x x x x x x x l x x x x x x x x x -+-+----=----满足1,()0,,,0,1,,i j i jl x i j i j n =⎧=⎨≠=⎩则0()()nn i i i L x y l x ==∑就是所要的n 次多项式,称为拉格朗日多项式。

由拉格朗日多项式计算的插值称为拉格朗日插值。

一般来讲,并不是多项式的阶数越高就越精确,一般采用三阶、二阶或一阶(线性)多项式,对相邻点进行分段插值。

2. 样条插值在分段插值时,会造成分段点处不光滑,如果要求在分段点处光滑,即不仅函数值相同,还要一阶导数和二阶导数相同,则构成三阶样条插值。

一般用于曲线绘制,数据估计等。

例 对21,[5,5](1)y x x =∈-+,用n=11个等分节点做插值运算,用m=21个等分插值点作图比较结果。

见inter.m 程序二、 曲线拟合 三、 给药方案 1. 问题一种新药用于临床必须设计给药方案,在快速静脉注射的给药方式下,就是要确定每次注射剂量多大,间隔时间多长.我们考虑最简单的一室模型,即整个机体看作一个房室,称为中心室,室内血液浓度是均匀的.注射后浓度上升,然后逐渐下降,要求有一个最小浓度1c 和一个最大浓度2c .设计给药浓度时,要使血药浓度保持在1c ~2c 之间.2. 假设(1)药物排向体外的速度与中心室的血药浓度成正比,比例系数是k(>0),称为排出速度.(2)中心室血液容积为常数V ,t=0的瞬间注入药物的剂量为d ,血药浓度立即为dV. 3. 建模设中心室血药浓度为c(t),满足微分方程(0)dckc dtd c V=-=用分离变量法解微分方程,有()ktd c te V-=(*) 4. 方案设计每隔一段时间τ,重复注入固定剂量D ,使血药浓度c(t)呈周期变化,并保持在1c ~2c 之间.如图:设初次剂量加大到D 0,易知0221,D Vc D Vc Vc ==-,2121()11ln[],()()ln c Vc t t t c t c k d k c τ=-=-= 那么,当12,c c 确定后,要确定给药方案0{,,}D D τ,就要知道参数V 和k .5. 由实验数据做曲线拟合确定参数值已知1210,25(/)c c g ml μ==,一次注入300mg 药物后,间隔一定ln lndc kt V=- 记12ln ,,lndy c a k a V==-=,则有 12y a t a =+求解过程见medicine_1.m得120.2347, 2.9943a a =-=,由d=300(mg)代入算出k=0.2347,V=15.02(L) 从而有0375.5(),225.3(), 3.9()D mg D mg τ===小时四、 口服给药方案 1. 问题口服给药相当于先有一个将药物从肠胃吸收入血液的过程,可简化为一个吸收室,一个中心室,记t 时刻,中心室和吸收室的血液浓度分别是1()()c t c t 和,容积分别是V ,V1,中心室的排除速度为k ,吸收速度为k1,且k,k1分别是中心室和吸收室血液浓度变化率与浓度的比例系数,t=0口服药物的剂量为d ,则有11111,(0)dc dk c c dt V =-= (1) 111,(0)0V dckc k c c dt V=-+= (2) 解方程(1)有111()k td c te V -=代入方程(2)有111()()k t kt k d c t e e V k k--=--其中三个参数1,,dk k b V=,可由下列数据拟合得到:(非线性拟合)。

数学建模插值及拟合详解

数学建模插值及拟合详解

插值和拟合实验目的:了解数值分析建模的方法,掌握用Matlab进行曲线拟合的方法,理解用插值法建模的思想,运用Matlab一些命令及编程实现插值建模。

实验要求:理解曲线拟合和插值方法的思想,熟悉Matlab相关的命令,完成相应的练习,并将操作过程、程序及结果记录下来。

实验内容:一、插值1.插值的基本思想·已知有n +1个节点(xj,yj),j = 0,1,…, n,其中xj互不相同,节点(xj, yj)可看成由某个函数y= f (x)产生;·构造一个相对简单的函数y=P(x);·使P通过全部节点,即P (xk) = yk,k=0,1,…, n ;·用P (x)作为函数f ( x )的近似。

2.用MA TLAB作一维插值计算yi=interp1(x,y,xi,'method')注:yi—xi处的插值结果;x,y—插值节点;xi—被插值点;method—插值方法(‘nearest’:最邻近插值;‘linear’:线性插值;‘spline’:三次样条插值;‘cubic’:立方插值;缺省时:线性插值)。

注意:所有的插值方法都要求x是单调的,并且xi不能够超过x的范围。

练习1:机床加工问题每一刀只能沿x方向和y方向走非常小的一步。

表3-1给出了下轮廓线上的部分数据但工艺要求铣床沿x方向每次只能移动0.1单位.这时需求出当x坐标每改变0.1单位时的y坐标。

试完成加工所需的数据,画出曲线.步骤1:用x0,y0两向量表示插值节点;步骤2:被插值点x=0:0.1:15; y=y=interp1(x0,y0,x,'spline');步骤3:plot(x0,y0,'k+',x,y,'r')grid on答:x0=[0 3 5 7 9 11 12 13 14 15 ];y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6 ];x=0:0.1:15;y=interp1(x0,y0,x,'spline');plot(x0,y0,'k+',x,y,'r')grid on3.用MA TLAB作网格节点数据的插值(二维) z=inte rp2(x0,y0,z0,x,y,’method’)注:z—被插点值的函数值;x0,y0,z0—插值节点;x,y—被插值点;method—插值方法(‘nearest’:最邻近插值;‘linear’:双线性插值;‘cubic’:双三次插值;缺省时:双线性插值)。

数学建模精品教材第九章插值与拟合...

数学建模精品教材第九章插值与拟合...

数学建模精品教材-第九章插值与拟合第九章插值与拟合插值:求过已知有限个数据点的近似函数。

拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小。

插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似的要求不同,二者的数学方法上是完全不同的。

而面对一个实际问题,究竟应该用插值还是拟合,有时容易确定,有时则并不明显。

§1 插值方法下面介绍几种基本的、常用的插值:拉格朗日多项式插值、牛顿插值、分段线性插值、Hermite 插值和三次样条插值。

1.1 拉格朗日多项式插值1.1.1 插值多项式用多项式作为研究插值的工具,称为代数插值。

其基本问题是:已知函数 f x 在区间[a,b]上n +1个不同点x ,x , L,x 处的函数值 y f x i 0,1, L,n,求一个0 1 n i i至多n次多项式nx a +a x + L +a x (1)n 0 1 n使其在给定点处与 f x同值,即满足插值条件 x f x y i 0,1, L,n(2) n i i ix称为插值多项式,x i 0,1, L,n称为插值节点,简称节点,[a,b]称为插值区n i间。

从几何上看,n次多项式插值就是过n +1个点 x , f x i 0,1, L,n,作一条i i多项式曲线 y x近似曲线 y f x。

nn次多项式(1)有n +1个待定系数,由插值条件(2)恰好给出n +1个方程2 na +a x +a x + L +a x y0 1 0 2 0 n 0 02 na +a x +a x + L +a x y0 1 1 2 1 n 1 1(3)L L L L L L L L L L L L2 na +a x +a x + L +a x y0 1 n 2 n n n n 记此方程组的系数矩阵为A,则2 n1 x x L x0 0 02 n1 x x L x1 1 1 detAL L L L L L L2 n1 x x L xn n n是范德蒙特Vandermonde行列式。

(完整版)数学建模 插值和拟合

(完整版)数学建模 插值和拟合

x
xn
x
4.2 MATLAB实现插值
Matlab 实现:实现插值不需要编制函 数程序,它自身提供了内部的功能函数 interp1(一维分段插值) interp2(二维) interp3(三维) intern(n维)
4.3.1一维插值
用MATLAB作插值计算
一维插值函数: yi=interp1(x,y,xi,'method')
h=1:0.1:12;
t=interp1(hours,temps,h,'spline');
plot(hours,temps,'+',h,t,'r:')
xlabel('Hour'),ylabel('Degrees Celsius’)
例1:从1点12点的11小时内,每隔1小时测量一次温度, 测得的温度的数值依次为:5,8,9,15,25,29, 31,30,22,25,27,24.试估计(1)每隔1/10小时 的温度值;(2)估计1点30分和13的温度值。
例1:从1点到12点的11小时内,每隔1小时测量一次温 度,测得的温度的数值依次为:5,8,9,15,25, 29,31,30,22,25,27,24.试估计(1)每隔 1/10小时的温度值;(2)估计1点30分和13的温度值。
hours=1:12;
temps=[5 8 9 15 25 29 31 30 22 25 27 24];
x x0 y y0
x1 … xn y1 … yn
其中x0,x1, …xn是n+1个互不相同的点,求一个 近似函数 (x) ,使得
( xi ) f ( xi ) i 0,1 …n

数学建模插值法

数学建模插值法

给定数据表:
x
0.4
0.5
0.6
0.7
0.8
lnx
-0.916291 -0.693147 -0.510826 -0.356675 -0.223144
用lagrange插值公式计算 clear x0=0.4:0.1:0.8; y0=log(x0); x=0.54; lagrange(x0,y0,x)
ln(0.54)的函数值
function Y=newpoly(x,y,X) %牛顿插值 n=length(x); D=zeros(n); D(:,1)=y'; for j=2:n %计算差商矩阵 for k=j:n D(k,j)=(D(k,j-1)-D(k-1,j-1))/(x(k)-x(k-j+1)); end end C=D(n,n); for k=(n-1):-1:1 %构造插值多项式 C=conv(C,poly(x(k))); m=length(C); C(m)=C(m)+D(k,k); end Y=polyval(C,X);
2021/5/23
13
龙格现象
Runge在上个世纪初发现:
在[-5,5]上用n+1个等距节点作n次插值多项式Pn(x), 当在n→∞时,插值多项式Pn(x)在区间中部趋于
f(x)=1/(1+x2) , 但对于3.63≤∣x∣≤5的x,Pn(x)严重发散。 用图形分析问题。
2021/5/23
14
for n=10:2:20
-0.916291 -0.693147 -0.510826 -0.356675 -0.223144
计算ln(0.54)的值.
2021/5/23
3
一、问题的提出

数学建模插值方法ppt课件

数学建模插值方法ppt课件
R n ( x ) f ( x ) N n ( x ) f [ x , x 0 , x 1 , L x n ] ( x x 0 ) L ( x x n )
.
差商表
xk
f (xk)
一阶 差商
二阶差商
三阶差商 四阶差商
x 0 f (x0)
x 1 f ( x 1 ) f [ x0 , x1 ]
二阶差商
f[x 0 ,x 1 ,Lx n ]f[x 0 ,x 1 Lx n x 1 0 ] x fn [x 1 ,x 2 ,L x n ]n 阶差商
.
(2) Newton插值公式
由差商定义 x[a,b]
f(x ) f(x 0 ) f[x ,x 0 ](x x 0 )
f[x ,x 0 ]f[x 0 ,x 1 ] f[x ,x 0 ,x 1 ](x x 1 ) L L
yi(s)=0; for i=1:n
w(i)=1; dw(i)=1; for j=1:n
if (j~=i) w(i)=(xi(s)-x(j))*w(i); dw(i)=(x(i)-x(j))*dw(i);
end end yi(s)=y(i)*w(i)/dw(i)+yi(s); end end
.
6
5
.
.
六、 分段插值
所谓分段插值,就是将被插值函数逐段多项式化。在每
个 xi,xi1 子段上构造插值多项式,然后把它们装配在一,
作为整个区间 a , b 上的插值函数,即称为分段多项式。如果 函数 S k x 在每个子段上都是 k 次式,则称为 k 次式。
一般(低次:k=1,2,3)
.
for j=i:n nt(j,i)=(nt(j,i-1)-nt(j-1,i-1))/(x(j)-x(j-(i-1))); end End for i=1:n nt(i,i) End for i=1:m yi(i)=nt(1,1); for j=2:n t=1; for s=1:j-1

数学建模 数学实验---插值及案例

数学建模 数学实验---插值及案例

四、插值方法及MATLAB求解
插值方法 选用不同类型的插值函数,逼近的效 果就不同,一般有: 拉格朗日插值(lagrange插值) 分段线性插值 Hermite 三次样条插值。
MATLAB实现插值 MATLAB自身提供了如下内部的功能函数:
一维插值函数:interp1()
例 在某海域测得一些点(x,y)处的水深z由下表 给出,船的吃水深度为5英尺,在矩形区域(75,200) ×(-50,150)里的哪些地方船要避免进入.
x y z x y z 129 140 103.5 88 185.5 195 7.5 141.5 23 147 22.5 137.5 4 8 6 8 6 8 157.5 -6.5 9 107.5 -81 9 77 3 8 105 85.5 8
被插值点 的函数值
插值节点 被插值点
插值方法
注:要求x0,y0单调;x, ‘nearest’ 最邻近插值; ‘linear’ 双线性插值; y可取为矩阵,或x取行向 双三次插值; 量,y取为列向量,x,y的 ‘cubic’ 缺省时 双线性插值. 值分别不能超出x0,y0的范 围.
例 用以上4种方法对 z xe 式插值效果进行比较。 t=-2:0.5:2
%作图
练习 已知飞机下轮廓线上数据如下,求x每改变0.1时的y 值.
X Y
0 0
3 1.2
5 1.7
7 2.0
9 2.1
11 2.0
12 1.8ห้องสมุดไป่ตู้
13 1.2
14 1.0
15 1.6
y
机翼下 轮廓线







x
用MATLAB作二维插值计算

数学建模第四讲(上):插值模型

数学建模第四讲(上):插值模型
一、引例
对于某个实验,得到了6次实验结果,由于不小心遗失了某些数据。现在已 知5次实验相关的数据之后,估算出遗失的数据。
实验数据 实验1 实验2 自变量 200 220
应变量 4
4.5
实验3 240 ?
实验4 250 4.7
实验5 270 4.8
实验6 280 5.2
如何根据已知5次实验的数据资料较准确估计第3次实验的数据呢?
5.2 拉格朗日插值公式
5.2.1 线性拉格朗日插值
Y
给定f(x)的2点函数表,求一个f(x) 的近似函数经过这两个已知点。
x
x0
x1
y
y0
y1
y0
在最简单的情况下,过这两个已知
点可以作一个什么图形近似f(x)?
0
x0
y=L1(x) y=f(x)
y1
x1
X
5.2 拉格朗日插值公式
直线y=L1(x)的两点式方程为:
i
0
1
2
3
xi
-2
-1
1
2
f(xi) 5
3 17 21
解:差商表如下
xi ƒ(xi) 一阶差商 二阶差商 三阶差商
-2
5
-1
3
已知f (x) x3 2x 3,求f [0,1], f [0,1, 2].
f [0,1]
f
(1) 1
f 0
(0)
0
(3) 1
3
f [1, 2]
f
(2) 2
f 1
(1)
9
1
0
9
f [0,1, 2]
f
[1,
2] 2
f 0
[0,1]

数学建模-插值拟合的案例讲解

数学建模-插值拟合的案例讲解
水塔是一个高12.2米,直径17.4米的正圆柱.按照 设计,水塔水位降至约8.2米时,水泵自动启动,水 位升到约10.8米时水泵停止工作. 表1 是某一天的水位测量记录,试估计任何时刻 (包括水泵正供水时)从水塔流出的水流量,及一 天的总用水量.
估计水塔的流量
内容
问题
解题思路
算法设计 与编程
表 1 水位测量记录 (符号//表示水泵启动)
y=0:400:4800;
z=[370 470 550 600 670 690 670 620 580 450 400 300 100 150 250;
510 620 730 800 850 870 850 780 720 650 500 200 300 350 320;
650 760 880 970 1020 1050 1020 830 900 700 300 500 550 480 350;
1600
1250 1450 1500 1200 1200 1550 1500
2000
1280 1420 1500 1100 1100 1600 1550
2400
1230 1400 1400 1350 1550 1550 1510
2800
1040 1300 900 1450 1600 1600 1430
162 117.5]; y=[7.5 141.5 23 147 22.5 137.5 85.5 -6.5 -81 3 56.5 -66.5 84 -
33.5]; z=[-4 -8 -6 -8 -6 -8 -8 -9 -9 -8 -8 -9 -4 -9];
cx=75:0.5:200; cy=-70:0.5:150; cz=griddata(x,y,z,cx,cy','cubic');
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

返回
11
三次样条插值
比分段线性插值更光滑。
y



a
xi-1
xi
b
x
在数学上,光滑程度的定量描述是:函数(曲 线)的k阶导数存在且连续,则称该曲线具有k阶光 滑性。 光滑性的阶次越高,则越光滑。是否存在较低 次的分段多项式达到较高阶光滑性的方法?三次 样条插值就是一个很好的例子。
26
例:测得平板表面3*5网格点处的温度分别为: 82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 试作出平板表面的温度分布曲面z=f(x,y)的图形。
1.先在三维坐标画出原始数据,画出粗糙的温度分布曲图. 输入以下命令: x=1:5; y=1:3; temps=[82 81 80 82 84;79 63 61 65 81;84 84 82 85 86]; mesh(x,y,temps) 2.以平滑数据,在x、y方向上每隔0.2个单位的地方进行插值.
25
用MATLAB作网格节点数据的插值
z=interp2(x0,y0,z0,x,y,’method’)
被插值点 的函数值
插值 节点
被插值点
插值方法
‘nearest’ 最邻近插值 ‘linear’ 双线性插值 ‘cubic’ 双三次插值 缺省时, 双线性插值
要求x0,y0单调;x,y可取为矩阵,或x取 行向量,y取为列向量,x,y的值分别不能超出 x0,y0的范围。
xi处的插 值结果 插值节点 被插值点 插值方法
‘nearest’ :最邻近插值 ‘linear’ : 线性插值; ‘spline’ : 三次样条插 值; ‘cubic’ : 立方插值。 缺省时: 分段线性插值。 注意:所有的插值方法都要求x是单调的,并且xi不
15
能够超过x的范围。
例:在1-12的11小时内,每隔1小时测量一次温 度,测得的温度依次为:5,8,9,15,25,29,31, 30,22,25,27,24。试估计每隔1/10小时的温度 值。
n
g(x)为被插值函数。
) x ( g ) x ( S mil
13

g ( x)
1 1 x
2
, 6 x 6
用三次样条插值选取11个基点计算插值(ych) To MATLAB ych(larg1)
返回
14
用MATLAB作插值计算
一维插值函数:
yi=interp1(x,y,xi,'method')
*
y
*பைடு நூலகம்
y1
y0





节点可视为由 y g (x ) 产生,,
g表达式复杂,,
或无封闭形式,, 或未知.。
x 0 x1 x *
xn
5
构造一个(相对简单的)函数 y f (x ), 通过全部节点, 即
f ( x j ) y j ( j 0,1, n )
再用
f (x ) 计算插值,即 y f ( x ).
27
再输入以下命令:
xi=1:0.2:5; yi=1:0.2:3;
zi=interp2(x,y,temps,xi',yi,'cubic');
mesh(xi,yi,zi) 画出插值后的温度分布曲面图. To MATLAB (wendu)
28
例 山区地貌:
在某山区测得一些地点的高程如下表。平面区域为 1200<=x<=4000,1200<=y<=3600) 试作出该山区的地貌图和等高线图,并对几种插值方法进行比较。
计算量与n无关;
xn

g ( x)
1 1 x
2
, 6 x 6
用分段线性插值法求插值,并观察插值误差.
1.在[-6,6]中平均选取5个点作插值(xch11)
2.在[-6,6]中平均选取11个点作插值(xch12)
3.在[-6,6]中平均选取21个点作插值(xch13)
4.在[-6,6]中平均选取41个点作插值(xch14) To MATLAB xch11,xch12, xch13,xch14
Pn ( x ) L i ( x ) y i
i 0 n
其中Li(x) 为n次多项式:
L i (x) ( x x 0 )( x x 1 ) ( x x i 1 )( x x i 1 ) ( x x n ) ( x i x 0 )( x i x 1 ) ( x i x i 1 )( x i x i 1 ) ( x i x n )
16

已知飞机下轮廓线上数据如下,求x每改变0.1时的y值。
X Y
0 0
3 1.2
5 1.7
7 2.0
9 2.1
11 2.0
12 1.8
13 1.2
14 1.0
15 1.6
y
机翼下 轮廓线




x
To MATLAB(plane) 返回
17
二维插值的定义
第一种(网格节点):
y
直接验证可知 , Ln x 满足插值条件 .
8

g ( x)
1 1 x
2
, 5 x 5
采用拉格朗日多项式插值:选取不同插值 节点个数n+1,其中n为插值多项式的次数,当n 分别取2,4,6,8,10时,绘出插值结果图形.
To Matlab lch(larg1)
拉格朗日多项式插值的 这种振荡现象叫 Runge现象
7
称为拉格朗日插值基函数。
拉格朗日(Lagrange)插值
特别地: 两点一次(线性)插值多项式:
L1 x
x x1
x0 x1
y0
x x0
x1 x0
y1
三点二次(抛物)插值多项式:
x x0 x x 2 x x0 x x1 x x1 x x2 L2 x y0 y1 y2 x0 x1 x0 x2 x1 x0 x1 x2 x2 x0 x2 x1
第二片(上三角形区域):(x, y)满足
y y j1 y j x i 1 x i (x x i ) y i
插值函数为:
f ( x, y) f1 (f 4 f1 )( y y j ) (f 3 f 4 )( x x i )
注意:(x, y)当然应该是在插值节点所形成的矩形区 域内。显然,分片线性插值函数是连续的; 返回 24
数学建模与数学实验
插 值
后勤工程学院数学教研室
1
实验目的
1、了解插值的基本内容。
2、掌握用数学软件包求解插值问题。
实验内容
[1]一维插值 [2]二维插值
[3]实验作业
2
一 一、插值的定义 二、插值的方法



拉格朗日插值
分段线性插值
三次样条插值 三、用Matlab解插值问题
返回
3
二维插值
一、二维插值定义 二、网格节点插值法







x
O
将四个插值点(矩形的四个顶点)处的函数值依次 简记为: f (xi, yj)=f1,f (xi+1, yj)=f2,f (xi+1, yj+1)=f3,f (xi, yj+1)=f4
23
分两片的函数表达式如下:
第一片(下三角形区域): (x, y)满足
插值函数为:
f ( x, y) f1 (f 2 f1 )( x x i ) (f 3 f 2 )( y y j )
* *
y
*
y1
y0





x 0 x1 x *
xn
返回
6
拉格朗日(Lagrange)插值
已知函数f(x)在n+1个点x0,x1,…,xn处的函数值为 y0,y1,…,yn 。求一n次多项式函数Pn(x),使其满足: Pn(xi)=yi,i=0,1,…,n. 解决此问题的拉格朗日插值多项式公式如下
最邻近插值 分片线性插值 双线性插值
三、用Matlab解插值问题
网格节点数据的插值
散点数据的插值
返回
4
一维插值的定义
已知 n+1个节点 ( x j , y j ) ( j 0,1, n, 其中
xj 互不相同,不妨设 a x0 x1 xn b ),
求任一插值点
x ( x j ) 处的插值 y * .
hours=1:12; temps=[5 8 9 15 25 29 31 30 22 25 27 24]; h=1:0.1:12; t=interp1(hours,temps,h,'spline'); (直接输出数据将是很多的) plot(hours,temps,'+',h,t,hours,temps,'r:') %作图 xlabel('Hour'),ylabel('Degrees Celsius’) To MATLAB (temp)
通过此例对最近邻点插值、双线性插值方法和双三次插值方法的插 值效果进行比较。
返回
9
分段线性插值
y o
Ln ( x )


xj-1 xj xj+1 xn x
x0
y
j 0
n
j
l j ( x)
相关文档
最新文档