新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > LabVIEW編程技巧——如何實現集合函數

        LabVIEW編程技巧——如何實現集合函數

        作者: 時間:2017-02-27 來源:網絡 收藏

          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結構,相信其用途會越來越廣。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 建阳市| 屏南县| 桐庐县| 渑池县| 兴国县| 宝清县| 沁水县| 北流市| 龙南县| 延津县| 谢通门县| 钟山县| 太谷县| 中超| 桦甸市| 包头市| 建昌县| 三江| 福泉市| 黎川县| 汾西县| 尼勒克县| 南雄市| 来安县| 绥滨县| 蒙自县| 东阿县| 元江| 凤阳县| 灵山县| 平泉县| 汝州市| 宁南县| 苗栗市| 登封市| 湛江市| 电白县| 兴仁县| 红原县| 绵阳市| 罗江县|