技术中心
 
 

LabVIEW编程中如何实现集合函数

   日期:2012-08-15    

  LabVIEW的数组操作功能是非常强大的,除了数组函数选板中提供的函数之外,信号处理函数选板中的函数实际上也是在操作数组,但是并没有提供直接的集合函数。在MathScript中,LabVIEW提供了几个集合相关函数。

  下面我我将利用OPENG中的数组函数实现针对一维数组的集合函数,并利用MathScript对其进行验证。

  一、unique集合函数

  我首先要介绍的是unique函数。unique本意是唯一的意思,对输入的数组去掉重复的元素,形成新的数组,新数组中的所有元素都是唯一的,各不相同。

  OPENG中直接提供了这样的函数,函数名为“去除数组中的重复元素”。函数除了返回去除重复元素后的数组外,还同时返回了删除元素的索引。具体用法见下图。

  可以看出MathScript的Sets_unique函数对数组进行了排序而OPENG的“去除数组中的重复元素”函数并没用进行排序,依然保持原来的次序。

  二、Union集合函数

  Union集合函数实现的是两个集合的并集。对LabVIEW来说,是合并两个一维数组,并去除其中重复元素。具体用法见下图:

  在一、二中,我使用了OPENG中的“去除数组中重复元素”函数,该函数的程序框图如下图所示:

  该函数是通过搜索数组元素的方法实现的。首先构造一个相同类型的空数组,对于输入数组中的没一个元素,搜索构造的数组中是否存在该元素,如果不存在,则该元素进入构造的数组。

  三、intersect集合函数

  intersect集合函数返回两个集合的交集。对于两个一维数组,intersect函数返回两个数组中的公共元素。

  四、DIFF集合函数

  DIFF函数返回两个集合中去除公共部分余下的元素。OPENG中的“过滤一维数组”函数实现的正好是DIFF函数的功能,如下图所示:

  五、XOR集合函数

  XOR集合函数返回一个集合,该集合中的元素要么属于输入集合1,要么属于输入集合2.。对于LabVIEW中的两个一维数组,返回两个数组合并后去除公共元素后的数组。

  上面我利用OPENG中的数组函数实现了集合中的几个常用函数,显然MATHSCRIPT要方便的多。而且MATHSCRIPT中的集合函数一般都支持矩阵运算,因此对于二维数组同样适用。同时MATHSCRIPT已经支持RT结构,相信其用途会越来越广。

 
标签: LabVIEW 集合函数
  
  
  
  
 
更多>同类技术
 
全年征稿 / 资讯合作
 
推荐图文
推荐技术
可能喜欢