EXCEL线性内插值
发布网友
发布时间:2022-04-23 09:44
我来回答
共1个回答
热心网友
时间:2022-05-18 16:13
Excel线性内插值计算实例
excel插值,通常通过函数公式完成。如果手工计算插值,N多烦琐。
excel插值函数有trend和forecast函数。通过这两个excel插值函数来写相关的插值公式。
下面是两个相关excel 插值资料和案例,供学习者使用。
第一:线性内插值计算实例
excel附件中包括四个工作表:一维插值、二维插值(1)、二维插值(2)、三维插值。
第二:Excel画平滑曲线散点图
excel附件详细说明了Excel画平滑曲线散点图的算法,并提供了一个自定义函数BezierInt() ,让用户可以随时查找曲线上任意点的坐标(函数值)。
附件的 .mht文件,是一个简单介绍贝塞尔三次插值的文档,可以用IE打开,更多贝塞尔插值的算法,可以用搜索引擎插值。
附件的 .xls文件,打开以后,会看见三个工作表,分别演示了:找一个数值在曲线上的一组对应点,找一个数值在曲线上的所有对应点,和贝塞尔曲线是怎样在通过每两个节点的(每一对输入的X-Y数值代表平面坐标系的一个点,称为节点,Excel的平滑曲线通过每一个节点)。
如果需要在其他Excel文档使用 BezireInt() 函数,需要按Alt+F11,双击模块一复制所有代码,然后打开其他Excel文档按Alt+F11,插入-模块,然后粘贴代码。
自定义函数的使用方法是:在空白单元格输入 =BezierInt(X坐标的范围,Y坐标的范围,待查的数值),函数就会返回一个包含六个元素的数组,分别是三个点的X,Y坐标。
如:根据 a1:a4的数值作为X值,b2:b4的数值作为Y值,画了一个平滑线散点图。想查找c1的数值是不是在这条曲线上。可以输入:
=Index(BezierInt(a1:a4,b1:b4,c1) ,1,1) 得到曲线上第一个 X值=C1数值的点的X坐标
=Index(BezierInt(a1:a4,b1:b4,c1) ,1,2) 得到曲线上第一个 X值=C1数值的点的Y坐标
=Index(BezierInt(a1:a4,b1:b4,c1) ,1,3) 得到第2个 X值=C1数值的点的X坐标
=Index(BezierInt(a1:a4,b1:b4,c1) ,1,4) 得到第2个 X值=C1数值的点的Y坐标
=Index(BezierInt(a1:a4,b1:b4,c1) ,1,5) 得到第3个 X值=C1数值的点的X坐标
=Index(BezierInt(a1:a4,b1:b4,c1) ,1,6) 得到第3个 X值=C1数值的点的Y坐标
如果有多段曲线上的点包含C1的数值,那么可以增加输入参数,指定从哪个节点开始查找
=Index(BezierInt(a1:a4,b1:b4,c1,3),1,1) 得到从第三组X-Y数据开始查找,返回第一个符合C1数值的点的X坐标 =Index( BezierInt(a1:a4,b1:b4,c1,3),1,2) 得到从第三组X-Y数据开始查找,返回第一个符合C1数值的点的Y坐标。
函数默认输入数值是X值,要根据Y值找点的话,还可以增加输入参数,指定输入的是Y值 =Index(BezierInt(a1:a4,b1:b4,c1,1,"Y"),1,1) 得到返回曲线上第一个 Y值=C1数值的点的X坐标。