新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 學習LabVIEW(五)——反饋節點與迭代運算

        學習LabVIEW(五)——反饋節點與迭代運算

        作者: 時間:2017-01-09 來源:網絡 收藏
        有時候我們需要執行如下的迭代運算
        x = init();
        for i in range(30):
        x = f(x)
        print x

        我想了想,這種運算在G語言中大概可以利用反饋節點來實現。反饋節點的基本用法很簡單,把一個運算節點的輸出端通過反饋節點連到輸入端即可實現一個基本的迭代過程。
        迭代運算是一種非常常見的運算。比如之前在《學習LabVIEW(四)——MATLAB script節點》中提到的look and say序列,就可以利用迭代的方式,由序列的第一個元素出發,經過n次迭代,得到第n 1個元素的取值。著名的Python Challenge的Level10的通關口令正是look and say序列第31個元素所包含的數字的個數。之前我們是用Python來做的,見《xialulee大戰pythonchallenge——level10》?,F在有了feedback節點,我們也可以在LabVIEW中完成計算了。

        xialulee大戰pythonchallenge——level10(續):用LabVIEW Matlab通關
        這里使用迭代的方式計算look and say的元素,每一次迭代所使用的算法和之前一樣,是《快使用sort-diff-find組合技》中的sort-diff-find。具體的MATLAB代碼如下所示:


        為了計算第31個元素,需要進行30次循環,使用LabVIEW提供的循環結構即可。而為了實現迭代計算,將MATLAB script的輸出端口通過反饋節點連接至輸入端口,并將反饋節點初始化為為長度為1,元素值為1的數組,即可進行計算。待循環結束后,計算最終數組的長度,并將長度輸出到界面上的一個數值顯示控件即可。完整程序如下:


        程序的運行結果為:


        正是我們需要的結果。


        評論


        技術專區

        關閉
        主站蜘蛛池模板: 平顺县| 新源县| 西华县| 忻州市| 衡阳县| 孟村| 永兴县| 卢龙县| 遂平县| 会泽县| 和顺县| 云霄县| 洪江市| 许昌市| 潼南县| 南郑县| 定日县| 丹凤县| 沐川县| 丰顺县| 营口市| 榆社县| 托克逊县| 陕西省| 本溪| 桑植县| 曲阳县| 聂拉木县| 资中县| 襄汾县| 祁门县| 广安市| 泽普县| 孟津县| 咸阳市| 博乐市| 胶南市| 湘潭县| 焦作市| 清丰县| 涟源市|