
如何利用excel进行线性插值.pdf
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。












