Matlab編寫與調(diào)用函數(shù).pdf

Matlab編寫與調(diào)用函數(shù).pdf

ID:56974240

大小:192.14 KB

頁數(shù):8頁

時(shí)間:2020-07-30

Matlab編寫與調(diào)用函數(shù).pdf_第1頁
Matlab編寫與調(diào)用函數(shù).pdf_第2頁
Matlab編寫與調(diào)用函數(shù).pdf_第3頁
Matlab編寫與調(diào)用函數(shù).pdf_第4頁
Matlab編寫與調(diào)用函數(shù).pdf_第5頁
資源描述:

《Matlab編寫與調(diào)用函數(shù).pdf》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。

1、MATLAB學(xué)習(xí)指南第六章.編寫與調(diào)用函數(shù)在這一章中,我們討論如何用多源代碼文件來構(gòu)造一個(gè)程序。首先,解釋代碼文件在MATLAB中如何工作。在編譯語言中,例如FORTRAN,C,或C++,代碼被存儲(chǔ)在一個(gè)或多個(gè)源文件中,在進(jìn)行編譯的時(shí)候,這些源文件組合在一起形成了一個(gè)單獨(dú)的可執(zhí)行文件。作為一種解釋型語言,MATLAB以一種更廣泛的方式來處理多個(gè)源文件。MATLAB代碼被放入帶有擴(kuò)展名.m的ASCII文件(或稱m-文件)中。MATLAB6有一個(gè)集成字處理與調(diào)試應(yīng)用程序,盡管會(huì)用到其它編輯程序如vi或emacs,集成字處理與調(diào)試

2、應(yīng)用程序仍是編譯m-文件的首選程序。有兩種不同的m-文件。一種是腳本文件,它是一種最簡單的文件,僅僅將MATLAB中的指令收集在一起。當(dāng)在交互提示符處輸入文件名執(zhí)行腳本文件時(shí),MATLAB在m-文件內(nèi)讀取并執(zhí)行指令,就好像指令是我們輸入的。而且,似乎我們能夠削減m-文件的內(nèi)容并將削減過的內(nèi)容傳到MATLAB指令窗口中。這種m-文件的用法將在6.1節(jié)中給予概述。在6.2節(jié)中要討論的第二種m-文件包含一個(gè)單一函數(shù),此函數(shù)名與此m-文件名相同。這種m-文件包含一段獨(dú)立的代碼,這段代碼具有一個(gè)明確規(guī)定的輸入/輸出界面;那就是說,傳給

3、這段代碼一列空變量arg1,arg2,…,這段獨(dú)立代碼就能夠被調(diào)用,然后返回輸出值out1,out2,…。一個(gè)函數(shù)m-文件的第一個(gè)非注釋行包含函數(shù)標(biāo)頭,其形式如下:此m-文件以返回指令結(jié)束,將執(zhí)行程序返回到函數(shù)被調(diào)用的位置?;蛘咴诮换ブ噶钐崾痉幓蛘咴诹硪粋€(gè)m-文件內(nèi),無論何時(shí)用下列指令調(diào)用函數(shù)代碼,函數(shù)代碼都將被執(zhí)行。輸入映射到空變量:arg1=var1,arg2=var2,等等。在函數(shù)主體內(nèi),輸出值被分配給了變量out1,out2,等等。當(dāng)遇到返回值時(shí),當(dāng)前值out1,out2,…在函數(shù)被調(diào)用處被映射到變量outvar1

4、,outvar2,…。在用可變長度自變量和輸出變量列表編寫函數(shù)時(shí),MATLAB允許更多的自由。例如,也可以使用下列指令來調(diào)用函數(shù)。在此情況下,僅返回一個(gè)單一輸出變量,這個(gè)變量在出口處包含函數(shù)變量out1的值。輸入和輸出自變量可能是字符串,數(shù)值,向量,矩陣,或者更高級(jí)的數(shù)據(jù)結(jié)構(gòu)。為什么使用函數(shù)呢?因?yàn)閺拿块T計(jì)算機(jī)科學(xué)課程中可知,把一個(gè)大的程序分割成多個(gè)可以單獨(dú)執(zhí)行一個(gè)被明確規(guī)定的和被注釋過的任務(wù)的小程序會(huì)使大程序易讀,易于修改,不易于出錯(cuò)。在MATLAB中,先為程序編寫一個(gè)主文件,或者是一個(gè)腳本文件或者更好的話,是一個(gè)能夠返回

5、一個(gè)單一整數(shù)的函數(shù)m-文件(返回1表示程序執(zhí)行成功,0表示不完全程序執(zhí)行,負(fù)值表示出現(xiàn)運(yùn)行誤差),這個(gè)主文件是程序的進(jìn)入點(diǎn)。通過把m-文件當(dāng)作函數(shù)來調(diào)用,此程序文件可以調(diào)用其它m-文件中的代碼。但是,如果沒有編譯過程將所有的源代碼文件結(jié)合起來,當(dāng)一個(gè)函數(shù)被調(diào)用時(shí),MATLAB又怎能知道去哪找這個(gè)函數(shù)呢?MATLAB的程序內(nèi)存包含一個(gè)搜索路徑列表,使用指令path可以查看列表的內(nèi)容,此列表存儲(chǔ)目錄名,包括包含函數(shù)m-文件的目錄名。起初,路徑僅將包含MATLAB內(nèi)部函數(shù)如sin(),exp(),…的目錄編入列表。正如6.2節(jié)中所

6、證明的那樣,使用指令addpath便可向此列表中添加包含用于當(dāng)前計(jì)劃的m-文件的每一個(gè)目錄名。然后,當(dāng)MATLAB代碼解釋程序遇到一個(gè)函數(shù)時(shí),比如說帶有文件名filename的函數(shù),此代碼解釋程序便開始從路徑列表的最頂端開始一直向下搜索目錄,尋找一個(gè)文件filename.m。當(dāng)找到后,MATLAB代碼解釋程序便以上述方式執(zhí)行此文件的代碼。由于這個(gè)原因,m-文件的文件名必須要和函數(shù)名相一致;事實(shí)上,只需要考慮文件名。6.1.編寫與運(yùn)行m-文件盡管MATLAB可以從命令行開始被交互運(yùn)行,通過建立一個(gè)文本文件,你能夠編寫一個(gè)MAT

7、LAB程序。此文本文件包含你希望MATLAB執(zhí)行的指令,這些指令是按照它們出現(xiàn)在文件中的順序被執(zhí)行的。包含MATLAB程序的文本文件的標(biāo)準(zhǔn)文件擴(kuò)展名為.m。在MATLAB指令窗口中,選擇下拉菜單File->New->M-file打開集成MATLAB文本編輯程序來編寫一個(gè)m-文件。此實(shí)用軟件與文字處理軟件非常相似,所以對(duì)于編寫和保存m-文件的用處這里就不做具體解釋了。舉個(gè)例子,把此節(jié)作為一個(gè)文件“MATLAB_tutorial_c6s1.m”,這個(gè)文件僅有下列可執(zhí)行指令。通過輸入文件名,我們可從提示符處運(yùn)行這一m-文件如果現(xiàn)在

8、輸入“whos”,我們可以看到,在程序末端存儲(chǔ)在內(nèi)存中的變量在運(yùn)行完m-文件后仍然存儲(chǔ)在內(nèi)存中。這是因?yàn)槲覀円呀?jīng)把m-文件編寫為一個(gè)腳本文件,在腳本文件中,我們只是將一個(gè)文件中的若干指令收集在一起,然后,當(dāng)腳本文件運(yùn)行時(shí),代碼會(huì)逐一執(zhí)行這些指令。這就好像是我們把指令輸入到了交互對(duì)話窗口。m

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無此問題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。