第3章-數(shù)組、簇12_第1頁
第3章-數(shù)組、簇12_第2頁
第3章-數(shù)組、簇12_第3頁
第3章-數(shù)組、簇12_第4頁
第3章-數(shù)組、簇12_第5頁
已閱讀5頁,還剩80頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、 第第3 3章章 數(shù)組、簇數(shù)組、簇主要學習內(nèi)容主要學習內(nèi)容n 學習如何創(chuàng)建數(shù)組和初始化數(shù)組;學習如何創(chuàng)建數(shù)組和初始化數(shù)組;n 學習常用數(shù)組函數(shù)的使用;學習常用數(shù)組函數(shù)的使用;n 學習簇的創(chuàng)建;學習簇的創(chuàng)建;n 學習簇函數(shù)的使用。學習簇函數(shù)的使用。3.1 3.1 數(shù)組數(shù)組 n數(shù)組數(shù)組是相同類型數(shù)據(jù)元素的集合,這些元素可以是相同類型數(shù)據(jù)元素的集合,這些元素可以是是數(shù)值型、布爾型、字符串型數(shù)值型、布爾型、字符串型等各種類型。等各種類型。同一同一數(shù)組的各元素是同一類型。數(shù)組的各元素是同一類型。這些元素必須同時都這些元素必須同時都是控制件或同時都是指示件。是控制件或同時都是指示件。n數(shù)組可以是一維的,也

2、可以是多維的數(shù)組可以是一維的,也可以是多維的, ,每一維的每一維的元素個數(shù)最多達元素個數(shù)最多達2 23131-1-1(2121億)。億)。n對數(shù)組元素的訪問是通過索引進行的,元素的對數(shù)組元素的訪問是通過索引進行的,元素的索索引值從引值從0開始開始,最大索引值為最大索引值為n-1,其中n是數(shù)組中元素的個數(shù)。每一個數(shù)組元素有唯一的一個索每一個數(shù)組元素有唯一的一個索引值,通過索引可訪問每一個數(shù)組元素。引值,通過索引可訪問每一個數(shù)組元素。 數(shù)組數(shù)組是相同類型元素的是相同類型元素的集合。在集合。在LabVIEW中,數(shù)組中,數(shù)組可以隨意改變長度。可以隨意改變長度。舉例舉例n一個簡單的一維數(shù)組,在這個數(shù)組中

3、含有一個簡單的一維數(shù)組,在這個數(shù)組中含有5個個浮點型數(shù)據(jù)。在數(shù)組中第浮點型數(shù)據(jù)。在數(shù)組中第1個元素的索引值為個元素的索引值為0,第第2個元素的索引值為個元素的索引值為1,依次類推,最后一個,依次類推,最后一個元素的索引值是元素的索引值是4。 簡單的一維數(shù)組創(chuàng)建數(shù)組的方法創(chuàng)建數(shù)組的方法n在前面板創(chuàng)建數(shù)組控件在前面板創(chuàng)建數(shù)組控件n在框圖程序窗口中創(chuàng)建數(shù)組常量在框圖程序窗口中創(chuàng)建數(shù)組常量n其他創(chuàng)建數(shù)組的方式其他創(chuàng)建數(shù)組的方式n1在前面板創(chuàng)建數(shù)組控件在前面板創(chuàng)建數(shù)組控件n簡單來說,前面板創(chuàng)建數(shù)組控件可分為三步:簡單來說,前面板創(chuàng)建數(shù)組控件可分為三步:n1)創(chuàng)建數(shù)組框的空殼;(包括兩部分:索引框和創(chuàng)建數(shù)

4、組框的空殼;(包括兩部分:索引框和數(shù)據(jù))數(shù)據(jù))n2)2)向數(shù)組框架中添加向數(shù)組框架中添加“元素元素”,以確定數(shù)組元素,以確定數(shù)組元素的數(shù)據(jù)類型的數(shù)據(jù)類型;n3 3)以拖動方式操作,可確定數(shù)組的可視大小;)以拖動方式操作,可確定數(shù)組的可視大小;n4 4)為數(shù)組元素賦值。為數(shù)組元素賦值。n舉例說明舉例說明前面板 后面板n數(shù)組輸入控件數(shù)組輸入控件和和數(shù)組常量數(shù)組常量可作為可作為數(shù)據(jù)源數(shù)據(jù)源;數(shù)組數(shù)組顯示控件顯示控件則作為數(shù)據(jù)流動的目標容器則作為數(shù)據(jù)流動的目標容器。n 到達到達數(shù)組輸入控件框架數(shù)組輸入控件框架亦即亦即數(shù)組顯示控件數(shù)組顯示控件框架框架的路徑為的路徑為:(前)(前)控件選板控件選板-新式新

5、式-數(shù)組、數(shù)組、矩陣與簇矩陣與簇-數(shù)組數(shù)組;而而數(shù)組常量框架(后面板)數(shù)組常量框架(后面板),經(jīng)經(jīng)函數(shù)選板函數(shù)選板 - - 編程編程 - -數(shù)組數(shù)組 - - 數(shù)組常量數(shù)組常量找找到到。下圖顯示了在數(shù)組框放入字符串常量數(shù)組下圖顯示了在數(shù)組框放入字符串常量數(shù)組的例子。左邊是一個數(shù)組殼,中間的圖上已經(jīng)的例子。左邊是一個數(shù)組殼,中間的圖上已經(jīng)置入了字符串元素,右邊的圖反映了數(shù)組的第置入了字符串元素,右邊的圖反映了數(shù)組的第個元素為:個元素為:”ABC”,后兩個元素均為空。,后兩個元素均為空。圖2數(shù)組的創(chuàng)建n在前面板中創(chuàng)建數(shù)組的方法是,在前面板中創(chuàng)建數(shù)組的方法是,(前)(前)控件選控件選板板-新式新式-數(shù)

6、組、矩陣與簇數(shù)組、矩陣與簇-數(shù)組數(shù)組;,把數(shù)組,把數(shù)組放置在前面板中,然后選擇一個對象(例如數(shù)放置在前面板中,然后選擇一個對象(例如數(shù)值常量)插入到數(shù)組框中。這樣就創(chuàng)建了一個值常量)插入到數(shù)組框中。這樣就創(chuàng)建了一個數(shù)值數(shù)組。數(shù)值數(shù)組。n也可以直接在前面板中創(chuàng)建數(shù)組和相應的控制也可以直接在前面板中創(chuàng)建數(shù)組和相應的控制對象,然后將它們復制或者拖曳到流程圖中,對象,然后將它們復制或者拖曳到流程圖中,創(chuàng)建對應的常數(shù)。創(chuàng)建對應的常數(shù)。創(chuàng)建一個多維數(shù)組創(chuàng)建一個多維數(shù)組有兩種方法:有兩種方法:n一是在一是在索引框上右鍵彈出菜單選擇索引框上右鍵彈出菜單選擇n“添加維度添加維度”。同樣要減少數(shù)組維數(shù),同樣要減少

7、數(shù)組維數(shù),n在右鍵彈出菜單中選擇在右鍵彈出菜單中選擇“刪除唯度刪除唯度”即可。即可。n二是利二是利用定位工具通過拖動數(shù)組索引用定位工具通過拖動數(shù)組索引n邊緣的方法來實現(xiàn)。邊緣的方法來實現(xiàn)。將鼠標置于數(shù)組將鼠標置于數(shù)組n索引框上時,將出現(xiàn)索引框上時,將出現(xiàn)8個小方框,用個小方框,用n鼠標拖動方框改變索引框大小就可以鼠標拖動方框改變索引框大小就可以n改變數(shù)組維數(shù)。改變數(shù)組維數(shù)。n二維數(shù)組需要兩個索引:行索引和列索引。二維數(shù)組需要兩個索引:行索引和列索引。n三維數(shù)組需要三維數(shù)組需要3個索引;個索引;nn維數(shù)組需要維數(shù)組需要n個索引。個索引。數(shù)組元素數(shù)目的改變n1)以拖動方式操作,可確定數(shù)組的可視)以

8、拖動方式操作,可確定數(shù)組的可視大小;大小;n2)給數(shù)組賦值(指定具體元素)。)給數(shù)組賦值(指定具體元素)。改 變 元改 變 元素大小素大小同 時 顯 示同 時 顯 示多個元素多個元素n 所建的數(shù)組從外觀看,所建的數(shù)組從外觀看,數(shù)組元素均呈暗灰色數(shù)組元素均呈暗灰色,表表明尚末對數(shù)組控件中的元素進行定義明尚末對數(shù)組控件中的元素進行定義。數(shù)組類型確。數(shù)組類型確定后,還需通過索引對數(shù)組元素進行賦值。若數(shù)組定后,還需通過索引對數(shù)組元素進行賦值。若數(shù)組元素各不相同,使用操作工具,逐個索引數(shù)組元素,元素各不相同,使用操作工具,逐個索引數(shù)組元素,對它們分別進行賦值。對它們分別進行賦值。2在框圖程序窗口中創(chuàng)建數(shù)

9、組常量在框圖程序窗口中創(chuàng)建數(shù)組常量n在框圖程序窗口中創(chuàng)建數(shù)組常量最一般的方法類在框圖程序窗口中創(chuàng)建數(shù)組常量最一般的方法類似于在前面板上創(chuàng)建數(shù)組。似于在前面板上創(chuàng)建數(shù)組。n從從函數(shù)選板函數(shù)選板 - - 編程編程 - -數(shù)組數(shù)組 - - 數(shù)組常量數(shù)組常量找到找到,將其放置在框圖程序中;將其放置在框圖程序中;n選擇數(shù)據(jù)常量對象(如數(shù)值常數(shù)、布爾常數(shù)或字選擇數(shù)據(jù)常量對象(如數(shù)值常數(shù)、布爾常數(shù)或字符串常數(shù)放置入數(shù)組框中;符串常數(shù)放置入數(shù)組框中;n 為數(shù)組元素賦值。為數(shù)組元素賦值。3) 其他創(chuàng)建數(shù)組的方式其他創(chuàng)建數(shù)組的方式(1) 利用數(shù)組函數(shù)可以創(chuàng)建數(shù)組,如使用利用數(shù)組函數(shù)可以創(chuàng)建數(shù)組,如使用String

10、 to Byte Array功能函數(shù)將字符串轉化功能函數(shù)將字符串轉化為單字節(jié)整型數(shù)組;為單字節(jié)整型數(shù)組;n n(2)某些)某些VI的輸出參數(shù)是數(shù)組;的輸出參數(shù)是數(shù)組;n(3)利用程序結構產(chǎn)生數(shù)組,如循環(huán)的自動)利用程序結構產(chǎn)生數(shù)組,如循環(huán)的自動索引。索引。3.1.2 3.1.2 利用循環(huán)的自動索引功能創(chuàng)建數(shù)組利用循環(huán)的自動索引功能創(chuàng)建數(shù)組n For Loop和和While Loop結構都支持自動索引結構都支持自動索引的功能,所以都可以在它們的邊界自動索引數(shù)組或的功能,所以都可以在它們的邊界自動索引數(shù)組或積聚數(shù)組。積聚數(shù)組。n 若循環(huán)自動索引功能打開,當將一個外部任意若循環(huán)自動索引功能打開,當將

11、一個外部任意維數(shù)的數(shù)組源與循環(huán)圖框的輸入通道連接時,則從維數(shù)的數(shù)組源與循環(huán)圖框的輸入通道連接時,則從第一個數(shù)組元素開始,一次索引一個元素進入循環(huán)第一個數(shù)組元素開始,一次索引一個元素進入循環(huán)體,即體,即循環(huán)體將與輸入通道連接的二維數(shù)組索引為循環(huán)體將與輸入通道連接的二維數(shù)組索引為一維數(shù)組一維數(shù)組,將一維數(shù)組索引為單位標量元素。,將一維數(shù)組索引為單位標量元素。n 在循環(huán)邊框的輸出通道則執(zhí)行相反的操作。在循環(huán)邊框的輸出通道則執(zhí)行相反的操作。 例3.1 利用For Loop創(chuàng)建一維數(shù)組。n每一次循環(huán)產(chǎn)生一個新的數(shù)組元素,循環(huán)結束每一次循環(huán)產(chǎn)生一個新的數(shù)組元素,循環(huán)結束以后,產(chǎn)生一個含有以后,產(chǎn)生一個含有

12、5個元素的一維數(shù)組,數(shù)個元素的一維數(shù)組,數(shù)組自動傳輸?shù)街甘酒?。(若自動索引的功能關組自動傳輸?shù)街甘酒鳌#ㄈ糇詣铀饕墓δ荜P閉,讀者自己比較結果)閉,讀者自己比較結果) 例3.2 利用For Loop創(chuàng)建二維數(shù)組。n使用兩個使用兩個For循環(huán),把其中一個循環(huán)嵌套在另循環(huán),把其中一個循環(huán)嵌套在另一個循環(huán)之中,可以生成一個二維數(shù)組。外層一個循環(huán)之中,可以生成一個二維數(shù)組。外層循環(huán)產(chǎn)生行元素,而內(nèi)層產(chǎn)生列元素。如圖,循環(huán)產(chǎn)生行元素,而內(nèi)層產(chǎn)生列元素。如圖,兩個兩個For Loop自動索引一個自動索引一個3行行4列的二維數(shù)列的二維數(shù)組的框圖程序和前面板。組的框圖程序和前面板。例3.3 利用自動索引計算數(shù)

13、組元素的平方和。 在框圖程序中將一個一維數(shù)組(在框圖程序中將一個一維數(shù)組(5個元素)與自動索引有效個元素)與自動索引有效的的For Loop左邊框連接(此時邊界上的小方塊是空心的),左邊框連接(此時邊界上的小方塊是空心的),并在循環(huán)邊界創(chuàng)建并在循環(huán)邊界創(chuàng)建一對移位寄存器一對移位寄存器。利用循環(huán)的自動索引特。利用循環(huán)的自動索引特性,在循環(huán)過程中將數(shù)組元素逐個引入框內(nèi),通過移位寄存性,在循環(huán)過程中將數(shù)組元素逐個引入框內(nèi),通過移位寄存器對引入的數(shù)組元素逐次執(zhí)行累加和運算,循環(huán)次數(shù)取決于器對引入的數(shù)組元素逐次執(zhí)行累加和運算,循環(huán)次數(shù)取決于輸入的數(shù)組元素個數(shù)。輸入的數(shù)組元素個數(shù)。設置移位寄存器的初始值為

14、設置移位寄存器的初始值為0 。3.1.3 數(shù)組函數(shù)nLabVIEW在數(shù)在數(shù)組函數(shù)子選板組函數(shù)子選板中給出了大量中給出了大量的數(shù)組處理函的數(shù)組處理函數(shù),數(shù)組函數(shù)數(shù),數(shù)組函數(shù)子選板如圖子選板如圖 1數(shù)組大小函數(shù)數(shù)組大小函數(shù)Array Sizen用于訪問數(shù)組的大小用于訪問數(shù)組的大小。路徑:函數(shù)選板路徑:函數(shù)選板-編程編程-數(shù)組子選板數(shù)組子選板其輸入其輸入“數(shù)組數(shù)組”,可是任意維的數(shù)組;輸出,可是任意維的數(shù)組;輸出“大大小小”,提供,提供該數(shù)組各維的長度該數(shù)組各維的長度。如果輸入。如果輸入“數(shù)數(shù)組組” 是一維的,輸出是一維的,輸出“大小大小” 便給出一個整便給出一個整數(shù)值;若輸入數(shù)值;若輸入“數(shù)組數(shù)組

15、”是多維的是多維的,則輸出,則輸出“大大小小” 提供的(也稱返回的)就是提供的(也稱返回的)就是1個一維的整個一維的整型型數(shù)組,其每個分量對應輸入數(shù)組中相應維的數(shù)組,其每個分量對應輸入數(shù)組中相應維的長度。長度。 n 例例3.4 Array Size函n數(shù)的使用。n(一維數(shù)組和二維數(shù)組)1數(shù)組大小函數(shù)數(shù)組大小函數(shù)Array Size:行 列2索引數(shù)組函數(shù)索引數(shù)組函數(shù)Index Arrayn用于訪問數(shù)組中指定位置的元素。訪問數(shù)組中指定位置的元素。路徑:路徑:“函數(shù)函數(shù)”選板選板-“編程編程”-“數(shù)組數(shù)組”子選板子選板 例例3.5 Index Array函數(shù)的使用。訪問一維數(shù)組索引值為2的數(shù)組元素

16、Indx Arrayn當連接二維數(shù)組時,它的索引端口自動變?yōu)楫斶B接二維數(shù)組時,它的索引端口自動變?yōu)?個,個,上面一個是上面一個是行索引行索引index(row),下面一個是,下面一個是列索列索引引disabled index(col)。列索引默認為不索引,。列索引默認為不索引,所以端口形狀為空心的。假如給這個端口連接一個所以端口形狀為空心的。假如給這個端口連接一個索引值,端口形狀自動變?yōu)閷嵭牡摹K饕?,端口形狀自動變?yōu)閷嵭牡摹連線完成后,哪一個索引值不連線就自動成為空心連線完成后,哪一個索引值不連線就自動成為空心的不索引狀態(tài)。的不索引狀態(tài)。行或列有一項不索引,那么二維數(shù)行或列有一項不索引,那

17、么二維數(shù)組就只能索引出一維數(shù)組,相應的輸出參數(shù)也變?yōu)榻M就只能索引出一維數(shù)組,相應的輸出參數(shù)也變?yōu)閟ubarray。nIndex Array函數(shù)允許多次索引,也就可以由多個函數(shù)允許多次索引,也就可以由多個輸出參數(shù)。輸出參數(shù)。索引二維數(shù)組時:索引二維數(shù)組時:n訪問訪問2維數(shù)組中行索引號為維數(shù)組中行索引號為2、列索引號為、列索引號為1的元的元素;以及行索引號為素;以及行索引號為3、列索引號為、列索引號為0的元素。的元素。 3替換數(shù)組元素函數(shù)替換數(shù)組元素函數(shù)Replace Array用于替換定位后的元素用于替換定位后的元素。路徑:路徑:“函數(shù)函數(shù)”選板選板 - “編程編程” - “數(shù)組數(shù)組”子選板子選

18、板 n例例3.6 Replace Array Subset函數(shù)的使用。函數(shù)的使用。 用此函數(shù)將原來數(shù)組的第用此函數(shù)將原來數(shù)組的第2行替換為新的元素,行替換為新的元素,新元素為(新元素為(1,2,3,4),將第),將第3行第行第3列的列的元素元素33替換為替換為100。4插入數(shù)組函數(shù)插入數(shù)組函數(shù)Insert Into Arrayn 在原數(shù)組的指定位置插入若干行或若干列的在原數(shù)組的指定位置插入若干行或若干列的數(shù)據(jù)。數(shù)據(jù)。這個位置由函數(shù)提供的索引行或索引列數(shù)這個位置由函數(shù)提供的索引行或索引列數(shù)據(jù)端口提供,被插入的數(shù)據(jù)由據(jù)端口提供,被插入的數(shù)據(jù)由new element/subarray數(shù)據(jù)端口定義。數(shù)

19、據(jù)端口定義。n例例3.7 Insert Into Array函數(shù)的使用。函數(shù)的使用。 1)在原數(shù)組的第)在原數(shù)組的第1行插入行插入1行新元素,新元行新元素,新元素為素為4個個0組成的一組成的一維數(shù)組;維數(shù)組;2)在原數(shù)組的第)在原數(shù)組的第1行插入行插入2行新元素。行新元素。 5數(shù)組中刪除元素函數(shù)數(shù)組中刪除元素函數(shù)Delete From Arrayn用來從一個數(shù)組中刪除一些元素用來從一個數(shù)組中刪除一些元素。其中。其中n參數(shù)長度(參數(shù)長度(length)用于確定刪除行或者列的數(shù))用于確定刪除行或者列的數(shù)量參數(shù);量參數(shù);nindex(row)和和index(col)用來確定被刪除的行用來確定被刪除的

20、行或列的位置;或列的位置;n輸出數(shù)據(jù)端口分別對應于刪除后的數(shù)組和被刪除輸出數(shù)據(jù)端口分別對應于刪除后的數(shù)組和被刪除的部分。的部分。 例3.8 Delete From Array函數(shù)的使用。n將原數(shù)組將原數(shù)組的第的第0列刪列刪除。除。 6初始化數(shù)組初始化數(shù)組Initialize Array用于用于創(chuàng)建一個所有元素全部相同的數(shù)組創(chuàng)建一個所有元素全部相同的數(shù)組。 路徑:路徑: “函數(shù)函數(shù)”選板選板 -“編程編程” - “數(shù)組數(shù)組”子子選板選板函數(shù)函數(shù)元素(元素(element)端的輸入?yún)?shù)定義了數(shù)組)端的輸入?yún)?shù)定義了數(shù)組的類型,并且為每一個元素初始化為相同數(shù)值,的類型,并且為每一個元素初始化為相同數(shù)

21、值,數(shù)組長度由數(shù)組長度由維數(shù)大?。ňS數(shù)大小(Dimension Size)決)決定,為了創(chuàng)建和初始化多維數(shù)組,選擇定,為了創(chuàng)建和初始化多維數(shù)組,選擇添加維添加維度(度(Add Dimension )或使用或使用位置工具向下位置工具向下拖動節(jié)點一角拖動節(jié)點一角。 功能:功能:創(chuàng)建創(chuàng)建n維數(shù)組。每一維的長度,分別由維數(shù)組。每一維的長度,分別由“維數(shù)大小維數(shù)大小 0”“維數(shù)大小維數(shù)大小n-1”這這n個輸入端輸入的數(shù)個輸入端輸入的數(shù)值確值確定。剛創(chuàng)建成僅一維,拖曳其圖標下邊框,可定。剛創(chuàng)建成僅一維,拖曳其圖標下邊框,可增加輸入端子數(shù),從而創(chuàng)建多維數(shù)組;且數(shù)組剛創(chuàng)增加輸入端子數(shù),從而創(chuàng)建多維數(shù)組;且數(shù)組

22、剛創(chuàng)建成時,其每個元素的值均與建成時,其每個元素的值均與“元素元素”端子輸入的端子輸入的值值相同。相同。6初始化數(shù)組初始化數(shù)組Initialize Array例3.9 Initialize Array函數(shù)的使用。一維數(shù)組二維數(shù)組7構建數(shù)組函數(shù)構建數(shù)組函數(shù)Build Arrayn 完成用數(shù)據(jù)成員構建數(shù)組的過程,這個函完成用數(shù)據(jù)成員構建數(shù)組的過程,這個函數(shù)不僅可以構建一維數(shù)組和多維數(shù)組,而且可數(shù)不僅可以構建一維數(shù)組和多維數(shù)組,而且可以拼接數(shù)組以拼接數(shù)組(注意函數(shù)的每個輸入只能是標量注意函數(shù)的每個輸入只能是標量和數(shù)組和數(shù)組)。n 在創(chuàng)建數(shù)組(在創(chuàng)建數(shù)組(Build Array)函數(shù)創(chuàng)建之初,)函數(shù)創(chuàng)

23、建之初,只帶有一個標量輸出端,要添加更多的輸入,只帶有一個標量輸出端,要添加更多的輸入,可在函數(shù)左側彈出菜單可在函數(shù)左側彈出菜單選擇添加輸入(選擇添加輸入(Add Input)項,或是項,或是用位置工具向下拖動節(jié)點的用位置工具向下拖動節(jié)點的一角一角,添加所需要數(shù)量的輸入。刪除的方法類,添加所需要數(shù)量的輸入。刪除的方法類似。似。 路徑:路徑:“函數(shù)函數(shù)”選板選板 - “- “編程編程” - “- “數(shù)組數(shù)組”子選板子選板 功能:功能:1 1)將若干個輸入數(shù)組即將若干個輸入數(shù)組即“數(shù)組數(shù)組”與與“元素元素”組合成一組合成一個數(shù)組。該函數(shù)圖標上彈出的快捷菜單中有個數(shù)組。該函數(shù)圖標上彈出的快捷菜單中有

24、“連接輸入連接輸入corcatenate inputs”corcatenate inputs”選項選項 ,當它被選中時,該函數(shù)輸出端會提,當它被選中時,該函數(shù)輸出端會提供將所有輸入連接在一起的結果,此輸出數(shù)組的維數(shù),與所有輸供將所有輸入連接在一起的結果,此輸出數(shù)組的維數(shù),與所有輸入中的最高維數(shù)相同;入中的最高維數(shù)相同;該選項該選項被關閉,所有輸入的維數(shù)必須相同,被關閉,所有輸入的維數(shù)必須相同,該函數(shù)輸出的數(shù)組比輸入(數(shù)組)高一維;若所有輸入均為標量,該函數(shù)輸出的數(shù)組比輸入(數(shù)組)高一維;若所有輸入均為標量, “連接輸入連接輸入”選項被自動關閉,函數(shù)輸出一維數(shù)組,按順序輸出選項被自動關閉,函數(shù)輸

25、出一維數(shù)組,按順序輸出所有輸入的參數(shù)(作為它的元素)。所有輸入的參數(shù)(作為它的元素)。 拖曳下邊框可增拖曳下邊框可增加輸入端子。加輸入端子。7構建數(shù)組函數(shù)構建數(shù)組函數(shù)Build Arrayn2)在該函數(shù)上右鍵彈出菜單選擇)在該函數(shù)上右鍵彈出菜單選擇連接輸入連接輸入Concatenate Inputs項項,則函數(shù)會將兩個數(shù),則函數(shù)會將兩個數(shù)組按輸入順序合并成一個一維數(shù)組輸出。另外組按輸入順序合并成一個一維數(shù)組輸出。另外注意注意框圖程序中兩種不同輸出時函數(shù)圖標及輸框圖程序中兩種不同輸出時函數(shù)圖標及輸出連線的區(qū)別出連線的區(qū)別。n構建數(shù)組函數(shù)輸構建數(shù)組函數(shù)輸n入端口功能的轉換如圖。入端口功能的轉換如圖

26、。例3.10 構建數(shù)組函數(shù)的使用。n分別用一個元素構成一個一維數(shù)組分別用一個元素構成一個一維數(shù)組(a)、用兩個元、用兩個元素構成一維數(shù)組素構成一維數(shù)組(b)、(a)(b)(c)(d)n用兩個一維數(shù)組構成一個二維數(shù)組用兩個一維數(shù)組構成一個二維數(shù)組(c)、n用兩個一維數(shù)組拼接成一個新的一維數(shù)組用兩個一維數(shù)組拼接成一個新的一維數(shù)組(d)。 用于用于從一個數(shù)組中提取出維數(shù)與它相等或比它少的從一個數(shù)組中提取出維數(shù)與它相等或比它少的一個數(shù)組。一個數(shù)組。路徑:路徑:“函數(shù)函數(shù)”選板選板 - “- “編程編程” - - “數(shù)組數(shù)組”子選板子選板 功能:功能:輸出(返回)輸入的數(shù)組中從輸出(返回)輸入的數(shù)組中從

27、“索引索引”參數(shù)參數(shù)指定的指定的位置開始、由位置開始、由“長度長度”參數(shù)指定長度的數(shù)組子集。每個參數(shù)指定長度的數(shù)組子集。每個“索引索引”與與一個一個“長度長度”構成一對;構成一對;“索引索引-長度長度”對對的數(shù)目與輸入?yún)?shù)的數(shù)目與輸入?yún)?shù)“索引索引”的的維數(shù)相同;輸出維數(shù)相同;輸出“子數(shù)組子數(shù)組”的維數(shù),也與的維數(shù),也與“數(shù)組數(shù)組”的維數(shù)的維數(shù)相同。相同。 8提取子數(shù)組函數(shù)提取子數(shù)組函數(shù)Array Subset8提取子數(shù)組函數(shù)提取子數(shù)組函數(shù)Array Subset 例例3.11 提取子數(shù)組函數(shù)的使用。提取子數(shù)組函數(shù)的使用。數(shù)組函數(shù)應用 從一個二維數(shù)組中取出一部分元素。從一個二維數(shù)組中取出一部分

28、元素。 前面板和程序框圖前面板和程序框圖 9 9一維數(shù)組操作函數(shù)一維數(shù)組操作函數(shù) n 輪轉(循環(huán))一維函數(shù)輪轉(循環(huán))一維函數(shù)Rotate 1D Array 根據(jù)輸入的輪轉系數(shù)根據(jù)輸入的輪轉系數(shù)n重新排列一維數(shù)組元素。重新排列一維數(shù)組元素。若若n為正數(shù)為正數(shù),將數(shù)組,將數(shù)組最后面的最后面的n個元素輪個元素輪轉到最前面;轉到最前面;若若n為負數(shù)為負數(shù),將數(shù)組,將數(shù)組最前面最前面的的n個元素輪轉到最后面。個元素輪轉到最后面。 n 倒置倒置 (反轉反轉)一維數(shù)組一維數(shù)組Reverse 1D Array 將一維數(shù)組將一維數(shù)組所有元素的順序首尾顛倒所有元素的順序首尾顛倒。n查找(搜索)一維數(shù)組查找(搜索

29、)一維數(shù)組Search 1D Array 在一維數(shù)組中從在一維數(shù)組中從開始索引開始索引(start index)指)指定的位置開始尋找定的位置開始尋找元素元素(element)參數(shù)指定)參數(shù)指定的元素。找到了就返回它的索引值,找不到就的元素。找到了就返回它的索引值,找不到就返回返回1。 n 分離一維數(shù)組分離一維數(shù)組Split 1D Array 將一維數(shù)組將一維數(shù)組由索引參數(shù)由索引參數(shù)指定的位置指定的位置開始分開始分離為兩個子數(shù)組。離為兩個子數(shù)組。 n一維數(shù)組排序一維數(shù)組排序Sort 1D Array 將一維數(shù)組將一維數(shù)組按升序按升序排列。排列。 1010數(shù)組極值函數(shù)數(shù)組極值函數(shù)Array Ma

30、x & MinArray Max & Minn該函數(shù)該函數(shù)從一個數(shù)組中找到最大值和最小值,以及從一個數(shù)組中找到最大值和最小值,以及它們的位置索引值它們的位置索引值。如果有多個相同的極值就給。如果有多個相同的極值就給出最前面一個索引值。出最前面一個索引值。n例例3.12 數(shù)組極值函數(shù)的使用。求一個含有數(shù)組極值函數(shù)的使用。求一個含有5個個元素的一維數(shù)組的極大值和極小值。元素的一維數(shù)組的極大值和極小值。 3.2 3.2 簇(簇(ClustersClusters)n簇是一種數(shù)據(jù)結構簇是一種數(shù)據(jù)結構,一個簇就是一個,一個簇就是一個由若干由若干不同數(shù)不同數(shù)據(jù)類型據(jù)類型的元素組成的集合體,的元素組成的集合體

31、,類似于類似于C語言中的結語言中的結構體,可以把簇想象成一束電纜,在電纜中的每一構體,可以把簇想象成一束電纜,在電纜中的每一根導線就是簇中的一個不同的數(shù)據(jù)元素。根導線就是簇中的一個不同的數(shù)據(jù)元素。n簇的簇的成員可以是任意的數(shù)據(jù)類型成員可以是任意的數(shù)據(jù)類型,但數(shù)組,但數(shù)組必須同時必須同時都是控制件或同時都是指示件都是控制件或同時都是指示件。n簇的成員有一種簇的成員有一種邏輯上的順序邏輯上的順序這是這是由它們放進簇的由它們放進簇的先后順序先后順序決定的,與它們在簇中的擺放位置無關。決定的,與它們在簇中的擺放位置無關。 使用簇的好處使用簇的好處n1把框圖程序中不同位置,不同數(shù)據(jù)類型的把框圖程序中不同

32、位置,不同數(shù)據(jù)類型的多個數(shù)據(jù)組合在一起,減少了連線,簡化了流多個數(shù)據(jù)組合在一起,減少了連線,簡化了流程;程;n2子程序有多個不同數(shù)據(jù)類型的參數(shù)輸入輸子程序有多個不同數(shù)據(jù)類型的參數(shù)輸入輸出時,把它們組合成一個簇,可以減少連接板出時,把它們組合成一個簇,可以減少連接板上端口的數(shù)量;上端口的數(shù)量;n3某些控件和函數(shù)必須使用簇這樣的數(shù)據(jù)類某些控件和函數(shù)必須使用簇這樣的數(shù)據(jù)類型參數(shù)。型參數(shù)。簇簇簇(簇(ClusterCluster)的創(chuàng)建)的創(chuàng)建a a)創(chuàng)建簇框架;)創(chuàng)建簇框架;b b)向簇框架中添加元素;)向簇框架中添加元素;c c)拖動確定簇的可視大小。)拖動確定簇的可視大小。 簇可以包含簇可以包含

33、任意數(shù)目、任任意數(shù)目、任意類型意類型的元素。簇不能在運行的元素。簇不能在運行時添加新元素(而數(shù)組的長度時添加新元素(而數(shù)組的長度在運行時可以自由改變)。簇在運行時可以自由改變)。簇類似于類似于C C語言中的結構語言中的結構(structurestructure)。)。 簇與數(shù)組最明顯的區(qū)別是,簇與數(shù)組最明顯的區(qū)別是,一個簇中的所有元素,不必同一個簇中的所有元素,不必同時為輸入控件、顯示控件或常時為輸入控件、顯示控件或常量。但數(shù)組則不然。量。但數(shù)組則不然。3.2.1簇的創(chuàng)建簇的創(chuàng)建1在前面板創(chuàng)建簇;(演示)在前面板創(chuàng)建簇;(演示)1.1.簇的創(chuàng)建簇的創(chuàng)建 (2)可向其中再放入其他數(shù)據(jù)類型的可向其

34、中再放入其他數(shù)據(jù)類型的“輸入控件元素輸入控件元素”。以構建一個簇控件、僅放入一個數(shù)值以構建一個簇控件、僅放入一個數(shù)值輸入控件的情況為例。輸入控件的情況為例。簇元素只能簇元素只能同時為控制件或指示件同時為控制件或指示件,但可以是不同的類型。但可以是不同的類型。2.2.簇元素的順序簇元素的順序 在簇中,元素有一定的排在簇中,元素有一定的排列順序,該順序即為創(chuàng)建該簇列順序,該順序即為創(chuàng)建該簇時添加元素的順序。時添加元素的順序。簇元素的簇元素的排列順序很重要,是完成很多排列順序很重要,是完成很多操作的依據(jù)。操作的依據(jù)。 改變簇中元素的排序:改變簇中元素的排序:在簇框架上彈出快捷菜單,在簇框架上彈出快捷

35、菜單,選擇選擇“重新排序簇中控件重新排序簇中控件”,即即打開了簇元素順序編輯狀打開了簇元素順序編輯狀態(tài)。簇元素上有兩個序號,態(tài)。簇元素上有兩個序號,左側反顯的為新序號;右側左側反顯的為新序號;右側加灰的是舊序號加灰的是舊序號。單擊簇元單擊簇元素之一,將把該元素設置為素之一,將把該元素設置為第第0號號元素;對其他重復此過元素;對其他重復此過程,直到改好所有元素的順程,直到改好所有元素的順序,點擊上方工具欄序,點擊上方工具欄OK按鈕,按鈕,確認所做修改。確認所做修改。 在簇邊框上彈出快捷菜在簇邊框上彈出快捷菜單,選單,選“自動調(diào)整大小自動調(diào)整大小”子子菜單菜單,可實現(xiàn)左圖所示的所,可實現(xiàn)左圖所示的

36、所需操作。需操作。 n3 3用簇函數(shù)創(chuàng)建簇。用簇函數(shù)創(chuàng)建簇。簇的使用簇的使用2在框圖程序創(chuàng)建中在框圖程序創(chuàng)建中創(chuàng)建簇常量;創(chuàng)建簇常量;(演演 示)示)3.2.2 3.2.2 簇函數(shù)簇函數(shù) 1 1簇解包函數(shù)簇解包函數(shù)UnbundleUnbundle Unbundle函數(shù)用于從簇中提取單個元函數(shù)用于從簇中提取單個元素值,輸出元素按在簇中編號順序從上素值,輸出元素按在簇中編號順序從上到下依次排列。到下依次排列。 例例3.153.15 訪問簇中各個元素值。n在前面板創(chuàng)建了一個包含在前面板創(chuàng)建了一個包含3個控件的簇對象,在框個控件的簇對象,在框圖程序窗口中圖程序窗口中解除捆綁(解除捆綁(Unbundle

37、)函數(shù)剛放入函數(shù)剛放入時,有一個輸入端口和兩個輸出端口,當將簇端子時,有一個輸入端口和兩個輸出端口,當將簇端子與與Unbundle函數(shù)輸入端連接,該函數(shù)輸出端口自函數(shù)輸入端連接,該函數(shù)輸出端口自動與簇元素匹配,在函數(shù)的各動與簇元素匹配,在函數(shù)的各Component輸出端輸出端口口右鍵彈出菜單,選擇創(chuàng)建右鍵彈出菜單,選擇創(chuàng)建-指示控件(指示控件(Create Indicator),可將各個元素解包出來送前面板顯示??蓪⒏鱾€元素解包出來送前面板顯示。2 2合成簇函數(shù)合成簇函數(shù)BundleBundlenBundleBundle函數(shù)有兩個基本用法:函數(shù)有兩個基本用法:n1 1)可以將各個不同數(shù)據(jù)類型的

38、數(shù)據(jù)組成一個簇;可以將各個不同數(shù)據(jù)類型的數(shù)據(jù)組成一個簇;n2)或者修改給定簇中的某一個元素值。)或者修改給定簇中的某一個元素值。n 捆綁簇(捆綁簇(Bundle)函數(shù)中函數(shù)中元素元素端口的個數(shù)可端口的個數(shù)可以增加或者刪除,以增加或者刪除,方法是用位置工具向下拖動節(jié)點方法是用位置工具向下拖動節(jié)點一角或在節(jié)點左側彈出菜單選擇添加元素或刪除元一角或在節(jié)點左側彈出菜單選擇添加元素或刪除元n素素。但其個數(shù)必須。但其個數(shù)必須n與簇中元素的個數(shù)與簇中元素的個數(shù)n一致。一致。例3.16 Bundle函數(shù)的使用。n在前面板放置一個字符串控制件和兩個數(shù)值型在前面板放置一個字符串控制件和兩個數(shù)值型控制件,在框圖程序

39、中將它們對應的端子與控制件,在框圖程序中將它們對應的端子與Bundle函數(shù)輸入端自上而下連線(為簇中的函數(shù)輸入端自上而下連線(為簇中的每一個元素賦值),組成一個含有每一個元素賦值),組成一個含有3個元素的個元素的混合型混合型控制簇,簇中元素的編號順序與輸入數(shù)控制簇,簇中元素的編號順序與輸入數(shù)據(jù)的順序一致。據(jù)的順序一致。在在Bundle函數(shù)輸出端彈出菜函數(shù)輸出端彈出菜單,選擇創(chuàng)建單,選擇創(chuàng)建指示控件,將輸出簇指示控件,將輸出簇(output cluster)標簽改寫為)標簽改寫為“參數(shù)參數(shù)”,運,運行行VI。 功能二:功能二: 替換替換成新簇成新簇 。例3.17 修改簇中某些元素的值。nBund

40、leBundle函數(shù)除了左側輸入端子外,函數(shù)除了左側輸入端子外,位于節(jié)點中間位于節(jié)點中間還有一個簇(還有一個簇(clustercluster)輸入端子)輸入端子。有時需要輸入。有時需要輸入或修改源簇中某個元素的值,又不希望影響其他或修改源簇中某個元素的值,又不希望影響其他元素的值,其中一種簡便方法就是使用元素的值,其中一種簡便方法就是使用節(jié)點的中節(jié)點的中間端子間端子。n本例中在前面板創(chuàng)建一個名為本例中在前面板創(chuàng)建一個名為“參數(shù)參數(shù)”的簇控件,的簇控件,包含信號、幅值和頻率三個簇元素,現(xiàn)通過前面包含信號、幅值和頻率三個簇元素,現(xiàn)通過前面板修改幅值元素值,而使簇中其他元素值保持不板修改幅值元素值,

41、而使簇中其他元素值保持不變。變。n在框圖程序中,在框圖程序中,將需要修改的元素與函數(shù)對應輸將需要修改的元素與函數(shù)對應輸入端子連接,將原有的簇連接到參數(shù)輸入端入端子連接,將原有的簇連接到參數(shù)輸入端,輸,輸入端口自動與這個簇的元素匹配。入端口自動與這個簇的元素匹配。 3 3按名稱解包簇成員函數(shù)按名稱解包簇成員函數(shù)Unbundle By NameUnbundle By Name按名稱解包簇成員按名稱解包簇成員函數(shù)函數(shù)按指定的成員按指定的成員(標簽標簽)名稱從簇中名稱從簇中提取成員。提取成員。 n 該函數(shù)默認只有一個輸出端口,當它的輸入端口該函數(shù)默認只有一個輸出端口,當它的輸入端口連接了一個簇,輸出端

42、口就顯示出簇中第一個成員的連接了一個簇,輸出端口就顯示出簇中第一個成員的名稱;名稱;n 向下拖動節(jié)點一角或在節(jié)點輸出端口彈出菜單可向下拖動節(jié)點一角或在節(jié)點輸出端口彈出菜單可增加端口,從而可看到簇元素名的列表,可在列表中增加端口,從而可看到簇元素名的列表,可在列表中或右擊名稱彈出菜單選擇項,選擇訪問成員。或右擊名稱彈出菜單選擇項,選擇訪問成員。n 該函數(shù)允許多次訪問一個成員。引用簇成員時,該函數(shù)允許多次訪問一個成員。引用簇成員時,成員必須已有名稱,否則不會出現(xiàn)在輸出端口中,所成員必須已有名稱,否則不會出現(xiàn)在輸出端口中,所以需要以需要先在它的標簽中輸入名稱。先在它的標簽中輸入名稱。 功能:功能:把

43、輸入把輸入簇中的元素按標簽簇中的元素按標簽解除捆綁。在函數(shù)解除捆綁。在函數(shù)輸出端,只能獲得輸出端,只能獲得擁有標簽的簇元素。擁有標簽的簇元素。 函數(shù)初建時,只函數(shù)初建時,只有一個輸出端子;有一個輸出端子;單擊其標簽域,可單擊其標簽域,可彈出帶有標簽的簇彈出帶有標簽的簇元素的列表;必須元素的列表;必須對其分別建立相應對其分別建立相應的顯示器。的顯示器。例3.18 顯示簇中的某個成員。n利用利用按名稱解包簇成員按名稱解包簇成員函數(shù)(函數(shù)(Unbundle By Name)函數(shù)顯示簇中的第二個元素:幅值。)函數(shù)顯示簇中的第二個元素:幅值。 4 4按名稱替換簇成員函數(shù)按名稱替換簇成員函數(shù)Bundle By NameBundle By NameBundle By Name函數(shù)函數(shù)只能按照簇中成員的名稱只能按照簇中成員的名稱替換簇中的成員,不能創(chuàng)建一個簇。替換簇中的成員,不能創(chuàng)建一個簇。n當在它的當在它的named cluster參數(shù)端連接一個簇時,參數(shù)端連接一個簇時,輸入端口就會

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論