上传者: hyqangel
|
上传时间:2023/3/14 16:12:13
|
文件大小:91KB
|
文件类型:xls
Excel画平滑曲线散点图的算法vba代码
让用户可以随时查找曲线上任意点的坐标(函数值)附件的.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坐标如此类推......
本软件ID:995403