1.3.1 M文件
M文件是一個腳本文件,文件名必須以“.m”為擴展名,文件名不能為漢字或數字開頭。M文件可以由任意的文本編輯軟件來編輯。M文件根據調用方式的不同分為兩種類型:腳本(script)文件和函數(function)文件。腳本文件是MATLAB命令或函數的組合,沒有輸入/輸出參數,腳本文件可以訪問MATLAB工作空間中的所有數據,在運行過程中產生的變量均是全局變量,這些變量一旦生成就一直保存在內存空間中,另外,腳本文件可以直接運行,在MATLAB命令行窗口輸入腳本文件的名字,就會順序執行腳本文件中的命令,如例1-4所示。
【例1-4】執行腳本文件myvoice.m中的命令。

函數文件不能直接運行,需要以函數調用的形式來調用它,函數文件可以有輸入參數,也可以返回輸出參數,它的第一條可執行語句是以function引導的定義語句。在函數文件中的變量都是局部變量,函數文件一旦執行完畢,這些變量就自動消失。
函數文件第一行是函數定義行,其格式為:

需要注意的是,有無函數定義行是區分命令文件與函數文件的重要標志,函數體包含所有函數程序代碼,是函數的主體部分,函數文件保存的文件名應與用戶定義的函數名一致,在命令行窗口中以固定格式調用函數。
例如:函數f(x,y,z)=X2y+xZ2-2yz,請計算f(1,2,3)。在編輯器中編輯程序:

保存為test(文件名必須與函數名一致),然后在命令窗口中輸入:

MATLAB允許在函數調用時同時返回多個變量。而一個函數又可以由多種格式進行調用,例如bode()函數可以由下面的格式調用。

其中bode()函數用來求取或繪制系統的Bode圖,而系統在這里由傳遞函數分子num和分母den表示,還可以用下面的格式調用此函數。

其中(A,B,C,D)為系統的狀態方程模型。盡管兩種調用格式是完全不同的,MATLAB函數還是會自動識別到底是采用哪種格式調用該函數,從而得出正確的結論。
另外,MATLAB 2016a以后的版本提供了實時腳本(live script)功能,其實時編輯器提供一種新的方式來創建、編輯和運行MATLAB程序,實時腳本文件的擴展名為“.mlx”,除了基本的程序代碼,還可以包含格式化文本、方程式、超鏈接和圖像等,而且運行時能實時顯示輸出結果,增強了程序的描述效果。