2017-01-06 247 views

回答

2

這做工作:

  • 排序數組
  • 查找0和削減陣列
  • 。減去旋轉陣列找到雙打(= 0)
  • 刪除雙打

Block Diagram

Front Panel

1

,除非有真正的效率的需要,我會拍的簡單性和可讀性:

  1. 排序數組
  2. 是有條件串聯終端
    1. 訂閱它變成一個for循環使用反饋節點獲取最後一個值
    2. 如果此值> 0且!=爲最後一個值,請將true發送到串聯終端。

你總是能和> 0,!=測試一起連線,直接串聯終端。

來自for循環的輸出數組將是您要查找的內容。

1

我喜歡Vivien使用Threshold 1D ArrayArray Subset刪除負值,但旋轉和刪除零之前的減法似乎不必要的複雜。下面是一個For循環,移位寄存器和有條件索引的解決方案:

LabVIEW 2014 VI snippet (drag and drop on the VI block diagram)

請注意,我們必須初始化移位的東西登記,否則會從以前的運行記數據,給不需要的行爲(反饋節點也是如此) - 所以我們確保第一個數組元素總是包含在內,確保初始化值不等於第一個元素。