學(xué)習(xí)LabVIEW(八)——用循環(huán)處理數(shù)組
從上圖看以看出,隧道有三種模式:最終值、索引、連接。配置不同的隧道模式,可以讓循環(huán)擁有不同的功能。索引模式的隧道表現(xiàn)為循環(huán)框上一個(gè)里面有一對(duì)中括號(hào)[]的小方框,最終值模式的隧道表現(xiàn)為實(shí)心的小方框。
- 如果輸入循環(huán)的數(shù)據(jù)為一個(gè)1D數(shù)組,經(jīng)過(guò)索引模式的隧道后的數(shù)據(jù)流就成了一個(gè)標(biāo)量,此時(shí)循環(huán)的作用為:用循環(huán)框內(nèi)的框圖處理數(shù)組中的每一個(gè)元素,這種感覺有點(diǎn)類似于MATLAB的arrayfun和Python的map,不同的是,我們可以在循環(huán)里使用移位寄存器來(lái)實(shí)現(xiàn)一個(gè)迭代的運(yùn)算。輸出端就是反過(guò)來(lái)的效果;
- 如果輸入循環(huán)的數(shù)據(jù)為一個(gè)2D數(shù)組,經(jīng)過(guò)索引模式的隧道后的數(shù)據(jù)流就成了一個(gè)1D數(shù)組,循環(huán)每次處理2D數(shù)組的一行(或是一列,我還沒有查清楚LabVIEW是Column-major還是Row-major)。輸出端就是反過(guò)來(lái)的效果。
上圖的程序中,算法部分嵌套了三層循環(huán)。最外層的循環(huán)用來(lái)把輸入的初始矩陣拆成一個(gè)一個(gè)的1D數(shù)組,中層的循環(huán)用來(lái)把1D數(shù)組拆成一個(gè)一個(gè)的標(biāo)量,在最內(nèi)層則是迭代算法,實(shí)現(xiàn)的計(jì)算如下所示:
z = 0
for k in range(128):
然后輸出k。
評(píng)論