新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > labview編程技巧-----如何過濾數組中的元素

        labview編程技巧-----如何過濾數組中的元素

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

          Labview編程技巧-----如何過濾數組中的元素

          有關過濾掉數組中0的問題,這實際上是過濾數組指定元素的問題,LABVIEW的基本數組操作并沒有提供相應的節點,處理這個問題是很有技巧的.

          LABVIEW內存操作的時候,對于數據量非常大的數組,如果處理不當地話,會極大影響程序的性能.

          OPENG中提供了非常好的處理節點,介紹如下:

          我的例子中利用斜坡函數生成一個0--127的自然數組(我用的是DBL),目的是過濾掉值等于1,3,5的元素,運行結果可以看出,135的元素的確被過濾掉了,同時也返回被過濾掉的元素的索引號INDICES

          我們跟蹤一下它的實現方法

          可以看出,它首先做的是在數組中搜索需要過濾的元素的索引號,并通過循環形成一個由索引號組成的數組.

          繼續跟蹤一下它的搜索實現的方法

          它不過是利用最基本的數組搜索函數,值得一提的是這個VI說明了如何連續搜索的方法,通過在循環中調用搜索VI,如果沒有符合條件的元素,搜索返回-1,否則返回元素的索引號(偏移量),這相當于C中的指針操作,并以該次索引作為下一次搜索的開始位置,這樣就實現了連續搜索.

          在看看得到索引號數組后,如何過濾這些元素.

          這個VI中可以看出它利用的是刪除數組元素的方法,這里的關鍵是必須從后往前刪除,否則如果從前向后刪除,則索引號的位置會發生變化.因此,對索引數組做了降序處理.



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 琼结县| 砚山县| 宁都县| 松滋市| 柘荣县| 墨竹工卡县| 自贡市| 滨海县| 宜章县| 措勤县| 琼结县| 鸡东县| 高邮市| 饶河县| 西城区| 河西区| 澄江县| 封开县| 马尔康县| 香格里拉县| 南郑县| 玉树县| 湾仔区| 郁南县| 临安市| 洛隆县| 新余市| 开远市| 如东县| 乐至县| 寿宁县| 武威市| 江山市| 江津市| 加查县| 岚皋县| 墨竹工卡县| 科技| 辛集市| 衢州市| 夏津县|