實(shí)驗(yàn)3matlab編程介紹與循環(huán)結(jié)構(gòu)_第1頁(yè)
實(shí)驗(yàn)3matlab編程介紹與循環(huán)結(jié)構(gòu)_第2頁(yè)
實(shí)驗(yàn)3matlab編程介紹與循環(huán)結(jié)構(gòu)_第3頁(yè)
實(shí)驗(yàn)3matlab編程介紹與循環(huán)結(jié)構(gòu)_第4頁(yè)
實(shí)驗(yàn)3matlab編程介紹與循環(huán)結(jié)構(gòu)_第5頁(yè)
已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、實(shí)驗(yàn)實(shí)驗(yàn)3 matlab編程介紹與循環(huán)結(jié)構(gòu)編程介紹與循環(huán)結(jié)構(gòu)3.1.1 建立、運(yùn)行M-文件的步驟o1. 建立建立M-文件的步驟文件的步驟o(1) 打開(kāi)程序編輯窗口,點(diǎn)擊打開(kāi)程序編輯窗口,點(diǎn)擊matlab命令窗口工具條上的命令窗口工具條上的New File圖標(biāo),或點(diǎn)擊命令窗口中的圖標(biāo),或點(diǎn)擊命令窗口中的File菜單,點(diǎn)擊選項(xiàng)菜單,點(diǎn)擊選項(xiàng)中的中的New,選擇,選擇M-file,就可以打開(kāi),就可以打開(kāi)打開(kāi)打開(kāi)MATLAB程序編輯程序編輯窗口,用戶可在窗口中輸入、編輯程序。窗口,用戶可在窗口中輸入、編輯程序。o (2) 保存程序:在程序輸入過(guò)程中或程序輸入完成后,點(diǎn)擊保存程序:在程序輸入過(guò)程中或程序

2、輸入完成后,點(diǎn)擊工具條上的工具條上的Save圖標(biāo),或點(diǎn)擊圖標(biāo),或點(diǎn)擊File菜單下的菜單下的Save,在彈出,在彈出的窗口中輸入自己定義的文件名,點(diǎn)擊的窗口中輸入自己定義的文件名,點(diǎn)擊保存保存保存文件。此保存文件。此時(shí),程序被保存在默認(rèn)路徑指定的時(shí),程序被保存在默認(rèn)路徑指定的work文件夾中文件夾中(初學(xué)者最初學(xué)者最好不要改變這個(gè)路徑,避免添加路徑步驟好不要改變這個(gè)路徑,避免添加路徑步驟),保存后的文件,保存后的文件名自動(dòng)加上名自動(dòng)加上“.m”后綴,即為后綴,即為M-文件。文件。o注意:注意:o文件名是要以字母開(kāi)頭中間不含空格和標(biāo)點(diǎn)符號(hào)的字符串;文件名是要以字母開(kāi)頭中間不含空格和標(biāo)點(diǎn)符號(hào)的字符

3、串;不能用漢字、數(shù)字和專用變量名作為文件名,如不能用漢字、數(shù)字和專用變量名作為文件名,如1,11,pi,ans等。等。o程序通常保存在文件夾:程序通常保存在文件夾:MATLAB6p5work中,此路徑為中,此路徑為MATLAB的默認(rèn)路徑。的默認(rèn)路徑。o程序若要存放到其他文件夾中,則要添加該路徑到程序若要存放到其他文件夾中,則要添加該路徑到MATLAB的路徑設(shè)置中,否則程序不能執(zhí)行。具體操作:點(diǎn)擊編輯窗的路徑設(shè)置中,否則程序不能執(zhí)行。具體操作:點(diǎn)擊編輯窗工具條上工具條上File菜單,選擇菜單,選擇Set Path.,此時(shí)打開(kāi)路徑設(shè)置窗口,此時(shí)打開(kāi)路徑設(shè)置窗口,再點(diǎn)擊再點(diǎn)擊Add Foider.,

4、選擇你所使用的文件夾,選擇你所使用的文件夾(若沒(méi)有,則要先若沒(méi)有,則要先新建新建),選定后該路徑自動(dòng)顯示在列表的第一行或最后一行,選定后該路徑自動(dòng)顯示在列表的第一行或最后一行,再點(diǎn)擊再點(diǎn)擊Save保存即可。保存即可。o2. 運(yùn)行運(yùn)行M-文件文件o運(yùn)行運(yùn)行M-文件有兩種方法:文件有兩種方法:o方法一:在方法一:在MATLAB編輯窗口中對(duì)正在編輯的編輯窗口中對(duì)正在編輯的M-文件,保存后文件,保存后可直接點(diǎn)擊工具條上的可直接點(diǎn)擊工具條上的Debug中的中的Run命令命令(或按或按F5鍵鍵),即可運(yùn),即可運(yùn)行當(dāng)前程序。其運(yùn)行結(jié)果或信息顯示在命令窗口,此時(shí),用戶行當(dāng)前程序。其運(yùn)行結(jié)果或信息顯示在命令窗口

5、,此時(shí),用戶可以切換到命令窗口進(jìn)行查看,之后可回到編輯窗對(duì)程序進(jìn)行可以切換到命令窗口進(jìn)行查看,之后可回到編輯窗對(duì)程序進(jìn)行修改,重新保存再次運(yùn)行。修改,重新保存再次運(yùn)行。o方法二:在方法二:在MATLAB命令窗口中直接輸入文件名回車(chē),即可運(yùn)命令窗口中直接輸入文件名回車(chē),即可運(yùn)行相應(yīng)的行相應(yīng)的M-文件。其運(yùn)行結(jié)果或程序運(yùn)行中的錯(cuò)誤信息等顯示文件。其運(yùn)行結(jié)果或程序運(yùn)行中的錯(cuò)誤信息等顯示在命令窗口,此時(shí),用戶若要修改程序則可以切換到編輯窗口在命令窗口,此時(shí),用戶若要修改程序則可以切換到編輯窗口進(jìn)行修改,修改后重新保存。進(jìn)行修改,修改后重新保存。o注意:當(dāng)對(duì)程序進(jìn)行修改保存時(shí),當(dāng)前程序?qū)⒏采w原來(lái)程序。注

6、意:當(dāng)對(duì)程序進(jìn)行修改保存時(shí),當(dāng)前程序?qū)⒏采w原來(lái)程序。此時(shí)若想保存為另外的文件,則要點(diǎn)擊工具條上的此時(shí)若想保存為另外的文件,則要點(diǎn)擊工具條上的File菜單,菜單,選擇選擇Save as.,另取文件名保存即可。,另取文件名保存即可。o3.1.2 MATLAB程序的基本結(jié)構(gòu)程序的基本結(jié)構(gòu)o程序是使計(jì)算機(jī)實(shí)現(xiàn)某一類功能任務(wù)的命令集。程序是使計(jì)算機(jī)實(shí)現(xiàn)某一類功能任務(wù)的命令集。MATLAB提供了三種基本的程序結(jié)構(gòu):提供了三種基本的程序結(jié)構(gòu):順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)順序結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和選擇結(jié)構(gòu)構(gòu)。因此,。因此,MATLAB中除了按正常順序執(zhí)行程序中的命令中除了按正常順序執(zhí)行程序中的命令和函數(shù)以外,有多種控

7、制程序流程的語(yǔ)句,這些語(yǔ)句包括和函數(shù)以外,有多種控制程序流程的語(yǔ)句,這些語(yǔ)句包括for,while,if,switch,try,continue,break,return等。等。用戶編制程序時(shí),需要按照解決問(wèn)題的邏輯步驟和求解算法,用戶編制程序時(shí),需要按照解決問(wèn)題的邏輯步驟和求解算法,用用MATLAB提供的這些語(yǔ)句和函數(shù),按照三種基本結(jié)構(gòu)逐提供的這些語(yǔ)句和函數(shù),按照三種基本結(jié)構(gòu)逐條編寫(xiě)。一般一行一條語(yǔ)句,以便調(diào)試和查找錯(cuò)誤。條編寫(xiě)。一般一行一條語(yǔ)句,以便調(diào)試和查找錯(cuò)誤。o程序一般包含三個(gè)部分:數(shù)據(jù)輸入、功能處理和結(jié)果輸出。程序一般包含三個(gè)部分:數(shù)據(jù)輸入、功能處理和結(jié)果輸出。其中功能處理部分是核

8、心,主要是根據(jù)處理問(wèn)題的邏輯步驟,其中功能處理部分是核心,主要是根據(jù)處理問(wèn)題的邏輯步驟,采用循環(huán)迭代、判斷推理、分步計(jì)算等來(lái)解決問(wèn)題。采用循環(huán)迭代、判斷推理、分步計(jì)算等來(lái)解決問(wèn)題。o3.1.3 M-文件的輸入、輸出方式文件的輸入、輸出方式oM-文件的輸入、輸出方式同前面所講的命令窗中文件的輸入、輸出方式同前面所講的命令窗中的輸入、輸出方式基本相同,具體如下:的輸入、輸出方式基本相同,具體如下:o1. 輸入方式輸入方式o(1) 程序中直接賦值程序中直接賦值ox=2 ;oa=1 2 3 ;4 5 6 ;7 8 0 ;os=Any string !o3. 程序運(yùn)行時(shí)賦值程序運(yùn)行時(shí)賦值o格式:變量格式

9、:變量=input(提示符號(hào)串提示符號(hào)串);o功能功能: 從鍵盤(pán)接收數(shù)據(jù)并賦予等號(hào)左邊變量。其中從鍵盤(pán)接收數(shù)據(jù)并賦予等號(hào)左邊變量。其中提提示符號(hào)串示符號(hào)串是在命令窗口中的提示。如:是在命令窗口中的提示。如:oX=input(x=);oY= input(Please input y=); %提示語(yǔ)句輸入提示語(yǔ)句輸入o當(dāng)執(zhí)行此語(yǔ)句時(shí),暫停程序運(yùn)行,在命令窗口中光標(biāo)當(dāng)執(zhí)行此語(yǔ)句時(shí),暫停程序運(yùn)行,在命令窗口中光標(biāo)將停留在提示符號(hào)串后閃爍,等待從鍵盤(pán)接收數(shù)據(jù)。將停留在提示符號(hào)串后閃爍,等待從鍵盤(pán)接收數(shù)據(jù)。用戶從鍵盤(pán)輸入數(shù)據(jù)并按回車(chē)鍵確認(rèn),繼續(xù)程序運(yùn)行。用戶從鍵盤(pán)輸入數(shù)據(jù)并按回車(chē)鍵確認(rèn),繼續(xù)程序運(yùn)行。其優(yōu)

10、點(diǎn)是,每次運(yùn)行可以輸入不同數(shù)據(jù),實(shí)現(xiàn)人機(jī)對(duì)其優(yōu)點(diǎn)是,每次運(yùn)行可以輸入不同數(shù)據(jù),實(shí)現(xiàn)人機(jī)對(duì)話。話。o2. 輸出方式輸出方式o(1)直接輸出直接輸出o% 變量后無(wú)分號(hào)變量后無(wú)分號(hào)“;”,變量直接輸出,變量直接輸出odisp(a); % a可以是標(biāo)量、向量、矩陣可以是標(biāo)量、向量、矩陣o(2) 格式控制輸出格式控制輸出o格式:格式:fprintf(x=%.3f y=%.0fn,a,b); %按指定格式輸出;按指定格式輸出;o其中,單引號(hào)內(nèi)為格式說(shuō)明符,其中,單引號(hào)內(nèi)為格式說(shuō)明符,%前為提示符,前為提示符,%.3f為數(shù)據(jù)為數(shù)據(jù)格式符,通常格式符,通常o與單引號(hào)后面的數(shù)據(jù)項(xiàng)對(duì)應(yīng),與單引號(hào)后面的數(shù)據(jù)項(xiàng)對(duì)應(yīng),

11、f指顯示一個(gè)實(shí)數(shù),指顯示一個(gè)實(shí)數(shù),3表示顯示表示顯示的數(shù)小數(shù)點(diǎn)后的數(shù)小數(shù)點(diǎn)后3位,小數(shù)點(diǎn)前整數(shù)部分不限。位,小數(shù)點(diǎn)前整數(shù)部分不限。%.0f指顯示一實(shí)指顯示一實(shí)數(shù)其小數(shù)部分顯示數(shù)其小數(shù)部分顯示0位,結(jié)果只顯示整數(shù)部分。位,結(jié)果只顯示整數(shù)部分。n為換行符,為換行符,即一行顯示結(jié)束后,光標(biāo)自動(dòng)換到下一行。即一行顯示結(jié)束后,光標(biāo)自動(dòng)換到下一行。a、b為要顯示的為要顯示的變量,它們與前面的格式符相對(duì)應(yīng)。變量,它們與前面的格式符相對(duì)應(yīng)。o例如:例如:ofprintf(x=%.5f y=%.0fn,pi,sqrt(2);ox=3.14159 y=1ofprintf(x=%.5f y=%.0fn ,sqrt(

12、2), pi);ox=1.41421 y=33.2 MATLAB循環(huán)結(jié)構(gòu)與應(yīng)用循環(huán)結(jié)構(gòu)與應(yīng)用o循環(huán)結(jié)構(gòu)是循環(huán)結(jié)構(gòu)是MATLAB程序中最常見(jiàn)的結(jié)構(gòu)程序中最常見(jiàn)的結(jié)構(gòu)之一,它是讓計(jì)算機(jī)按照一定的條件多次重之一,它是讓計(jì)算機(jī)按照一定的條件多次重復(fù)執(zhí)行某一命令集,從而實(shí)現(xiàn)諸如累加、迭復(fù)執(zhí)行某一命令集,從而實(shí)現(xiàn)諸如累加、迭代、分層計(jì)算等功能。代、分層計(jì)算等功能。MATLAB軟件提供軟件提供了兩種循環(huán)結(jié)構(gòu):有限次循環(huán)了兩種循環(huán)結(jié)構(gòu):有限次循環(huán)for-end結(jié)構(gòu)和結(jié)構(gòu)和條件循環(huán)條件循環(huán)while-end結(jié)構(gòu)。結(jié)構(gòu)。3.2.1 有限次循環(huán)有限次循環(huán)(for-end)結(jié)構(gòu)結(jié)構(gòu)o格式:格式:o for n = n

13、1: step: n2o commands-1o endocommands-2o其中其中n為循環(huán)變量為循環(huán)變量(自己定義自己定義),n1為起始值,為起始值,step為步長(zhǎng),為步長(zhǎng),n2為結(jié)束值;為結(jié)束值;commands-1為循環(huán)體為循環(huán)體(循環(huán)模塊循環(huán)模塊),commands-2為后續(xù)命令。為后續(xù)命令。o作用:循環(huán)變量作用:循環(huán)變量n從從n1開(kāi)始,執(zhí)行開(kāi)始,執(zhí)行commands-1,遇到,遇到end時(shí)時(shí)n自動(dòng)增加自動(dòng)增加step步長(zhǎng),同時(shí)與步長(zhǎng),同時(shí)與n2比較,當(dāng)比較,當(dāng)n不超過(guò)不超過(guò)n2時(shí)重復(fù)執(zhí)時(shí)重復(fù)執(zhí)行行commands-1;當(dāng);當(dāng)n超過(guò)超過(guò)n2時(shí)轉(zhuǎn)向執(zhí)行時(shí)轉(zhuǎn)向執(zhí)行commands-2。

14、當(dāng)步。當(dāng)步長(zhǎng)為長(zhǎng)為1時(shí)可省略。時(shí)可省略。o在設(shè)計(jì)在設(shè)計(jì)for-end循環(huán)結(jié)構(gòu)時(shí),應(yīng)在循循環(huán)結(jié)構(gòu)時(shí),應(yīng)在循環(huán)模塊內(nèi)充分利用循環(huán)變量的變化環(huán)模塊內(nèi)充分利用循環(huán)變量的變化規(guī)律,開(kāi)展相關(guān)運(yùn)算。另外,結(jié)構(gòu)規(guī)律,開(kāi)展相關(guān)運(yùn)算。另外,結(jié)構(gòu)中中for與與end要成對(duì)出現(xiàn)。要成對(duì)出現(xiàn)。o例例3-1:求:求n(n=100)個(gè)奇數(shù)的和:)個(gè)奇數(shù)的和:s=1+3+5+(2n-1).oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=100; %賦值給定奇數(shù)的個(gè)數(shù)賦值給定奇數(shù)的個(gè)數(shù)os=0; %設(shè)定存放和的變量設(shè)定存放和的變量s并賦初值并賦初值0ofor i=1:n o%定義循環(huán)變量定義

15、循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即為奇數(shù)序號(hào)為步長(zhǎng),即為奇數(shù)序號(hào)os=s+(2*i-1); o%先計(jì)算右端奇數(shù)并累加后再賦給左端的變量先計(jì)算右端奇數(shù)并累加后再賦給左端的變量sofprintf(i=%.0f, s=%.0fn,i,s) o %逐行顯示出累加求和的過(guò)程逐行顯示出累加求和的過(guò)程oend % 循環(huán)體結(jié)束循環(huán)體結(jié)束oi=1, s=1i=1, s=1ooi=98, s=9604i=98, s=9604oi=99, s=9801i=99, s=9801oi=100, s=10000i=100, s=10000問(wèn)題問(wèn)題1:可否用從可否用從1開(kāi)始的奇數(shù)作為循環(huán)變量?開(kāi)始的奇數(shù)作為循環(huán)變量

16、?oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=2*100-1; %賦值給定奇數(shù)的個(gè)數(shù)賦值給定奇數(shù)的個(gè)數(shù)os=0; %設(shè)定存放和的變量設(shè)定存放和的變量s并賦初值并賦初值0ofor i=1:2:n o%定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即為奇數(shù)序號(hào)為步長(zhǎng),即為奇數(shù)序號(hào)os=s+i; o%先計(jì)算右端奇數(shù)并累加后再賦給左端的變量先計(jì)算右端奇數(shù)并累加后再賦給左端的變量o oend % 循環(huán)體結(jié)束循環(huán)體結(jié)束ofprintf(i=%.0f, s=%.0fn,i,s) o%逐行顯示出累加求和的過(guò)程逐行顯示出累加求和的過(guò)程oclear;clc; %清

17、除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口om= input(請(qǐng)輸入第請(qǐng)輸入第m個(gè)奇數(shù)個(gè)奇數(shù))on=2*m-1; %賦值給定奇數(shù)的個(gè)數(shù)賦值給定奇數(shù)的個(gè)數(shù)os=0; %設(shè)定存放和的變量設(shè)定存放和的變量s并賦初值并賦初值0ofor i=1:2:n o%定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即為奇數(shù)序號(hào)為步長(zhǎng),即為奇數(shù)序號(hào)os=s+i; o%先計(jì)算右端奇數(shù)并累加后再賦給左端的變量先計(jì)算右端奇數(shù)并累加后再賦給左端的變量o oend % 循環(huán)體結(jié)束循環(huán)體結(jié)束ofprintf(i=%.0f, s=%.0fn,i,s) o%逐行顯示出累加求和的過(guò)程逐行顯示出累加求和的過(guò)程問(wèn)題問(wèn)題2

18、:不顯示求和過(guò)程,只顯示最后結(jié)果?不顯示求和過(guò)程,只顯示最后結(jié)果?oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=100; %賦值給定奇數(shù)的個(gè)數(shù)賦值給定奇數(shù)的個(gè)數(shù)os=1; %設(shè)定存放和的變量設(shè)定存放和的變量s并賦初值并賦初值0ofor i=2:n o%定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即為奇數(shù)序號(hào)為步長(zhǎng),即為奇數(shù)序號(hào)os=s+(2*i-1); o%先計(jì)算右端奇數(shù)并累加后再賦給左端的變量先計(jì)算右端奇數(shù)并累加后再賦給左端的變量soend ofprintf(i=%.0f, s=%.0fn,i,s) o%顯示出最后結(jié)果顯示出最后結(jié)果例例3-2

19、:求正整數(shù):求正整數(shù)n的階乘:的階乘:p=12 3 n = n!,并求出,并求出n=20時(shí)的結(jié)果。時(shí)的結(jié)果。o分析:這是一個(gè)逐次乘積的過(guò)程,從分析:這是一個(gè)逐次乘積的過(guò)程,從1開(kāi)始開(kāi)始存放在積存放在積p中,再乘以下一個(gè)正整數(shù)之后再中,再乘以下一個(gè)正整數(shù)之后再取代積取代積p,以此類推,直到乘至第,以此類推,直到乘至第n個(gè)數(shù),因個(gè)數(shù),因此,使用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。此,使用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn)。oi=1, p=1oi=2, p=2oi=3, p=6oi=4, p=24oi=5, p=120oi=6, p=720oi=7, p=5040oi=8, p=40320oi=9, p=362880oi=10, p=36

20、28800oi=11, p=39916800oi=12, p=479001600oi=13, p=6227020800oi=14, p=87178291200oi=15, p=1307674368000oi=16, p=20922789888000oi=17, p=355687428096000oi=18, p=6402373705728000oi=19, p=121645100408832000oi=20, p=2432902008176640000只顯示最后一個(gè)數(shù)的階乘只顯示最后一個(gè)數(shù)的階乘oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=20; %賦值給

21、定正整數(shù)賦值給定正整數(shù)op=1; %設(shè)定存放階乘的變量設(shè)定存放階乘的變量p并賦初值并賦初值1ofor i=1:n o%定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即連續(xù)正整數(shù)為步長(zhǎng),即連續(xù)正整數(shù)op=p*i; %先計(jì)算右端乘積后再賦給左端的變量先計(jì)算右端乘積后再賦給左端的變量poend %循環(huán)結(jié)構(gòu)結(jié)束循環(huán)結(jié)構(gòu)結(jié)束ofprintf(i=%.0f, p=%.0fn,i,p) o%顯示出顯示出i和和p (注意該行要不要注意該行要不要“;”都會(huì)輸出都會(huì)輸出)oi=20, p=2432902008176640000fprintf(i=%.0f, p=%.0fn,i,p) 可改為:可改為:i,

22、poclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=20; %賦值給定正整數(shù)賦值給定正整數(shù)op=1; %設(shè)定存放階乘的變量設(shè)定存放階乘的變量p并賦初值并賦初值1ofor i=1:n o%定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即連續(xù)正整數(shù)為步長(zhǎng),即連續(xù)正整數(shù)op=p*i; %先計(jì)算右端乘積后再賦給左端的變量先計(jì)算右端乘積后再賦給左端的變量poend %循環(huán)結(jié)構(gòu)結(jié)束循環(huán)結(jié)構(gòu)結(jié)束oi,po%fprintf(i=%.0f, p=%.0fn,i,p) 可改為:可改為:i,poi=20, p = 2.4329e+018利用利用input命令對(duì)命令對(duì)n進(jìn)行

23、賦值,隨時(shí)改變其進(jìn)行賦值,隨時(shí)改變其大小。大小。oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口op=1; %設(shè)定存放階乘的變量設(shè)定存放階乘的變量p并賦初值并賦初值1on= input(Please input n=)ofor i=1:n %定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng),即為步長(zhǎng),即連續(xù)正整數(shù)連續(xù)正整數(shù)op=p*i; o%先計(jì)算右端乘積后再賦給左端的變量先計(jì)算右端乘積后再賦給左端的變量poend %循環(huán)結(jié)構(gòu)結(jié)束循環(huán)結(jié)構(gòu)結(jié)束ofprintf(i=%.0f, p=%.0fn,i,p) %顯示出顯示出ioPlease input n=oPlea

24、se input n=10on =o 10oi=10, p=3628800例例3-3:根據(jù)麥克勞林公式可以得到:根據(jù)麥克勞林公式可以得到e1+1+1/2!+1/3!+1/n!,試求,試求e的近似值。的近似值。oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=10; %賦值給定正整數(shù)賦值給定正整數(shù)op=1; %設(shè)定存放階乘的變量設(shè)定存放階乘的變量p并賦初值并賦初值1os=1; %設(shè)定存放累加和的變量設(shè)定存放累加和的變量s并賦初值并賦初值1ofor i=1:n %定義循環(huán)變量定義循環(huán)變量i從從1到到n,以,以1為步長(zhǎng)為步長(zhǎng)op=p*i; %先計(jì)算右端乘積后再賦給左

25、端的變量先計(jì)算右端乘積后再賦給左端的變量p,此時(shí),此時(shí)p為為i的階乘的階乘os=s+1/p; o%先計(jì)算右端階乘倒數(shù)的累加后再賦給左端的變量先計(jì)算右端階乘倒數(shù)的累加后再賦給左端的變量sofprintf(i=%.0f, s=%.8fn,i,s) o%逐行顯示出第逐行顯示出第i次次e的近似值的近似值o end %循環(huán)結(jié)構(gòu)結(jié)束循環(huán)結(jié)構(gòu)結(jié)束oi=1, s=2.00000000oi=2, s=2.50000000oi=3, s=2.66666667oi=4, s=2.70833333oi=5, s=2.71666667oi=6, s=2.71805556oi=7, s=2.71825397oi=8, s

26、=2.71827877oi=9, s=2.71828153oi=10, s=2.71828180o問(wèn)題:如何有效控制問(wèn)題:如何有效控制e的近似值的精度,或的近似值的精度,或者說(shuō)如何修改程序使其根據(jù)近似值的精度要者說(shuō)如何修改程序使其根據(jù)近似值的精度要求自動(dòng)控制循環(huán)次數(shù)?求自動(dòng)控制循環(huán)次數(shù)?3.2.2 條件循環(huán)條件循環(huán)(while-end)結(jié)構(gòu)結(jié)構(gòu)o格式:格式:while(conditions)o Commands-1;o End o Commands-2;o作用:當(dāng)條件作用:當(dāng)條件conditions成立即條件為真時(shí),執(zhí)行成立即條件為真時(shí),執(zhí)行commands-1,當(dāng)遇到,當(dāng)遇到end時(shí),自動(dòng)檢

27、測(cè)條件;當(dāng)條時(shí),自動(dòng)檢測(cè)條件;當(dāng)條件件conditions不滿足時(shí),轉(zhuǎn)向執(zhí)行不滿足時(shí),轉(zhuǎn)向執(zhí)行commands-2。在設(shè)。在設(shè)計(jì)計(jì)while-end循環(huán)結(jié)構(gòu)時(shí),應(yīng)在循環(huán)模塊內(nèi)有改變循環(huán)結(jié)構(gòu)時(shí),應(yīng)在循環(huán)模塊內(nèi)有改變conditions的內(nèi)容,確保在執(zhí)行了一定次數(shù)之后可以的內(nèi)容,確保在執(zhí)行了一定次數(shù)之后可以結(jié)束循環(huán);否則,就成了結(jié)束循環(huán);否則,就成了“死循環(huán)死循環(huán)”,即無(wú)限次重復(fù),即無(wú)限次重復(fù)執(zhí)行循環(huán)。另外,執(zhí)行循環(huán)。另外,結(jié)構(gòu)中結(jié)構(gòu)中while與與end要成對(duì)出現(xiàn)要成對(duì)出現(xiàn)。例例3-4:對(duì)于數(shù)列:對(duì)于數(shù)列 ,求其前,求其前n項(xiàng)和項(xiàng)和不超過(guò)不超過(guò)1000時(shí)的時(shí)的n的值及和的值及和.o分析:用循環(huán)結(jié)

28、構(gòu)來(lái)實(shí)現(xiàn),但每次累加前要判斷大小。分析:用循環(huán)結(jié)構(gòu)來(lái)實(shí)現(xiàn),但每次累加前要判斷大小。oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=0; %設(shè)定正整數(shù)并賦初值設(shè)定正整數(shù)并賦初值0os=0; %設(shè)定存放累加和的變量設(shè)定存放累加和的變量s并賦初值并賦初值0owhile s=1000 o %用累加和用累加和s與與1000進(jìn)行比較作為循環(huán)條件進(jìn)行比較作為循環(huán)條件on=n+1; %改變改變n為連續(xù)正整數(shù)為連續(xù)正整數(shù)os=s+sqrt(n); o%先計(jì)算右端開(kāi)方數(shù)的累加后再賦給左端的變量先計(jì)算右端開(kāi)方數(shù)的累加后再賦給左端的變量sofprintf(n=%.0f, s=%.4

29、fn,n,s) o%逐行顯示正整數(shù)及部分和逐行顯示正整數(shù)及部分和oend %循環(huán)結(jié)構(gòu)結(jié)束循環(huán)結(jié)構(gòu)結(jié)束, 2 , 1,nnoon=128, s=970.8891on=129, s=982.2469on=130, s=993.6487on=131, s=1005.0942問(wèn)題:從結(jié)果上看,最后一行的結(jié)果并不是要求的答案,問(wèn)題:從結(jié)果上看,最后一行的結(jié)果并不是要求的答案,而倒數(shù)第二行是所求問(wèn)題的解。這是為什么?如何修改程而倒數(shù)第二行是所求問(wèn)題的解。這是為什么?如何修改程序來(lái)避免這種情況?序來(lái)避免這種情況?oclear;clc; %清除內(nèi)存變量,清理命令窗口清除內(nèi)存變量,清理命令窗口on=0; %設(shè)定正整數(shù)并賦初值設(shè)定正整數(shù)并賦初值0os=0; %設(shè)定存放累加和的變量設(shè)定存放累加和的變量s并賦初值并賦初值0owhile s=1000 %用累加和用累加和s與與1000進(jìn)行比較作為循環(huán)條件進(jìn)行比較作為循環(huán)條件on=n+1; %改變改變n為連續(xù)正整數(shù)為連續(xù)正整數(shù)oa=s;os=s+sqrt(n); o%

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論