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

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

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

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

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

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

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

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

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

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

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

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

11、3F77?4F117O6F157o部分ASCII碼表字符的四種顯示模式可以在字符串控制器和指示器上彈出快捷菜單來改變字符顯示模式。(1)Normal Display,這是正常默認(rèn)顯示模式(2)Password Display,這是口令顯示模式,即在前面板上字符串顯示為星號。(3)Hex Display,顯示字符的十六進(jìn)制表示的ASCII代碼。(4)Codes Display,這是代碼顯示模式,可以顯示或輸入通常情況下不可顯示的字符,例如空格、回車、跳格字符等,不可顯示字符以反斜杠后跟相應(yīng)代碼的形式表示 不可顯示字符代碼表代 碼含 義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)字符串處理函數(shù)基本函數(shù):字符串長度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字符串轉(zhuǎn)數(shù)據(jù)Scan From String數(shù)據(jù)轉(zhuǎn)字符串Format Into String字符串轉(zhuǎn)數(shù)組Spreadsheet String To Array數(shù)組轉(zhuǎn)字符串Array to Spreadsheet String字符串常數(shù)和特殊字符String Constant常數(shù)Empty String空字符 0 x20Carriage Return回車 0 x0dLine Feed 換行 0X0a End of Line 行結(jié)束 Tab 制表符 0 x09字符串常用函數(shù)(1)字符串長度函數(shù)(2)連接字

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

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

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

17、ment(例如,數(shù)字型)轉(zhuǎn)換成指定格式的字符串。在下例中,此函數(shù)將浮點(diǎn)數(shù)1.28轉(zhuǎn)換成6位字符串“1.2800”Scan From String函數(shù),該函數(shù)可以把一個包含數(shù)字字符的字符串轉(zhuǎn)換成一個數(shù)字。在下例中,將字符串“電壓值為: 1.28E+2”轉(zhuǎn)換成數(shù)字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字符串和數(shù)據(jù)相互轉(zhuǎn)換函數(shù)字符串可轉(zhuǎn)換為多種進(jìn)制和多種格式的數(shù)據(jù),如十進(jìn)制、十六進(jìn)制、八進(jìn)制,浮點(diǎn)數(shù)、工程數(shù)、分?jǐn)?shù)。數(shù)據(jù)可轉(zhuǎn)換為字符串 字符串和數(shù)組及路徑的轉(zhuǎn)換例:String To Byte Array:字符串轉(zhuǎn)換為字節(jié)數(shù)組反之, Byte Array To String:字節(jié)數(shù)組轉(zhuǎn)換為字符串作業(yè)1.設(shè)計(jì)一個VI,產(chǎn)生一個二維隨機(jī)數(shù)數(shù)組(64),然后將數(shù)組奇偶行對應(yīng)的元素相乘,輸出結(jié)果數(shù)組(34)。2、設(shè)計(jì)一個VI,

溫馨提示

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

最新文檔

評論

0/150

提交評論