样条插值函数及应用

  • 格式:doc
  • 大小:488.32 KB
  • 文档页数:17

2 样条插值函数及应用 3 摘要

样条函数具有广泛的应用,是现代函数论的一个十分活跃的分支,是计算方法的主要基础和工具之一,由于生产和科学技术向前发展的推动以及电子计算机广泛应用的需要,人们便更多地应用这个工具,也更深刻的认识了它的本质。

在实际问题中所遇到许多函数往往很复杂,有些甚至是很难找到解析表达式的。根据函数已有的数据来计算函数在一些新的点处的函数值,就是插值法所需要解决的问题。

插值法是数值逼近的重要方法之一,它是根据给定的自变量值和函数值,求取未知函数的近似值。早在一千多年前,我国科学家就在研究历法时就用到了线性插值和二次插值。而在实际问题中,有许多插值函数的曲线要求具有较高的光滑性,在整个曲线中,曲线不但不能有拐点,而且曲率也不能有突变。因此,对于插值函数必须二次连续可微且不变号 ,这就需要用到三次样条插值。

关键词 三次样条函数;插值法 4 目 录

引 言 .................................................. 1

第一章 三次样条插值 .................................... 2

1.1 样条插值函数简介 .................................. 2

1.2 三次样条函数应用 .................................. 3

第二章 AMCM91A 估计水塔水流量 .......................... 5

2.1 理论分析及计算 ....................................

6

2.2运用MATLAB软件计算 ............................... 9

参考文献 ............................................... 14 1 引 言

样条函数具有广泛的应用,是现代函数论的一个十分活跃的分支,是计算方法的主要基础和工具之一,由于生产和科学技术向前发展的推动以及电子计算机广泛应用的需要,人们便更多地应用这个工具,也更深刻的认识了它的本质。上世纪四十年代,在研究数据处理的问题中引出了样条函数,例如,在1946年Schoenberg将样条引入数学,即所谓的样条函数,直到五十年代,还多应用于统计数据的处理方面,从六十年代起,在航空、造船、汽车等行业中,开始大量采用样条函数。

在我国,从六十年代末开始,从船体数学放样到飞机外形设计,逐渐出现了一个使用样,逐渐出现了一个使用样条函数的热潮,并推广到数据处理的许多问题中。

在实际生活中有许多计算问题对插值函数的光滑性有较高的要求,例如飞机机翼外形、发动机进、排气口都要求有连续的二阶导数,用三次样条绘制的曲线不仅有很好的光滑度,而且当节点逐渐加密时其函数值整体上能很好地逼近被插函数,相应的导数值也收敛于被插函数的导数值,不会发生“龙格现象”。

现在国内外学者对这方面的研究也越来越重视,根据我们的需要来解决不同的问题,而且函数的形式也在不断地改进,长期以来很多学者致力于样条插值的研究,对三次样条的研究已相当成熟。 2 第一章 三次样条插值

1.1 样条插值函数简介

在实际问题中所遇到许多函数)(xf往往很复杂,有些甚至是很难找到解析表达式的。有时通过实验或者数值计算所得到的也只是一些离散的点nixi...2,10,上的函数值,即nixfii...2,1,0),(y。

根据函数)(xf已有的数据来计算函数)(xf在一些新的点x处的函数值,就是插值法所需要解决的问题。

插值法的基本思想就是,首先根据已有的函数值来构造一个简单的函数)(yx作为)(xf的近似表达式,然后用)(yx来计算新的点上的函数值作为)(xf的近似值。通常可以选多项式函数作为近似函数)(yx,因为多项式具有各阶导数,求值也比见方便。常用的有Lagrange插值、Newton插值、Hermite插值和样条插值。线性插值在分段点上仅连续而不可导,三次埃尔米特插值有连续的一阶导数,这样的光滑程度常不能满足物理问题的需要,样条函数可以同时解决这两个问题,使插值函数既是低阶分段函数,又是光滑的函数,并且只需在区间端点提供某些导数信息。

三次样条函数定义:

设在区间b,a上取1n个节点bxxxxan...210,函数)(yxf在各个节点处的函数值为,,...,1,0),(yinixfi若)(Sx满足:

(1) ;,...1,0,y)(Snixii

(2) 在区间b,a上,)(Sx具有连续的二阶导数;

(3) 在区间)(1,...,1,0x,x1niii上,)(Sx是x三次的多项式;

则称)(Sx是函数)(yxf在区间b,a上的三次样条插值函数。

由以上定义可以看出,虽然每个子区间上的多项式可以各不相同,但在相邻子区间的连接处却是光滑的。因此,样条插值也称为分段光滑插值。

从定义知要求出)(Sx,在每一个小区间)(1,...,1,0x,x1niii上确定4个待定系数,共有n个小区间,故应有4n个参数。

根据)(Sx在b,a上二阶导数连续,在节点1-...2,1nixi出满足连续性条件 3 )0()0(SiixSx

)0()0(S''iixSx

)0()0(S''''iixSx

共有3n-3个条件,再加上)(Sx满足插值条件;,...1,0,y)(Snixii共有4n-2个条件,因此还需要2个条件才能确定)(Sx。

通常可在区间端点上各加一个条件(称为边界条件),可根据实际问题的要求给定,通常有以下三种:

(1)已知端点的一阶导数值,即

'''00')(S,)(Snnfxfx

(2)俩端点的二阶导数已知,即

''''''00'')(S,)(Snnfxfx

其特殊情况,0)(S)(S''0''nxx称为自然边界条件。

(3)当)(xf是以0xxn为周期的函数时,则要求)(Sx也是周期函数。这时边界条件应满足

)0()0(SiixSx

)0()0(S''iixSx

)0()0(S''''iixSx

而此时nyy0。这样确定的样条函数)(Sx,称为周期函数。

1.2 三次样条函数应用

作函数)2sin()73(42xexxyx在1,0取间隔为0.1的点图,用插值进行实验。

使用MATLAB软件

程序代码如下:

%产生原始数据

x=0:0.1:1;

y=(x.^2-3*x+7).*exp(-4*x).*sin(2*x);

4 %作图

subplot(1,2,1);

plot(x,y,x,y,'ro')

%待求插值点

xx=0:0.02:1;

yy=interp1(x,y,xx,'spline');

%作图

subplot(1,2,2)

plot(x,y,'ro',xx,yy,'b')

运行截图

图1.1 运行结果 5 第二章 AMCM91A 估计水塔水流量

美国某洲的各用水管理机构要求各社区提供以每小时多少加仑计的用水率以及每天总的用水量,但许多社区并没有测量水流入或流出当地水塔的水量的设备,他们只能代之以每小时测量水塔中的水位,精度在0.5%以内,更为重要的是,无论什么时候,只要水塔中的水位下降到某一最低水位L时,水泵就启动向水塔重新充水至某一最高水位H,但也无法得到水泵的供水量的测量数据。因此,在水泵工作时,人们容易建立水塔中的水位与水泵工作时的用水量之间的关系。水泵每天向水塔充水一次或两次,每次约两小时。

表1 白某小镇某天的水塔水位

时间 0 3316 6635 10619 13937 17921 21240 25223 28543

水位 3175 3110 3054 2994 2947 2892 2850 2797 2752

时间 32284 35935 39332 39435 43318 46636 49953 53936 57254

水位 2697 水泵

工作 水泵

工作 3550 3445 3350 3260 3167 3087

时间 60574 64554 68535 71854 75021 79154 82649 85968 89953

水位 3012 2927 2842 2767 2697 水泵

工作 水泵

工作 3475 3397

时间 93270

水位 3340

单位:时间/秒;水位/0.01英尺

试估计在任何时刻,甚至包括水泵正在工作期间内,水从水塔流出的流量)(tf,并估计一天的总用水量,表1中给出了某个真实小镇某一天的真实数据。

表1中给出了从第一次测量开始的以秒为单位的时刻,以及该时刻的高度单位为百分之一英尺的水塔中水位的测量值,例如,3316秒后,水塔中的水位达到31.10英尺。水塔是一个垂直圆形柱体,高为40英尺,直径57英尺,通常当水塔的水位降至27.00英尺时水泵开始向水塔充水,而当水塔的水位升至35.50英尺时水泵停止工作。 6 2.1 理论分析及计算

1. 水塔充水时间的确定

(1) 第一次充水时间的确定

当时间t=32284秒时,水位26.97英尺,约低于最低水位27英尺,因此可作为第一次开始充水时刻。

当t=39435秒时,水塔水位35.5英尺,恰为最高水位,因此可作为第一次充水的结束时刻。充水时间为dt=(39435-32284)/3600=1.9864小时,也接近充水时间2小时。

(2) 第二次充水时间的确定

当时间t=75021秒时,水位26.97英尺,约低于最低水位27英尺,因此可作为第二次开始充水时刻。

当t=82649秒时,水泵在工作,但充水时间达到dt=(8264-7502)/3600=2.1189小时;但下一时刻t=85968时,水塔水位34.75英尺,低于最高水位35.50 英尺。

因此可将t=82649秒作为第二次充水的结束时刻,且该时刻水位为最大充水高度35.50 英尺。

2.计算各时刻塔内水的体积

单位转换为1英尺=0.3048米, 1升=1/3.785411加仑

体积计算公式为4/.2hdv

表2 不同时刻水体积表

其中(1)表示第一段开始,(2) 表示第二段开始,(3) 表示第三段开始;

单位:时间(小时),水流量:加仑/小时; 时间 水体积 时间 水体积 时间 水体积

0 (1) 606125 8.9678 514872 19.0375 542554

0.9211 593716 10.9542 (2) 677715 19.9594 528236

1.8431 583026 12.0328 657670 20.8392 514872

2.9497 571571 12.9544 639534 22.9581 (3) 677715

3.8714 562599 13.8758 622352 23.8800 663397

4.9781 552099 14.9822 604598 24.9869 648506