版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Matlab編程m文件程序控制結(jié)構(gòu)程序調(diào)試程序示例,1.1 matlab工作模式,指令驅(qū)動(dòng)模式matlab通常工作在指令驅(qū)動(dòng)模式,即當(dāng)用戶在matlab窗口輸入單行指令時(shí),matlab立即處理指令并顯示結(jié)果,這就是MATLAB命令行模式。當(dāng)在命令行上操作時(shí),matlab窗口一次只允許在一行上執(zhí)行一個(gè)或幾個(gè)語(yǔ)句。1。m文件,示例1:每行一條指令由指令驅(qū)動(dòng)x1=0:10 X11=01234567 8 9 10 x2=0:336011 x2=0369 x3=11.53360-:0 x3=11.5000 8.5000 5.5000 2.5000命令行驅(qū)動(dòng)程序,一行多條指令x1=0:10,x2=0對(duì)于復(fù)
2、雜的問題,應(yīng)該把它寫成一個(gè)可存儲(chǔ)的程序文件。m文件模式將由matlab語(yǔ)句組成的程序存儲(chǔ)為擴(kuò)展名為m的文件,然后執(zhí)行程序文件。這種工作模式稱為程序文件模式。不能在命令窗口下創(chuàng)建程序文件,因?yàn)槊畲翱谝淮沃辉试S執(zhí)行一行中的一個(gè)或幾個(gè)語(yǔ)句。腳本文件:將幾個(gè)應(yīng)該在MATLAB環(huán)境中直接輸入的語(yǔ)句保存為文件。m后綴,在命令行上鍵入文件名而不是幾條語(yǔ)句,并一次執(zhí)行批處理命令。函數(shù)文件:以固定格式編寫的程序代碼,第一行是函數(shù)定義行。以及c語(yǔ)言、Fortran和其他語(yǔ)言程序。一個(gè)用MATLAB語(yǔ)言編寫的程序,叫做m文件。根據(jù)調(diào)用方法的不同,可以將M文件分為兩類:腳本文件和函數(shù)文件,1.2m文件,通過對(duì)這兩種
3、文件的比較,創(chuàng)建1.3 M文件,M文件的類型是普通的文本文件,所以我們可以用一個(gè)被系統(tǒng)認(rèn)可的文本文件編輯器來創(chuàng)建M文件。例如MATLAB下的m文件編輯器,windows下的記事本和word等。具體創(chuàng)作方法:1 .編輯用matlab編輯器編譯M文件。啟動(dòng)MATLAB文本編輯器有三種方法:(1)菜單操作。在MATLAB主窗口的文件菜單中選擇新建菜單項(xiàng),然后選擇移動(dòng)文件命令,MATLAB文本編輯器窗口將出現(xiàn)在屏幕上。(2)命令操作。在MATLAB命令窗口中輸入編輯命令,啟動(dòng)MATLAB文本編輯器,然后輸入m文件的內(nèi)容并保存。(3)命令按鈕操作。單擊MATLAB主窗口工具欄上的新建M文件命令按鈕,啟動(dòng)
4、MATLAB文本編輯器后,輸入M文件的內(nèi)容并保存。2。使用記事本下的窗口創(chuàng)建一個(gè)M文件,和3。單擊文件將工作區(qū)另存為,將工作區(qū)中的內(nèi)容保存到文件中。Word用word編輯m文件。注意:在matlab命令窗口中運(yùn)行之前,創(chuàng)建的M文件必須包含在matlab搜索路徑中。m文件以。m文件后綴。matlab7.0的默認(rèn)路徑是c :大西洋b 701工作。如果創(chuàng)建的M文件放在新創(chuàng)建的目錄中,可以通過MATLAB菜單文件/添加路徑添加路徑。1.3.1命令文件簡(jiǎn)單M文件命令文件實(shí)際上是一系列指令的集合,這與在命令窗口中逐行執(zhí)行文件中的所有指令是一樣的。沒有輸入和輸出參數(shù)。,1.3 M文件格式,(1)命令文件格式
5、包括兩部分:注釋文件和程序文件%秩數(shù)線性獨(dú)立的行或列。% k=秩(X)是大于最大值(大小(X) *標(biāo)準(zhǔn)值(X) *每股收益的X %的奇異值數(shù)。%K=秩(X,tol)是大于tol的X的奇異值的數(shù)量。%版權(quán)所有(c) 1984年至1994年由MathWorks,Inc . s=SVD(x);如果(NAR gin=1)tol=max(size(x)* max(s)* EPS;結(jié)束r=總和(s tol);(2)命令M文件的建立和操作,包括以下步驟:進(jìn)入M文件編輯器輸入程序定義文件名,并保存程序命令M文件的運(yùn)行模式:直接在命令窗口輸入文件名,在M文件編輯器中打開文件,然后點(diǎn)擊工具欄中的“運(yùn)行”按鈕,例2
6、:添加兩個(gè)矩陣,1。進(jìn)入程序:%添加兩個(gè)矩陣clc清零a=1,2,3 b=4,5,6;C=a b,2。將當(dāng)前工作路徑另存為myadd.m,3。在命令窗口中輸入myadd,輸入或打開文件,然后單擊run按鈕給出結(jié)果:c=5 7 9。還有三種方法可以打開現(xiàn)有的m文件:(1)菜單操作。在MATLAB主窗口的“文件”菜單中選擇“打開”命令,屏幕上會(huì)出現(xiàn)“打開”對(duì)話框,選擇要打開的m個(gè)文件。在文檔窗口中,您可以編輯和修改打開的M文件。編輯后,保存M文件。(2)命令操作。輸入命令:在MATLAB命令窗口中編輯文件名,然后打開指定的m文件。(3)命令按鈕操作。單擊MATLAB主窗口工具欄上的“打開文件”命令
7、按鈕,然后從彈出的對(duì)話框中選擇要打開的m文件。1.3.2 matlab函數(shù)文件(1)函數(shù)(與c語(yǔ)言有同有異)函數(shù)工作空間:當(dāng)函數(shù)運(yùn)行時(shí),在內(nèi)存中打開一個(gè)存儲(chǔ)空間,存儲(chǔ)函數(shù)命令和運(yùn)行的中間結(jié)果,并在運(yùn)行后釋放它們。對(duì)應(yīng)于工作空間。函數(shù)變量:形式參數(shù)是輸入變量,返回值是輸出變量。可以有多個(gè)返回值。(2) matlab函數(shù)內(nèi)置文件matlab自定義函數(shù)文件稱為內(nèi)置函數(shù)文件。調(diào)用內(nèi)置函數(shù)的方法是使用函數(shù)名并給出相應(yīng)的入口和出口參數(shù)。示例:sin.m函數(shù)顯示其m文件內(nèi)容,類型為指令類型sin是一個(gè)內(nèi)置函數(shù)。示例3輸入程序:x=0:2 * pi/180:2 * pi;Y=sin(x)繪圖(x,y),它被保
8、存為mymfile.m matlab有大量的內(nèi)置數(shù)學(xué)函數(shù)供我們?cè)跀?shù)值運(yùn)算和符號(hào)運(yùn)算中調(diào)用。例如sqrt(x)、平方根abs(x)、絕對(duì)值det(a)、行列式等。Matlab用戶可以根據(jù)自己的需要編輯自己的m文件,并且可以像調(diào)用庫(kù)函數(shù)一樣方便,從而大大擴(kuò)展了matlab的能力。對(duì)于一些特殊的問題,例如創(chuàng)建許多M函數(shù)文件,可以形成一個(gè)新的工具箱。用matlab語(yǔ)言創(chuàng)建和定義新的matlab函數(shù)的功能體現(xiàn)了matlab語(yǔ)言強(qiáng)大的擴(kuò)展功能。用戶定義的函數(shù)M文件需要輸入變量和返回輸出變量。函數(shù)M文件的格式為:函數(shù)返回變量=函數(shù)名稱(輸入變量)注釋語(yǔ)句段程序語(yǔ)句段示例4編寫函數(shù)文件計(jì)算半徑為r的圓的面積和
9、周長(zhǎng)。函數(shù)文件如下:函數(shù)s,p=圓(r)%計(jì)算半徑為r的圓的面積和周長(zhǎng)% r,s,p分別為圓的半徑、面積和周長(zhǎng),2004年7月30日編輯,s=* r * r;p=2 * pi * r;函數(shù)m文件的第一行必須以單詞function作為引導(dǎo)詞,這意味著m文件是一個(gè)函數(shù)文件,必須遵循以下形式:function=()函數(shù)名的命名規(guī)則與變量名相同,m文件的文件名必須為. m。輸入?yún)?shù)是函數(shù)的輸入?yún)?shù),輸出參數(shù)是函數(shù)的輸出參數(shù)。當(dāng)有多個(gè)輸出參數(shù)時(shí),應(yīng)該用方括號(hào)括起來。程序中的變量都是局部變量,不存儲(chǔ)在工作空間中。其變量?jī)H在函數(shù)運(yùn)行期間有效。具體規(guī)則:(4)。函數(shù)M文件的調(diào)用,函數(shù)調(diào)用的一般格式是:輸出參數(shù)
10、表=函數(shù)名(輸入?yún)?shù)表)。應(yīng)該注意的是,函數(shù)調(diào)用中參數(shù)的順序和數(shù)量應(yīng)該與函數(shù)定義中形式參數(shù)的順序和數(shù)量一致,否則會(huì)出現(xiàn)錯(cuò)誤。當(dāng)一個(gè)函數(shù)被調(diào)用時(shí),實(shí)際的參數(shù)被傳遞給相應(yīng)的形式參數(shù),這樣參數(shù)被傳遞,然后函數(shù)的函數(shù)被執(zhí)行。在示例5中,函數(shù)文件用于實(shí)現(xiàn)直角坐標(biāo)(x,y)和極坐標(biāo)(,)之間的轉(zhuǎn)換。1.建立函數(shù)文件函數(shù),=tran(x,y)=sqrt(x * x y * y);=atan(y/x);2.保存為tran.m 3,編寫命令文件main1.m,調(diào)用tran.m: x=輸入(請(qǐng)輸入x=:);y=輸入(請(qǐng)輸入y=:);,the=tran(x,y);在MATLAB中,函數(shù)可以被嵌套和調(diào)用,也就是說,一
11、個(gè)函數(shù)可以調(diào)用其他函數(shù),甚至調(diào)用自己。函數(shù)調(diào)用本身被稱為函數(shù)的遞歸調(diào)用。在示例6中,創(chuàng)建了一個(gè)命令文件和一個(gè)函數(shù)文件來將華氏溫度轉(zhuǎn)換為攝氏溫度。%清除工作空間中的變量f=input(輸入華氏溫度:);C=5*(f-32)/9,然后在MATLAB的命令窗口中輸入f2c,命令文件將被執(zhí)行,執(zhí)行情況為:輸入華氏溫度:73c=22.7778,程序2:首先建立函數(shù)文件f2c.m.然后,函數(shù)c=f2c(f) c=5*(f-32)/9調(diào)用MATLAB命令窗口中的函數(shù)文件。清除;y=輸入(輸入華氏溫度):X=f2c(y)輸出條件是:輸入華氏溫度:70c=21.1111x=21.1111,局部變量和全局變量:局
12、部變量只存在于單個(gè)函數(shù)工作空間,而全局變量由全局變量定義,可以通過不同的函數(shù)工作空間,包括基本工作空間。(5)。函數(shù)文件的其他相關(guān)概念,函數(shù)文件的內(nèi)部變量是局部的,與其他函數(shù)和MATLAB內(nèi)存隔離;如果一個(gè)變量在幾個(gè)函數(shù)中被定義為全局變量,這些函數(shù)將共享這個(gè)變量,并且全局變量的范圍是MATLAB的整個(gè)工作空間,也就是說,它在整個(gè)過程中都是有效的,并且所有函數(shù)都可以訪問和修改它。全局變量是在函數(shù)之間傳遞數(shù)據(jù)的一種方式。全局變量由全局命令定義。格式為:全局變量名稱,例如,全局變量應(yīng)用示例,函數(shù)f=wadd (x,y)全局alpha beta f=alpha a * x beta * y;在命令窗口
13、中輸入:全局=1;BETA=2。首先,創(chuàng)建一個(gè)函數(shù)文件wadd.m,它通過權(quán)重添加輸入?yún)?shù)。調(diào)用第二個(gè)函數(shù)文件sin/cos函數(shù)sin(ALPHA) cos(BETA),ans=0.4253,如果沒有全局變量的定義,第二個(gè)函數(shù)就出錯(cuò)了,這值得指出:在程序設(shè)計(jì)中,全局變量可以帶來一些方便,但是它破壞了變量的函數(shù)封裝,從而降低了程序的可讀性和可靠性;當(dāng)設(shè)計(jì)程序很大且有許多子功能時(shí),全局變量給程序調(diào)試和維護(hù)帶來不便。如果必須使用全局變量,應(yīng)該給出一個(gè)特殊的名稱,以避免被錯(cuò)誤地修改。子功能:在一個(gè)M文件中可以有多個(gè)功能,其中與文件名同名的功能為主功能,其余為子功能,只存在于主功能的工作空間中。私有函數(shù)
14、:存儲(chǔ)在私有目錄中的函數(shù)(m文件)。由其父目錄中的多個(gè)函數(shù)共享。函數(shù)參數(shù)的可調(diào)性。當(dāng)調(diào)用一個(gè)函數(shù)時(shí),MATLAB使用兩個(gè)永久變量nargin和nargout來記錄調(diào)用該函數(shù)時(shí)輸入?yún)?shù)和輸出參數(shù)的數(shù)量。只要這兩個(gè)變量包含在函數(shù)文件中,我們就可以確切地知道調(diào)用函數(shù)文件時(shí)輸入和輸出參數(shù)的數(shù)量,然后決定如何處理函數(shù)。,示例19 nargin用法示例函數(shù)文件charray.m:函數(shù)fout=charray (a,b,c)如果NAR gin=1 fout=a;else if NAR gin=2 fout=a b;else if NAR gin=3 fout=(a * b * c)/2;結(jié)束,命令文件my
15、demo . m:x=1:3;y=1;2 .3 .夏雷(x)夏雷(x,y)夏雷(x,y,3),ANS=1 23 ANS=2 46 ANS=21。二是程序控制結(jié)構(gòu),順序結(jié)構(gòu)選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),1數(shù)據(jù)輸入和輸出1.1數(shù)據(jù)從鍵盤輸入,可以使用輸入功能,該功能的調(diào)用格式是:A=輸入()。提示信息是一個(gè)字符串,用來提示用戶輸入什么樣的數(shù)據(jù)。如果在調(diào)用輸入函數(shù)時(shí)使用s選項(xiàng),則允許用戶輸入字符串。例如,如果你想輸入一個(gè)人的名字,你可以使用命令XM=xm=input(你叫什么名字?s);1.2數(shù)據(jù)輸出MATLAB提供的命令窗口輸出函數(shù)主要包括disp函數(shù),其調(diào)用格式為disp(輸出項(xiàng)),其中輸出項(xiàng)可以是字符串也可以是矩陣。輸入x和y的值,并在交換它們的值后輸出。程序如下:x=輸入(請(qǐng)輸入x。);y=輸入(請(qǐng)輸入y。);z=x;x=y;y
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《GBT 1251.1-2008人類工效學(xué) 公共場(chǎng)所和工作區(qū)域的險(xiǎn)情信號(hào) 險(xiǎn)情聽覺信號(hào)》專題研究報(bào)告
- 《GB 4706.60-2008家用和類似用途電器的安全 衣物干燥機(jī)和毛巾架的特殊要求》專題研究報(bào)告
- 《GBT 22085.1-2008電子束及激光焊接接頭 缺欠質(zhì)量分級(jí)指南 第1部分:鋼》專題研究報(bào)告
- 道路安全培訓(xùn)提綱內(nèi)容課件
- 2025-2026年西師版初一數(shù)學(xué)上冊(cè)期末題庫(kù)試題附答案
- 2025-2026年蘇教版九年級(jí)數(shù)學(xué)上冊(cè)期末試題解析+答案
- 2026年甘肅隴南市高職單招語(yǔ)文試題及答案
- 三年(2023-2025)黑龍江中考語(yǔ)文真題分類匯編:專題08 名著閱讀(解析版)
- 邊際貢獻(xiàn)培訓(xùn)課件
- 水利工程清潔工程能源機(jī)械方案
- 翻車機(jī)工操作技能水平考核試卷含答案
- 2025年中職食品雕刻(食品雕刻技術(shù))試題及答案
- 2026青海西寧市湟源縣水務(wù)發(fā)展(集團(tuán))有限責(zé)任公司招聘8人考試參考試題及答案解析
- (2025年)昆山杜克大學(xué)ai面試真題附答案
- 污水處理設(shè)施運(yùn)維服務(wù)投標(biāo)方案(技術(shù)標(biāo))
- DB11T 696-2023 預(yù)拌砂漿應(yīng)用技術(shù)規(guī)程
- (完整word版)英語(yǔ)四級(jí)單詞大全
- 井下作業(yè)技術(shù)油水井措施酸化課件解析
- 旅游接待業(yè) 習(xí)題及答案匯總 重大 第1-10章 題庫(kù)
- 智慧金庫(kù)項(xiàng)目需求書
- DB41T 2397-2023 機(jī)關(guān)食堂反食品浪費(fèi)管理規(guī)范
評(píng)論
0/150
提交評(píng)論