.m文件是指用matlab編寫的可以通過matlab運(yùn)行的文件。
它分為兩種類型
- 命令文件:沒有參數(shù)和返回值,僅僅是內(nèi)部的操作
- 函數(shù)文件:有輸入?yún)?shù)和返回值,與我們外界進(jìn)行交互
這里主要介紹函數(shù)文件的編寫方式,因?yàn)槲翌A(yù)感到,數(shù)學(xué)建模的時(shí)候一定會(huì)有函數(shù)文件的編寫,提前預(yù)警。
一.M文件通常的組成部分:
- 1 函數(shù)定義行(必須的)
函數(shù)M文件的第一行用關(guān)鍵字“function”把M文件定義為一個(gè)函數(shù),并指定它的名字,并且與文件名必須相同,同時(shí)定義了函數(shù)的輸入和輸入?yún)?shù)。輸入?yún)?shù)的定義用小括號(hào)(),如果有多個(gè)輸入?yún)?shù)則用逗號(hào)分隔;輸出參數(shù)的定義用中括號(hào)[],如果有多個(gè)輸出參數(shù)則用逗號(hào)分隔。
- 2 H1行
所謂H1行指幫助文本的第一行,它緊跟在定義行之后并以“%”符號(hào)開頭,用于概括說明函數(shù)名和函數(shù)的功能。在命令窗口用 lookfor 命令時(shí)將顯示所尋求函數(shù)的H1行。
- 3 函數(shù)幫助文本
幫助文本指位于H1行之后函數(shù)體之前的說明文本,它同樣以“%”符號(hào)開頭,一般用來比較詳細(xì)地介紹函數(shù)的功能和用法。在命令窗口用help命令時(shí)將顯示函數(shù)的H1行和所有幫助文本。
- 4 函數(shù)體(必須的)
是函數(shù)的主體部分,包括進(jìn)行運(yùn)行和賦值操作的所有MATLAB程序代碼,其中可以有流程控制、輸入輸出、計(jì)算、賦值、注釋以及函數(shù)調(diào)用等操作。
- 5 注釋
除了函數(shù)開始獨(dú)立的幫助文本外,還可以在函數(shù)體中添加對(duì)語(yǔ)句的注釋。注釋必須以“%”符號(hào)開頭,MATLAB在編譯執(zhí)行M文件時(shí)把每一行中“%”后面的全部?jī)?nèi)容作為注釋不進(jìn)行編譯。
二.函數(shù)書寫樣例:判斷是否為整數(shù)
%用于判斷輸入的值是否為整數(shù),如果是則返回值為1,否則返回值為0
%函數(shù)方法聲明
function[isinteger] = checkInteger(x);
%H1 check if the x is int
%函數(shù)體
if x==fix(x)
isinteger=1;
else
isinteger=0;
end
三.函數(shù)的調(diào)用
直接在命令行中輸入方法名,這是上面的函數(shù)的調(diào)用方式
>> checkInteger(5)
ans =
1
當(dāng)然,對(duì)上面的函數(shù)進(jìn)行修改,使得他有兩個(gè)返回值
%用于判斷輸入的值是否為整數(shù),如果是則返回值為1,否則返回值為0
%函數(shù)方法聲明
function[isinteger,another] = checkInteger(x);
%H1 check if the x is int
%函數(shù)體
if x==fix(x)
isinteger=1;
another=1;
else
isinteger=0;
another=0;
end
函數(shù)調(diào)用
>> [a,b]=checkInteger(6)
a =
1
b =
1
.m文件部分暫時(shí)整理這些,后續(xù)會(huì)繼續(xù)補(bǔ)充。加油~