LabVIEW編程技巧之如何實現(xiàn)集合函數(shù)
下面我我將利用OPENG中的數(shù)組函數(shù)實現(xiàn)針對一維數(shù)組的集合函數(shù),并利用MathScript對其進(jìn)行驗證。
一、unique集合函數(shù)
我首先要介紹的是unique函數(shù)。unique本意是唯一的意思,對輸入的數(shù)組去掉重復(fù)的元素,形成新的數(shù)組,新數(shù)組中的所有元素都是唯一的,各不相同。
OPENG中直接提供了這樣的函數(shù),函數(shù)名為“去除數(shù)組中的重復(fù)元素”。函數(shù)除了返回去除重復(fù)元素后的數(shù)組外,還同時返回了刪除元素的索引。具體用法見下圖。
可以看出MathScript的Sets_unique函數(shù)對數(shù)組進(jìn)行了排序而OPENG的“去除數(shù)組中的重復(fù)元素”函數(shù)并沒用進(jìn)行排序,依然保持原來的次序。
二、Union集合函數(shù)
Union集合函數(shù)實現(xiàn)的是兩個集合的并集。對LABVIEW來說,是合并兩個一維數(shù)組,并去除其中重復(fù)元素。具體用法見下圖:
在一、二中,我使用了OPENG中的“去除數(shù)組中重復(fù)元素”函數(shù),該函數(shù)的程序框圖如下圖所示:
該函數(shù)是通過搜索數(shù)組元素的方法實現(xiàn)的。首先構(gòu)造一個相同類型的空數(shù)組,對于輸入數(shù)組中的沒一個元素,搜索構(gòu)造的數(shù)組中是否存在該元素,如果不存在,則該元素進(jìn)入構(gòu)造的數(shù)組。
評論