新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應用 > 學習LabVIEW(四)——MATLAB script節(jié)點

學習LabVIEW(四)——MATLAB script節(jié)點

作者: 時間:2017-01-09 來源:網(wǎng)絡(luò) 收藏
LabVIEW可以在程序中通過MATLAB script節(jié)點的方式實現(xiàn)G語言和MATLAB語言的混合編程,這是婦孺皆知的。大家都喜歡它,因為對于一些復雜的公式,用LabVIEW提供的運算節(jié)點在框圖中拖拖拽拽的確實不太方便。
MATLAB script節(jié)點插入到程序框圖之后,會有一個文本編輯區(qū)域,可以在其中編寫代碼,如下圖所示:

這個節(jié)點實際上對應了一個MATLAB Automation Server,該Server的Command Window在運行程序之后也會出現(xiàn)。
一個程序模塊想要發(fā)揮作用,必然會有輸入和輸出端口。我們可以通過MATLAB script節(jié)點的右鍵菜單進行配置,如下圖所示:


添加了端口之后需要指定名字,這個名字在MATLAB腳本中作為變量名來使用,如下圖所示

但是這樣還不能和LabVIEW其它節(jié)點的數(shù)據(jù)流對接。圖形語言怎么分類我不太清楚,但LabVIEW給我的感覺比較像Static Type Language,想要讓MATLAB script節(jié)點順利接入到LabVIEW框圖的數(shù)據(jù)流上,需要指定輸入/輸出端口的類型。在端口上點右鍵,選擇類型即可,如下圖所示:


作為練習,編寫了一個根據(jù)Look and Say序列第n個元素計算第n+1個元素的程序。什么是Look and Say序列?答案可以在https://en.wikipedia.org/wiki/Look-and-say_sequence找到。代碼中用到的算法可以參考《快使用sort-diff-find組合技》。程序框圖如下:

程序界面如下:


值得注意的是,在界面上添加數(shù)組控件之后,還要往數(shù)組控件里放入一個數(shù)值控件,表明這個數(shù)組是一個數(shù)值數(shù)組。所以說LabVIEW G語言有種Static Type的感覺。
看一下運行的效果:


由于MATLAB script節(jié)點中的MATLAB代碼都是在MATLAB的Automation Server中執(zhí)行的,因此我們可以在Server的Command Window中查看各個變量的值:


關(guān)鍵詞: LabVIEWMATLABscript節(jié)

評論


技術(shù)專區(qū)

關(guān)閉