循環(huán)labview系列教程之六_第1頁
循環(huán)labview系列教程之六_第2頁
循環(huán)labview系列教程之六_第3頁
循環(huán)labview系列教程之六_第4頁
循環(huán)labview系列教程之六_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、06、循環(huán)While循環(huán)1.While循環(huán)是一種結(jié)構(gòu),它重復(fù)執(zhí)行代碼片段直到滿足某種條件為止。它可比作傳統(tǒng)語言中的Do Loop或RepeatUntil循環(huán)。它位于編程結(jié)構(gòu)While循環(huán)。每個(gè)While循環(huán)都有一個(gè)條件端子和一個(gè)重復(fù)端子。如圖:重復(fù)端子用于記錄和輸出已執(zhí)行的循環(huán)的次數(shù),條件端子輸入的是一個(gè)布爾變量:真或假,While循環(huán)將一直執(zhí)行到連接條件端子上的布爾值變成真或假為止,取決于條件端子設(shè)置為“真(T)時(shí)停止”還是“真(T)時(shí)繼續(xù)”。在條件端子上單擊右鍵即可進(jìn)行更改。如圖: 下面舉個(gè)簡(jiǎn)單的例子:利用While循環(huán)產(chǎn)生隨機(jī)數(shù),當(dāng)產(chǎn)生的隨機(jī)數(shù)大于0.8時(shí),循環(huán)停止。 步驟如下:1. 打

2、開前面板,新建兩個(gè)數(shù)值顯示控件,一個(gè)為循環(huán)次數(shù),一個(gè)顯示最后產(chǎn)生的那個(gè)大于0.8的隨機(jī)數(shù)。如圖: 2 切換到程序框圖,放置一個(gè)While循環(huán),如圖:3. 放置隨機(jī)數(shù)函數(shù)到While循環(huán)內(nèi),并連線,如圖:4. 放置比較函數(shù),將循環(huán)次數(shù)與重復(fù)端子連線,如圖:5 運(yùn)行,即可在前面板上看到結(jié)果,如圖:在程序框圖中,在數(shù)值顯示控件上單擊右鍵,可更改數(shù)值的類型,如圖: 各種數(shù)值的類型都可以看見,我就不再贅述。 在While循環(huán)的邊框上單擊右鍵,可添加位移寄存器,如圖: 有關(guān)位移寄存器的用法,我們將會(huì)在For循環(huán)中講到,這里暫不做介紹。 注意:While循環(huán)的條件端子一定要有連線,否則程序無法運(yùn)行!如圖:

3、For循環(huán)1 For循環(huán)位于函數(shù)編程結(jié)構(gòu)For循環(huán),如圖:從圖中可以看到,F(xiàn)or循環(huán)有兩個(gè)端子 計(jì)數(shù)端子:要執(zhí)行循環(huán)的次數(shù),可用于For循環(huán)內(nèi)部的循環(huán)計(jì)數(shù) 重復(fù)端子:已執(zhí)行循環(huán)的次數(shù),可用于For循環(huán)內(nèi)部的重復(fù)計(jì)數(shù) For循環(huán)應(yīng)用舉例:產(chǎn)生10個(gè)隨機(jī)數(shù),并把最后一個(gè)顯示出來。 步驟如下:1 放置一個(gè)數(shù)值顯示控件到前面板,并改名為隨機(jī)數(shù)。2 放置For循環(huán)到程序框圖,如圖: 3放置隨機(jī)數(shù)函數(shù)到程序框圖,并連線4計(jì)數(shù)端子上單擊右鍵,選擇創(chuàng)建常量,并輸入10,如圖:5運(yùn)行程序,便可在前面板上看到結(jié)果。6因?yàn)槌绦虻倪\(yùn)行的速度非??欤覀儫o法一個(gè)一個(gè)地看清所產(chǎn)生的10個(gè)隨機(jī)數(shù),我們可以在程序框圖中添加時(shí)

4、間延遲控件。它位于函數(shù)編程定時(shí)時(shí)間延遲,如圖:7 放置它到程序框圖上,選擇延遲的時(shí)間,即兩次循環(huán)之間的時(shí)間間隔。如圖:8 將時(shí)間設(shè)置為1.000,點(diǎn)擊確定即可,再運(yùn)行程序就可從前面板上看到所產(chǎn)生的隨機(jī)數(shù)了。移位寄存器移位寄存器用于For循環(huán)或While循環(huán)中從一個(gè)迭代傳輸數(shù)據(jù)到下一個(gè)迭代,它由循環(huán)垂直邊框上一對(duì)反向相反的端子組成,在邊框上單擊右鍵,選擇添加移位寄存器,就可進(jìn)行添加。如圖:右端子(帶向上箭頭的矩形)在每完成一次迭代后存儲(chǔ)數(shù)據(jù),移位寄存器將上次迭代的存儲(chǔ)數(shù)據(jù)在下一次迭代開始時(shí)移動(dòng)到左端子(具有向下箭頭的矩形)上。移位寄存器可存儲(chǔ)任何數(shù)據(jù)類型,包括數(shù)字,布爾,字符串和數(shù)組,但連接到同

5、一個(gè)寄存器端子上的數(shù)據(jù)必須是同一類型。移位寄存器的類型與第一個(gè)連接到其端子之一的對(duì)象數(shù)據(jù)類型相同。 下面是1234100的程序,如圖: 說明:進(jìn)行第一次運(yùn)算的是0+0,F(xiàn)or循環(huán)中的重復(fù)端子是從0開始計(jì)數(shù),移位即寄存器在沒有初始化的情況下,默認(rèn)的數(shù)值是0,所以第一次運(yùn)算的是0+0,第二次運(yùn)算的是寄存器的0與重復(fù)端子的1相加,所以循環(huán)要進(jìn)行101次。而計(jì)數(shù)端子輸出的數(shù)據(jù)始終是101。 移位寄存器的初始化:移位寄存器的初始化是非常必要的,因?yàn)橹灰脩舨煌顺鯲I,移位寄存器便可記錄上次運(yùn)算完時(shí)的結(jié)果,所以上面的程序在第二次執(zhí)行時(shí)輸出的結(jié)果不是5050,而是10100!添加初始化即可,如圖: 下面在舉

6、幾個(gè)復(fù)雜一點(diǎn)的例子。例一:計(jì)算一組隨機(jī)數(shù)的最大值和最小值1. 新建一個(gè)VI,在前面板上放置一個(gè)波形圖標(biāo),它位于新式圖形波形圖表,用它來記錄產(chǎn)生的隨機(jī)數(shù)。同時(shí)在前面板上放置兩個(gè)數(shù)值顯示控件“最大值”和“最小值”,用來顯示隨機(jī)數(shù)中的最大值和最小值。2. 在程序框圖中,放置一個(gè)For循環(huán),設(shè)置循環(huán)次數(shù)為50次。單擊邊框選擇添加兩個(gè)移位寄存器,分別初始化為0和1。3. 放置隨機(jī)數(shù)函數(shù)和最大最小值函數(shù)與程序框圖中,其中最大最小值函數(shù)位于編程比較最大值與最小值。然后連線。如圖:運(yùn)行,便可在前面板上看到結(jié)果,如圖: 例二:計(jì)算1. 在前面板上放置一個(gè)數(shù)值輸入控件“階次n”和一個(gè)數(shù)值顯示控件“求和結(jié)果” 2.

7、 在程序框圖上放置兩個(gè)For循環(huán)嵌套結(jié)構(gòu),外層循環(huán)的計(jì)數(shù)端口與“階次n”連接,輸出是各個(gè)數(shù)的階乘所組成的一個(gè)數(shù)組。它的重復(fù)端子加1作為內(nèi)層循環(huán)的循環(huán)次數(shù),內(nèi)層循環(huán)利用一個(gè)移位寄存器實(shí)現(xiàn)階乘運(yùn)算,移位寄存器的初始值設(shè)為1。 3. 同樣在程序框圖的右邊在放置一個(gè)For循環(huán)結(jié)構(gòu),它的計(jì)數(shù)端子沒有任何連接數(shù)據(jù),使用的是自動(dòng)索引功能。這個(gè)循環(huán)的作用是對(duì)由階乘所組成的一個(gè)數(shù)組進(jìn)行索引,對(duì)索引出的各個(gè)元素進(jìn)行求和計(jì)算,最后將計(jì)算結(jié)果輸出給“求和結(jié)果”。 4. 完成連線,如圖: 運(yùn)行結(jié)果如圖:例三:計(jì)算自然對(duì)數(shù)中底數(shù)e的近似值。 算法:步驟: 1. 新建一個(gè)VI,打開前面板,添加兩個(gè)數(shù)字顯示控件,分別表示“近

8、似值e”和“臨界階次N”。 2. 切換到程序框圖,放置一個(gè)While循環(huán),將條件端子的條件改為“真時(shí)停止”。在它內(nèi)部再放置一個(gè)For循環(huán),計(jì)數(shù)端子與While循環(huán)結(jié)構(gòu)的重復(fù)端子加1后連接。右擊For循環(huán)邊框,添加移位寄存器,并初始化為1,F(xiàn)or循環(huán)結(jié)構(gòu)的功能是計(jì)算各個(gè)數(shù)的階乘。 3. 計(jì)算各個(gè)數(shù)階乘的倒數(shù),添加倒數(shù)函數(shù),它位于函數(shù)編程數(shù)值倒數(shù)。 4. 添加比較函數(shù),將它的階乘的倒數(shù)與10-5比較,比較結(jié)果連接到While循環(huán)結(jié)構(gòu)的條件端子上,如果小于則返回“真”,停止循環(huán),否則返回“假”繼續(xù)循環(huán)。 5. 由于While循環(huán)默認(rèn)的是不能夠自動(dòng)索引功能,而程序中需要累加保存每次計(jì)算的階乘,這就需要在輸出通道上選擇“啟用索引”,實(shí)現(xiàn)自動(dòng)索引,將各個(gè)元素累加成為一維數(shù)組。 6. 在程序框圖右邊再添加一個(gè)For循環(huán),它的功能是進(jìn)行自動(dòng)索引求和,需要主機(jī)的是它的移位寄存器被初始化為1,這是由近似算法所決定的。將輸出結(jié)果送給“近似值e”。 7. 完成連線,并運(yùn)行程序。如圖: 運(yùn)行結(jié)果,如圖: 例四:實(shí)現(xiàn)對(duì)隨機(jī)數(shù)進(jìn)行平滑濾波。通過對(duì)4個(gè)連續(xù)的隨機(jī)數(shù)求其平均值來實(shí)現(xiàn)。 1. 新建一個(gè)VI,在前面板上放置兩個(gè)波形圖表,一個(gè)為“原始波形”,一個(gè)為“濾波后波形”。 2. 在程序框圖上放置一個(gè)While循環(huán),在邊框添加一個(gè)移位寄存器,然后在左邊的

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論