工程實踐自編講義第六講_第1頁
工程實踐自編講義第六講_第2頁
工程實踐自編講義第六講_第3頁
工程實踐自編講義第六講_第4頁
工程實踐自編講義第六講_第5頁
已閱讀5頁,還剩53頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

(優(yōu)選)工程實踐自編講義第六講當前1頁,總共58頁。2.數(shù)組的創(chuàng)建

從前面板上創(chuàng)建數(shù)組:打開前面板,在控件→新式→數(shù)組,矩陣與簇→數(shù)組,如圖。

當前2頁,總共58頁。再在里面放置一個數(shù)值輸入控件即可,如圖:當前3頁,總共58頁。如果要顯示更多的數(shù)組成員,在工具選項板上選擇定位工具,在數(shù)組的邊框停滯,當出現(xiàn)網(wǎng)狀拐角后就可以拖動增加或減少顯示區(qū)域。如圖:如果要增加或減少數(shù)組的維數(shù),可以在索引框的快捷菜單上執(zhí)行,如圖:當前4頁,總共58頁。增加后如圖:對于二維數(shù)組來說,索引框中上一個為行索引,下一個為列索引。當前5頁,總共58頁。2.程序框圖上創(chuàng)建數(shù)組:在程序框圖上創(chuàng)建數(shù)組和在前面板上創(chuàng)建數(shù)組有點類似,也首先創(chuàng)建一個外殼,然后再放入數(shù)值型常量,枚舉或環(huán)形常量,字符串型常量以及布爾型常量等。剛剛放入常量后,所有的數(shù)組成員顯示為灰色,可以用操作工具依次給它們賦值,賦值范圍以外的數(shù)組成員保持灰色不變。如果跳過一些數(shù)組成員給后面的成員賦值,則前面的成員自動賦一個系統(tǒng)默認的值。先在程序框圖上放置一個數(shù)組常量,位于函數(shù)→編程→數(shù)組→數(shù)組常量,如圖:當前6頁,總共58頁。然后再往里放入一個數(shù)值常量,完成后如圖:當前7頁,總共58頁。6.1.2數(shù)組函數(shù)

對一個數(shù)組進行操作,無非是求數(shù)組的長度、取出數(shù)組中的元素、替換數(shù)組中的元素或初始化數(shù)組等各種運算。當前8頁,總共58頁。1.數(shù)組大小—ArraySize函數(shù)

返回輸入數(shù)組中的元素個數(shù)。當前9頁,總共58頁。2.索引數(shù)組—IndexArray函數(shù)

用于訪問數(shù)組中的某個元素。下圖顯示了一個索引函數(shù)的例子,它用于訪問數(shù)組中的第三個元素。當前10頁,總共58頁。將一個二維數(shù)組與IndexArray函數(shù)相連,IndexArray就會含2個索引端子。將一個三維數(shù)組與IndexArray函數(shù)相連,IndexArray就會含3個索引端子。余類推。

可以使用的索引端的符號是一個黑方快,被禁止使用的索引端(DisableIndexing)是一個空心的小方框。

當前11頁,總共58頁??梢詮囊粋€三維數(shù)組中提取一個二維數(shù)組,方法是禁止兩個索引端子,或者通過禁止一個索引端子提取一個一維數(shù)組。下圖顯示了從三維數(shù)組提取數(shù)組的各種方法。當前12頁,總共58頁。3.數(shù)組子集—ArraySubset函數(shù)

選取數(shù)組或者矩陣的某個部分。當前13頁,總共58頁。該函數(shù)可以返回從某個指針開始的部分數(shù)組,并包括了長度元素。下圖顯示了一些數(shù)組子集的例子,注意,數(shù)組索引從0開始。當前14頁,總共58頁。4.替換數(shù)組元素—ReplaceArrayElement函數(shù)

替換數(shù)組中的某個元素。當前15頁,總共58頁。5.改變數(shù)組維數(shù)—ReshapeArray函數(shù)

改變輸入數(shù)組的維數(shù)。當前16頁,總共58頁。6.初始化數(shù)組—InitializeArray函數(shù)

對數(shù)組進行初始化,數(shù)組中所有的元素相同。當前17頁,總共58頁。7.建立數(shù)組—BuildArray函數(shù)

建立一個新數(shù)組的維數(shù)。當前18頁,總共58頁。8.移位一維數(shù)組—Rotate1DArray函數(shù)

將一維數(shù)組的最后n各元素移至數(shù)組前面。當前19頁,總共58頁。9.排序一維數(shù)組—Sort1DArray函數(shù)

將一維數(shù)組中的數(shù)據(jù)按升序排列。當前20頁,總共58頁。10.顛倒一維數(shù)組—Reverse1DArray函數(shù)

將一維數(shù)組的元素前后顛倒。結合Sort1DArray函數(shù),可實現(xiàn)降序排列。當前21頁,總共58頁。11.轉置二維數(shù)組—Transpose2DArray函數(shù)

將二維數(shù)組進行轉置輸出。當前22頁,總共58頁。12.搜索一維數(shù)組—Search1DArray函數(shù)

搜索指定元素在一維數(shù)組中的位置。當前23頁,總共58頁。13.求數(shù)組的最大值和最小值—ArrayMax&Min函數(shù)

返回數(shù)組中的最大值和最小值,以及它們在數(shù)組中的位置。當前24頁,總共58頁。14.截斷一維數(shù)組—Split1DArray函數(shù)

將一維數(shù)組在指定位置截斷,分成兩個一維數(shù)組。當索引位置小于0時,第一個子數(shù)組為空;當索引位置大于數(shù)組長度時,第二個子數(shù)組為空;當前25頁,總共58頁。15.一維數(shù)組的插值—Interpolate1DArray函數(shù)

根據(jù)給定的小數(shù)索引值,確定對應的數(shù)組元素值。當前26頁,總共58頁。16.一維數(shù)組的閾值—Threshold1DArray函數(shù)

是線性插值的逆過程,根據(jù)給定的數(shù)值,確定對應的索引值。當前27頁,總共58頁。17.插入一維數(shù)組—Interleave1DArray函數(shù)

將輸入端口的一維數(shù)組插入到輸出的一維數(shù)組中。插入的順序為:按從上到下的原則,依次取出輸入數(shù)組的第0各元素,放入輸出數(shù)組中;然后是第1各元素,依此類推。當前28頁,總共58頁。18.拆分一維數(shù)組—Decimate1DArray函數(shù)

是插入一維數(shù)組—Interleave1DArray函數(shù)的反運算。將輸入的一維數(shù)組拆分為多個一維數(shù)組。拆分原則:第1個子數(shù)組:元素為輸入數(shù)組的0,n,2n,3n,…

第2個子數(shù)組:元素為輸入數(shù)組的0,n+1,2n+1,3n+1,…

第3個子數(shù)組:依此類推。

當前29頁,總共58頁。當前30頁,總共58頁。例一:設計步驟如下:創(chuàng)建一個For循環(huán),循環(huán)次數(shù)定為100次在數(shù)學函數(shù)中調(diào)用Sinc函數(shù),重復端子作為輸入,輸出用一個波形圖表和一個數(shù)組顯示。如圖:當前31頁,總共58頁。例二:創(chuàng)建一個二維數(shù)組當前32頁,總共58頁。現(xiàn)在已經(jīng)有兩組一維數(shù)組了,可以使用創(chuàng)建數(shù)組函數(shù)就可以把他們創(chuàng)建為二維數(shù)組,在一個波形圖中顯示,如圖:當前33頁,總共58頁??梢杂檬髽藢υ摵瘮?shù)進行拉伸操作,即可有兩個輸入端子了。程序框圖如圖:當前34頁,總共58頁。前面板運行結果如圖:當前35頁,總共58頁。例三:初始化和分離數(shù)組:利用For循環(huán)的自動索引功能從一個輸入數(shù)組中依次抽取各個元素,如果是大于0的數(shù)則添加到正數(shù)數(shù)組,如果是小于0的則添加到負數(shù)數(shù)組。并分別計算兩個數(shù)組中各自有多少個元素。如圖所示便是程序框圖當前36頁,總共58頁。下圖是在選擇結構中為“假”時的情景當前37頁,總共58頁。其中一共用到了三個數(shù)組函數(shù),一個初始化函數(shù),一個創(chuàng)建函數(shù),一個數(shù)組大小函數(shù),運行時前面板如圖:當前38頁,總共58頁。6.1.3數(shù)組的特點

1.LabVIEW會自動確定數(shù)組長度,最多可達(231-1)個元素。。

2.數(shù)組中元素的數(shù)據(jù)類型必須相同。當前39頁,總共58頁。6.2簇

簇是LabVIEW中一個比較特別的數(shù)據(jù)類型,它可以將幾種不同的數(shù)據(jù)類型集中到一個單元中形成一個整體。

如有關一個學生的信息有:學號、姓名、性別、年齡、成績和家庭地址等。如將這些項目分別定義為相互獨立的簡單變量,不能反映它們之間的內(nèi)在聯(lián)系。而應當把它們組合成一個組合項,這種數(shù)據(jù)結構就是簇。

上述數(shù)據(jù)的C語言結構描述:上述數(shù)據(jù)的LabVIEW結構描述:

structstudent

{intnum;

charname[20];

charsex;

intage;

floatscore;

charaddr[30];

}當前40頁,總共58頁。簇是一種類似數(shù)組的數(shù)據(jù)結構,用于分組數(shù)據(jù)。簇和數(shù)組有著重要的差別,其中一個重要差別是,簇可以包含不同的數(shù)據(jù)類型,而數(shù)組僅可以包含相同的數(shù)據(jù)類型。例如,一個數(shù)組可以包含10個數(shù)字指示器,一個簇卻可以包含一個數(shù)字控件,一個開關和一個字符串控件。盡管簇和數(shù)組的元素都是有序存放的,但訪問簇的元素最好是通過釋放的方法同時訪問其中部分或全部元素,而不是通過索引一次訪問一個元素。簇和數(shù)組的另一個差別是簇具有固定的大小。

簇通常用于將出現(xiàn)在框圖上的有關數(shù)據(jù)元素分組管理。因為簇在框圖中僅用唯一的連線表示,所以對于減少連線混亂和子VI需要的連接器端子個數(shù),使用簇有著積極的效果??梢詫⒋乜醋鍪且焕B線,線纜中每一個連線表示簇的不同元素。在框圖上,只有當簇具有相同類型,相同元素數(shù)量和相同元素順序時,才可以將簇的子端連接。

當前41頁,總共58頁。6.2.1簇的創(chuàng)建

簇的創(chuàng)建框位于前面板中的控件→新式→數(shù)組,矩陣和簇→簇。當前42頁,總共58頁。然后就可以往簇的框中添加各種類型的控件了,例如現(xiàn)在要建立一個學生的記錄信息,包括學生的姓名,學號,性別和年齡.這就需要在簇外殼里依次放入兩個字符串輸入控件,一個數(shù)字控件和一個布爾控件.如圖:當前43頁,總共58頁。與數(shù)組的創(chuàng)建類似,簇也可以從程序框圖中創(chuàng)建,先在程序框圖上放置一個簇外殼,然后就可以在簇外殼里放置各種數(shù)據(jù)類型常數(shù)。如圖:簇內(nèi)對象的大小是可以調(diào)整的,右擊簇邊界,在彈出的快捷菜單中可以選擇各種調(diào)節(jié)操作,如圖:

當前44頁,總共58頁。選擇調(diào)整為匹配大小,即可縮小簇的邊框,如圖為調(diào)整后的結果:簇結構中的元素排列是按照它們放置的先后來排序的,它與簇內(nèi)元素的位置無關。放入簇內(nèi)的第一個元素序號為0,第二個元素序號是1,依次向下排列。如果刪除了一個元素,序號將重新自動調(diào)整。簇的排序很重要,它直接影響著后面將要介紹的“捆綁”以及“接觸捆綁”函數(shù)的端口順序,如果要將一個簇與另一個簇連接,這兩個簇的序和類型必須相同。

當前45頁,總共58頁。如果想要改變簇內(nèi)元素的排列順序,可以右擊簇結構的邊框,在彈出的快捷菜單中執(zhí)行“重新排序簇中控件”,如圖:當前46頁,總共58頁。這時鼠標會變成一個帶“#”號的手柄箭頭,黑框指出新設置的排列序號,白框表示原先的排列序號,可以改變標題欄上的“單擊設置”內(nèi)容,然后單擊簇元素即可設置新的序號。設置完畢后單擊工具欄上的“”按鈕確定更改,如果想恢復原先設定值,單擊“”取消設置。

6.2.2簇函數(shù)

簇函數(shù),主要是訪問簇中的各個元素,或由不同類型但相互關聯(lián)的數(shù)據(jù)組成簇。簇函數(shù)的模版如圖:當前47頁,總共58頁。簇函數(shù)中最主要的就是構造打包生成簇的“捆綁”函數(shù),還有從簇中解包提取簇中元素的“解除捆綁”函數(shù)。它們是根據(jù)簇成員的順序來進行操作的,這也說明了簇內(nèi)成員順序排列的重要性。例1.創(chuàng)建簇,解包簇,再打包簇該例的目的是學習使用簇的兩個基本函數(shù),如圖:首先放置一個簇外殼到前面板上,將標簽內(nèi)容改為“輸入簇”簇函數(shù)舉例:當前48頁,總共58頁。在簇外殼中依次放入字符串控件“Name”,布爾控件“Sex”,數(shù)字輸入控件“Pay”以及字符串控件“Address”,通過這些簇元素來組成某一公司內(nèi)一名員工的工資記錄。如圖:切換到程序框圖,放置一個“解除捆綁”解包簇函數(shù),函數(shù)剛放入時,它的右側只有2個輸出端口,當輸入端口與“輸入簇”端子相連后,右側端口會自動增加為簇元素的數(shù)目,端口從上向下排列的順序與簇內(nèi)元素的放置順序相對應,并且數(shù)據(jù)類型也是與簇元素數(shù)據(jù)類型相對應。如圖:當前49頁,總共58頁。同樣放置一個“捆綁”打包簇函數(shù),用定位工具將輸入端口的數(shù)目增加到4個,依次將它們與解包出來的4個簇元素相連,表示又把它們進行打包生成一個新的簇。在輸出端口創(chuàng)建一個簇顯示器,把標簽改為“輸出簇”,如圖:

當前50頁,總共58頁。例2.替換簇成員該例的目的是學習使用“按名稱捆綁”

函數(shù)來替換簇內(nèi)的某些元素。

1.新建一個VI,在前面板上創(chuàng)建一個簇外殼,依次向簇內(nèi)添加一個數(shù)字輸入控件,一個布爾控件,一個字符串輸入控件,如圖:

當前51頁,總共58頁。2.打開程序框圖,選擇“按名稱捆綁”函數(shù),它的功能是按照名稱來替換簇成員的值。在函數(shù)剛放入時,它的左側只有一個輸入端口,將函數(shù)的“輸入簇”端口與創(chuàng)建的簇端子相連之后,左側端口會顯示簇內(nèi)第一個元素的名稱數(shù)值,用操作工具單擊它可以選擇其他的簇成員。如圖:當前52頁,總共58頁。3.在前面板上創(chuàng)建一個輸入控件,將標簽改為“輸入數(shù)字”,在程序框圖將它與“數(shù)值”端口相連,表示將用它來替換簇元素。如圖:當前53頁,總共58頁。4.在“按名稱捆綁”函數(shù)后面創(chuàng)建輸出簇,完成后即可運行程序,如圖:

當前54頁,總共58頁。例3.插接生成簇數(shù)組該例的目的是學習使用“索引與捆綁簇數(shù)組”

函數(shù)插接簇數(shù)組函數(shù)來生成一個簇數(shù)組。

1.新建一個VI,打開程序框圖,放置一個該函數(shù),剛放入時它只有一個輸入的端口,用定位工具拖拉它為3個輸入端口。2.在程序框圖上放置三個數(shù)組外殼,然后分別添加字符串常量,數(shù)值常量和布爾常量,建立三個數(shù)組,如圖:然后給他們賦如圖所示的值,如圖:當前55頁,總共58頁。然后連線,并創(chuàng)建顯示控件,如圖:運行,結果如圖:說明:該函數(shù)從輸入的3個數(shù)組中依次取值,相同索引值的數(shù)據(jù)被攢成一個簇,所有的簇構成一個一維數(shù)組。插接成的數(shù)組的長度與所有輸入數(shù)組中長度最短的一個相等,多余的數(shù)據(jù)被丟棄。當前56頁,總共58頁。4.建立“數(shù)組的數(shù)組”學習把一維數(shù)組當成一個簇,然后通過建立簇的數(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

提交評論