内插值计算

更新时间:2023-08-10 18:34:01 阅读量: 工程科技 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

内插值计算

内插值计算在工程中有广泛的应用,在其他行业也有应用,如财务管理中的利率查表等。

为理解内插值计算的含义,举个简单例子:

图中可见:整个数据区连起来后是一条曲线,但每两个点之间都可以近似看作一段

(如果连这样的误差也需要考虑减小的话,看本文的后面其他更进一步的

按照这个思路,我们就可以直接转换为用公式计算的方法:计算方法1

12B=243.538(注:这里的计算范围为>=0,<80)

公式为: =LOOKUP(B37,A8:B24)+(INDEX($A$8:$B$24,W+1,2)-LOO

其中定义名称 W=MATCH(内插值计算!$B$37,内

这是一个最“原始”的算法,完全模拟了手工计算。当然还有其他的公式写法,但实际上,EXCEL已经提供了计算线性插值的函数。这就是TREND()

TREND函数

格式为:TREND(known_y's,known_x's,new_x's,const)

其中第一和第二参数为已知y值和已知x值,分别对应于上表中的B列和A列 而第三参数则为需要求插值的数值,对应于上面的A=12函数更详细的说明见帮助文件。使用这个函数时,我们要注意:

如果我们按帮助文件中的举例来作,把公式写成:TREND(B8:B24,A8:A24,12)将得不原因在于:TREND是求一条线性回归拟合线的值,而我们表一并不是线性关系,图一

所以我们必须仍然按照上面的思路把曲线分割成若干直线段来计算计算方法2

B=

243.538

公式: =TREND(INDIRECT("B"&W+7&":"&"B"&W+8),INDIRECT("A

这是不是简单多了?

上面说到,由于图一不是直线,所以我们采用分段计算。如果是直线,怎么样?看下例:

当数据是线性相关时,可以取整个数据区,否则应分段计算

计算方法3

我们注意到图二是一条直线,那么我们自然就想到:能不能写出这条直线的解析式?

有了解析式,问题肯定简单得多!

我们知道,直线的解析式是 y=ax+b,怎么求a,b?

这就要用到excel函数的另一个函数:LINEST()

LINEST函数

格式为:LINEST(known_y's,known_x's,const,stats)其中后两个参数省略的情况下,即可返

对于表二的数据,我们有以下的计算:有这样一个温度-电阻的表达式,计算不就太简单了吗!

那么,对于不是直线的表一、图一,还能用类似办法吗?能!我们用表一数据来说明:

计算方法4图三

上面的这个图表中给出的公式,即可用来计算

其中的系数也可以用公式法来求,这样计算方公式及计算结果见左侧表四。根据这个公式,可求得(见C172)

当A=12时,B=243.77

上面的做法归纳起来就是:

根据数据表作出趋势线,并令R2→1,再用公式求出系数,从而得到一个计算插值的完整公式

实际上,上述方法已经不是“插值”了,它是求出源数据组的拟合函数,用理论上,如果拟合程度很好的话,它比任何插值方法都有更高的准确度。

==============================================除此之外,excel还提供了很多类似用途的函数,如SLOPE

斜率

INTERCEPT截距

FORECAST线性回归CORRELGROWTHLOGESTPEARSONRSQ

求相关系数

指数拟合指数回归

pearson乘积矩相关系数pearson乘积矩相关系数的平方

灵活运用这些函数,可使插值问题得到很好的解决。

好了,就说到这里吧。再向下说,就进入“回归分析”的范围了。===============================================点击查看相关帖子:

查表等。

=239.41,问当A=12时,B=?

OKUP函数就可简单解决,而对于A=12则要进行插值计算

两个值:10和15,先计算:15-10=5

值:239.41和249.73,再计算:249.73-239.41=10.32,A每增长1个单位,B增长10.32/5=2.064

9.73-239.41)/(15-10)*(12-10)=243.538

,每段内进行线性插值的计算,得到结果

的。为了说明这点,我们把左表画成图(选用平滑线散点图):

两个点之间都可以近似看作一段直线,误差很小,看本文的后面其他更进一步的办法)

计算范围为>=0,<80)

INDEX($A$8:$B$24,W+1,2)-LOOKUP(B37,A8:B24))/(INDEX(A8:B24,W+1,1)-INDEX(A8:A24,W,1))*(B37-INDEX(A8:A2=MATCH(内插值计算!$B$37,内插值计算!$A$8:$A$24,1)

。当然还有其他的公式写法,但都离不开模拟手工计算

就是TREND()

_x's,new_x's,const)

A列

REND(B8:B24,A8:A24,12)将得不到正确的值我们表一并不是线性关系,图一也不是一条直线分割成若干直线段来计算

+7&":"&"B"&W+8),INDIRECT("A"&W+7&":"&"A"&W+8),B37)

是直线,怎么样?看下例:

65,A62:A65,C61)

出这条直线的解析式?

(其中a为斜率,b为截距)

n_x's,const,stats)

即可返回直线方程的斜率和截距

表达式,计算不就太简单了吗!见左表三

第一步,按上面的办法作出图(图三)

第二步,在图中的曲线上点击右键选择“添加趋势线”

类型为多项式,阶数选2

这里,R平方值称为“决定系数”

表示趋势线与原数据的拟合程度R2=1,表示完全拟合。

越接近于1,表示拟合程度越好

我们可以通过改变曲线类型、阶数

来提高拟合的程度

表中给出的公式,即可用来计算插值

可以用公式法来求,这样计算方便,精度也得以保证

果见左侧表四。

,可求得(见C172)当A=12时,B=243.77

而得到一个计算插值的完整公式

数,用这个函数直接求出对应值。

的准确度。

-INDEX(A8:A24,W,1))

本文来源:https://www.bwwdw.com/article/1gqj.html

Top