如何利用ecel进行线性插值
- 格式:pdf
- 大小:291.91 KB
- 文档页数:5
如何利用EXCEL进行线性插值
EXCEL表格使用中,我们常常会遇到线性插值的问题,其中,比较有代表性的就是在水温密度和比容的取值方面。
以下内容就以水温的密度和比容来说明如何利用EXCEL进行线性插值。
上图是水温密度和比容的取值计算的excel计算的截图,其中红色部分为输入的温度值,蓝色部分为计算的结果,具体的计算公式及说明见下表
计算公式 说明
温度 25 -/- 输入温度值
温度范围(下限) 20 =INDEX(A2:A12,MATCH(H2,A2:A12,1)) 找到输入的温度值的计算范围(下限)
温度范围(上限) 30 =INDEX(A2:A12,MATCH(H2,A2:A12,1)+1) 找到输入的温度值的计算范围(上限)
温度范围(下限)对应的密度 998.2 =INDEX(B2:B12,MATCH(H2,A2:A12,1)) / 温度范围(上限)对应的密度 995.7 =INDEX(B2:B12,MATCH(H2,A2:A12,1)+1) / 温度范围(下限)对应的比容 4.183 =INDEX(C2:C12,MATCH(H2,A2:A12,1)) / 温度范围(上限)对应的比容 4.174 =INDEX(C2:C12,MATCH(H2,A2:A12,1)+1) /
密度 996.95 =TREND(H5:H6,H3:H4,H2) 通过线性拟合函数求解密度
比容 4.1785 =TREND(H7:H8,H3:H4,H2) 通过线性拟合函数求解比容
相关的excel函数说明如下:
(1)INDEX函数
函数名称:INDEX
主要功能:返回列表或数组中的元素值,此元素由行序号和列序号的索引值进行确定。
使用格式:INDEX(array,row_num,column_num)
参数说明:Array代表单元格区域或数组常量;Row_num表示指定的行序号(如果省略row_num,则必须有 column_num);Column_num表示指定的列序号(如果省略column_num,则必须有 row_num)。
应用举例:如图3所示,在F8单元格中输入公式:=INDEX(A1:D11,4,3),确认后则显示出A1至D11单元格区域中,第4行和第3列交叉处的单元格(即C4)中的内容。
特别提醒:此处的行序号参数(row_num)和列序号参数(column_num)是相对于所引用的单元格区域而言的,不是Excel工作表中的行或列序号。
(2)MATCH函数
函数名称:MATCH
主要功能:返回在指定方式下与指定数值匹配的数组中元素的相应位置。
使用格式:MATCH(lookup_value,lookup_array,match_type)
参数说明:Lookup_value代表需要在数据表中查找的数值;
Lookup_array表示可能包含所要查找的数值的连续单元格区域;
Match_type表示查找方式的值(-1、0或1)。
¡如果match_type为-1,查找大于或等于 lookup_value的最小数值,Lookup_array 必须按降序排列;
¡如果match_type为1,查找小于或等于 lookup_value 的最大数值,Lookup_array 必须按升序排列;
¡如果match_type为0,查找等于lookup_value 的第一个数值,Lookup_array 可以按任何顺序排列;如果省略match_type,则默认为1。
应用举例:如图4所示,在F2单元格中输入公式:=MATCH(E2,B1:B11,0),确认后则返回查找的结果“9”。
特别提醒:Lookup_array只能为一列或一行。
(3)TREND 函数
说明:返回一条线性回归拟合线的值。
即找到适合已知数组 known_y's 和 known_x's 的直线(用最小二乘法),并返回指定数组 new_x's 在直线上对应的 y 值。
语法:
TREND(known_y's, [known_x's], [new_x's], [const])
TREND 函数语法具有下列参数 (参数:为操作、事件、方法、属性、函数或过程提供信息的值。
):
Known_y's 必需。
关系表达式 y = mx + b 中已知的 y 值集合。
¡如果数组 known_y's 在单独一列中,则 known_x's 的每一列被视为一个独立的变量。
¡如果数组 known_y's 在单独一行中,则 known_x's 的每一行被视为一个独立的变量。
Known_x's 必需。
关系表达式 y = mx + b 中已知的可选 x 值集合。
数组 known_x's 可以包含一组或多组变量。
如果仅使用一个变量,那么只要 known_x's 和 known_y's 具有相同的维数,则它们可以是任何形状的区域。
如果用到多个变量,则 known_y's 必须为向量(即必须为一行或一列)。
如果省略 known_x's,则假设该数组为 {1,2,3,...},其大小与 known_y's 相同。
New_x's 必需。
需要函数 TREND 返回对应 y 值的新 x 值。
New_x's 与 known_x's 一样,对每个自变量必须包括单独的一列(或一行)。
因此,如果 known_y's 是单列的,known_x's 和 new_x's 应该有同样的列数。
如果 known_y's 是单行的,known_x's 和 new_x's 应该有同样的行数。
¡如果省略 new_x's,将假设它和 known_x's 一样。
¡如果 known_x's 和 new_x's 都省略,将假设它们为数组 {1,2,3,...},大小与 known_y's 相同。
Const 可选。
一个逻辑值,用于指定是否将常量 b 强制设为 0。
¡如果 const 为 TRUE 或省略,b 将按正常计算。
¡如果 const 为 FALSE,b 将被设为 0(零),m 将被调整以使 y = mx。