石鑫华视觉 发表于 2015-1-6 11:02:47

LabVIEW中如何查找数组中与指定数最接近的数

LabVIEW中如何查找数组中与指定数最接近的数最原始的方法,就是一个一个的去比较,然后将其差值和位置寄存在移位寄存器中,然后再查找寄存器中得到数组的最小值。这里是本人想到的一种方法。首先是使用数组与指定的数相减,然后求绝对值(是为了去掉负数的影响),然后再使用OpenG中的一个排序函数进行排序,这样就可以得到最小值的位置了(在Sort Pointers中反馈位置信息)。OpenG中的一维数组排序函数其中就是将数组的索引号信息也添加进去了。当然对于排序,这个索引号肯定是要参与计算的,不然怎么得到位置呢?程序框图前面板效果(4.3与排在第4位的数字4最接近)演示效果(8.8与排在第7位的9最接近)注:LabVIEW中的位置是从0开始的,而不是常规的从1开始。

bettty008 发表于 2015-1-6 11:06:42

http://shixinhua.com工业相机、工业镜头、机器视觉光源、光源控制器、采集卡、图像处理、系统集成一站式服务。

bettty008 发表于 2015-1-6 11:17:39

我在想,能不能利用一维阈值数组?

石鑫华视觉 发表于 2015-1-6 11:47:34

bettty008 发表于 2015-1-6 11:17 static/image/common/back.gif
我在想,能不能利用一维阈值数组?


好像不行哟

bettty008 发表于 2015-1-6 14:12:59

这是我的做法

石鑫华视觉 发表于 2015-1-6 15:17:10

bettty008 发表于 2015-1-6 14:12 static/image/common/back.gif
这是我的做法

好像用一维数组就可以了。

mctrix 发表于 2015-1-6 17:04:34

如果这个与指定数最接近的数有多个呢?返回什么样的位置信息呢?

bettty008 发表于 2015-1-6 17:27:24

就是找差值最小的啊

石鑫华视觉 发表于 2015-1-6 17:31:42

mctrix 发表于 2015-1-6 17:04 static/image/common/back.gif
如果这个与指定数最接近的数有多个呢?返回什么样的位置信息呢?

返回首个,也可以做成返回所有,这个得再编程。

bettty008 发表于 2015-1-6 18:01:20

石鑫华视觉 发表于 2015-1-6 15:17 static/image/common/back.gif
好像用一维数组就可以了。

我这个是温度分度表,根据电阻值查相应的温度值,所以用了2维
页: [1]
查看完整版本: LabVIEW中如何查找数组中与指定数最接近的数

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24