電子科技大學-虛擬儀器-chap2-4數組、簇和字符串_第1頁
電子科技大學-虛擬儀器-chap2-4數組、簇和字符串_第2頁
電子科技大學-虛擬儀器-chap2-4數組、簇和字符串_第3頁
電子科技大學-虛擬儀器-chap2-4數組、簇和字符串_第4頁
電子科技大學-虛擬儀器-chap2-4數組、簇和字符串_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、虛擬儀器設計虛擬儀器課程組2.4 數組、簇和字符串2.4.1 數組數組是同一類型數據的集合。LabVIEW中的數組元素可以為任何數據類型(數值類型、布爾型、字符串)。一個數組可以是一維的,在內存允許的情況下,也可以是多維的,每維最多可以包含231個元素。LabVIEW中數組可以根據元素的多少動態(tài)改變,從而節(jié)省空間。可以通過數組指針(索引index)訪問數組元素,指針在0到N1的范圍內變化,而就是數組元素的個數。例:10元素的一維數組三維數組頁指針行指針列指針1.創(chuàng)建數組:第一步創(chuàng)建數組殼: 從控制模板的Array&Cluster子模板中選擇Array控制器,放在前面板上,即建立了一個空的數組殼

2、(Array Shell)第二步建立數據對象:把一個數據對象拖入數組殼,或者從控制模板中添加一個數據對象到數組殼中,這樣就可以創(chuàng)建一個數組增加數組維數 在數組殼左邊的指針標記上彈出菜單,選擇添加維度Add Dimension選項,增加數組的維數 列指針行指針當前指針指示的元素4行2列元素利用循環(huán)創(chuàng)建數組在For循環(huán)和While循環(huán)的邊框上可以自動地累積數據,形成數組,這種特性被稱為自動索引。自動索引為打開狀態(tài)時,每一次循環(huán)產生一個新的數組元素,并存儲在循環(huán)的邊框上。循環(huán)結束則輸出數組若自動索引被設為無效,則只有最后一次循環(huán)產生的數傳到循環(huán)外 。For循環(huán)數據出口的自動索引默認為有效。而Whil

3、e循環(huán)的數據出口的自動索引默認為無效在數據出口信道上右擊,彈出菜單中可修改自動索引。 創(chuàng)建二維數組使用兩個For循環(huán),把其中一個嵌套在另一個中可以生成一個二維數組。外層的For循環(huán)產生行,而內層的For循環(huán)產生列數組之間的算數運算如果兩個數組大小完全一樣,則兩個數組中索引號相同的元素進行運算形成一個新數組。若兩個數組大小不一樣,則忽略較大數組多出來的部分。如果一個數組和一個數值進行運算,則數組的每個元素分別都和該數值進行運算,從而輸出一個新的數組。2.數組函數 數組函數詳細介紹(1)數組大小函數Array Size (2)數組索引函數Index Array(3)替換數組元素函數Replace

4、Array Subset(4)插入數組函數Insert Into Array向數組指定位置插入若干行或若干列新元素。 (5)從數組中刪除元素函數Delete From Array從一個數組中刪除單個元素或者子數組 (6)初始化數組Intialize Array(7)合并數組函數Build Array功能(1)把多個數組組合成一個數組;(2)對一個數組添加元素(輸入端口設置為“連接輸入”)。(8)提取子數組函數 Array Subset提取輸入數組的第0行開始的兩行和第1列開始的兩列元素,組成一個新數組。 (9)一維數組輪轉函數Rotate 1D Array(10)一維數組倒置函數Reverse

5、 1D Array(11)搜索一維數組函數Search 1D Array(12)一維數組分離函數Split 1D Array(13)一維數組排序函數Sort 1D Array升序排列 (14)獲得數組最大值和最小值的函數Array MaxMin數組函數舉例求數組的大小檢索數組,得到指定位置的元素或子數組替換數組一個元素或行、列例:設計一個VI,產生9個隨機數組成的一維數組,然后將數組按大到小的排序,并且求出數組中最大值、最小值。 分析:FOR循環(huán)8次產生一個長度為9的隨機數數組,由于沒有一維數組從大到小排列的函數,可先用升序排序函數對一維數組按升序排列,再用反轉函數倒置一維數組元素的順序就可實

6、現(xiàn)從大到小的排序。數組插值函數應用2.4.2 簇數據定義:簇是一種可以把相同或不同類型的數據組合在一起的數據結構,類似于C語言中的結構體數據類型struct。 簇不同于數組的地方是簇的元素數據類型可以相同,也可以不同,而數組只能包含相同數據類型的元素。與數組一樣的是,簇包含的元素必須同時都是控制控件或同時都是指示控件。我們可以把簇形象地理解為一根多芯電纜,不同的信號線捆綁在一起進行傳輸,電纜中的每根線就相當于簇中的每個元素。例如,學生情況表中有這樣一些數據:姓名(字符型)、性別(字符型)、年齡(數字型)、黨員否(布爾型)等,形成一個簇 。 Bundle函數(Cluster子模板中) 1.創(chuàng)建簇

7、方法1:在框圖程序中使用Bundle函數(Cluster子模板中)Bundle函數可以新建簇還可在已有簇中添加元素方法2:在前面板放置一個簇的空框架(Control 模板的Cluster子模板中的Cluster控件) ,在框架中再增加簇的元素 。2簇函數1、Unbundle分解簇函數2、 Bundle捆綁函數3、 Unbundle By Name 按名稱分解簇函數4、 Bundle By Name 按名稱合成簇函數5、Build Cluster Array 建立簇數組函數6、Index & Bundle Cluster Array 按索引組合簇數組函數 7、簇和數組相互轉換Cluster To

8、 Array和 Array To Cluster圖形化數據顯示 圖形顯示能夠將大量的數據轉化為意義明確的顯示曲線,直觀地看出被測試對象的變化趨勢,便于對數據進行觀察、分析和處理。 LabVIEW圖形顯示控件位于控件模板的“圖形顯示控件”子模板中。一、波形圖表(實時趨勢圖控件) 繪制單條曲線時,將單個標量數據直接連到”波形圖表”控件。 繪制多條曲線時,將各個標量數據經過簇模板中的“捆綁”函數形成一個簇,再連到”波形圖表”控件。 右擊控件在“屬性”菜單的窗口中可以對曲線的線形、線寬、顏色、顯示方式等屬性進行設置或修改。二、波形圖 波形圖是對已采集數據進行事后處理,波形圖的基本顯示模式是等時間間隔地

9、顯示數據點,時間默認為從0 開始,而且數據點之間的時間間隔為1s。 波形圖繪制曲線的數據組織格式,參考教材P85圖2-93的程序舉例。程序中使用for循環(huán)產生了一個周期含有100點的正弦和余弦數據,分別輸出為兩個一維數組,將兩條波形數據組織成不同的格式,送到波形圖顯示。2.4.3 字符串字符串就是一系列文本字符,以ASCII碼表示。在數據傳送中,通常將數字型的數據轉換成字符串進行傳送。在很多情況下,往磁盤上存儲的數字型數據也要求是字符串格式。創(chuàng)建:在控制模板的String&Path子模板中,字符串的輸入:使用字符串控制器字符串輸出:使用字符串指示器可以改變文本顯示區(qū)的尺寸。當文本顯示不完時,可

10、以在字符串控制器或指示器上彈出快捷菜單,選擇Visible Items Scrollbar選項,將出現(xiàn)滾動條。16進制十進制字符16進制十進制字符16進制十進制字符3060040100601403161141101A61141a3262242102B62142b3363343103C63143c3464444104D64144d3565545105E65145e3666646106F66146f3767747107G67147g3870848110H68150h3971949111I69151i3A72:4A112J6A152j3B73;4B113K6B153k3C744E116N6E156n

11、3F77?4F117O6F157o部分ASCII碼表字符的四種顯示模式可以在字符串控制器和指示器上彈出快捷菜單來改變字符顯示模式。(1)Normal Display,這是正常默認顯示模式(2)Password Display,這是口令顯示模式,即在前面板上字符串顯示為星號。(3)Hex Display,顯示字符的十六進制表示的ASCII代碼。(4)Codes Display,這是代碼顯示模式,可以顯示或輸入通常情況下不可顯示的字符,例如空格、回車、跳格字符等,不可顯示字符以反斜杠后跟相應代碼的形式表示 不可顯示字符代碼表代 碼含 義bBackspace (ASCII BS, equivalen

12、t to 08)sSpace (ASCII SP, equivalent to 20)rReturn (ASCII CR, equivalent to 0D)nNewline (ASCII LF, equivalent to 0A)tTab (ASCII HT, equivalent to 09)字符串處理函數基本函數:字符串長度String Length合成Concatenate Strings分解String Subset 變大寫To Upper Case變小寫To Lower Case替換子串Replace Substring查找并替換Search and Replace String

13、匹配 Match Pattern格式化日期和時間Format Date/Time String字符串轉數據Scan From String數據轉字符串Format Into String字符串轉數組Spreadsheet String To Array數組轉字符串Array to Spreadsheet String字符串常數和特殊字符String Constant常數Empty String空字符 0 x20Carriage Return回車 0 x0dLine Feed 換行 0X0a End of Line 行結束 Tab 制表符 0 x09字符串常用函數(1)字符串長度函數(2)連接字

14、符串函數Concatenate String把所有的輸入字符和字符串數組按順序連接成一個輸出字符串。 (3)提取子字符串函數String Subsetoffset指定提取子字符串在原字符串中的起始位置(從0開始計數),參數length指定子字符串的長度。 (4)大小寫轉換函數To Upper Case和To Lower Case (5)替換子字符串函數Replace Substring此函數有3 種用法: 用substring參數輸入的字符串,替換原字符串中從offset參數指定的位置開始,length參數指定長度的子字符串。 substring沒連,從offset指定的位置開始,刪除leng

15、th長度的子字符串。 length輸入值為0,一個字符也沒刪除,在原字符串中從offset指定的位置開始插入substring參數輸入的字符串。(6)查找替換字符串函數Search and Replace String查找參數search string指定的字符串,并用replace string指定的字符串替換查找到的字符串。若replace string未連接數據,那么就刪除查找到的字符串。(7)查找匹配字符串函數Match Pattern查找到,就把string分為三個子串輸出:before substringmatch substringafter substringoffset pa

16、st match:輸出查找到匹配字符串后的下一個字符的位置。三個子串輸出如果沒查找到regular expression,匹配字符串輸出為空,offset past match端口輸出-1。(8)轉換為字符串函數Format into String將輸入數據(字符串、數值、路徑或布爾量)轉換為字符串并和initial string連接在一起。 舉例:字符串大小寫轉換、合成字符串、 求字符串長度、查找和替換The quick brown fox jumped over the lazy dog前面板框圖程序字符串和數字轉換Format Into String函數,該函數可以把任何格式下的argu

17、ment(例如,數字型)轉換成指定格式的字符串。在下例中,此函數將浮點數1.28轉換成6位字符串“1.2800”Scan From String函數,該函數可以把一個包含數字字符的字符串轉換成一個數字。在下例中,將字符串“電壓值為: 1.28E+2”轉換成數字128.00。附加的字符串功能1.Search/Split String 2.Pick Line3.Match First String4.Match True/False String5.Scan String for Tokens6.Rotate String7Reverse String8.Index String Array9.Append True/False String字符串和數據相互轉換函數字符串可轉換為多種進制和多種格式的數據,如十進制、十六進制、八進制,浮點數、工程數、分數。數據可轉換為字符串 字符串和數組及路徑的轉換例:String To Byte Array:字符串轉換為字節(jié)數組反之, Byte Array To String:字節(jié)數組轉換為字符串作業(yè)1.設計一個VI,產生一個二維隨機數數組(64),然后將數組奇偶行對應的元素相乘,輸出結果數組(34)。2、設計一個VI,

溫馨提示

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

評論

0/150

提交評論