- MATLAB/Simulink權威指南:開發環境、程序設計、系統仿真與案例實戰
- 徐國保 張冰 石麗梅 吳凡
- 1399字
- 2019-12-20 20:33:30
3.2 M文件
MATLAB命令有兩種執行方式:命令執行方式和M文件執行方式。命令執行方式是在命令窗口逐條輸入命令,逐條解釋執行。這種方式操作簡單直觀,但速度慢,命令語句保留,不便于今后查看和調用。M文件執行方式是將命令語句編成程序存儲在一個文件中,擴展名為.m(稱為M文件)。當運行程序文件后,MATLAB依次執行該文件中的所有命令,運行結果或錯誤信息會在命令空間顯示。這種方式編程方便,便于今后查看和調用,適用于復雜問題的編程。
3.2.1 M文件的分類和特點
MATLAB R2016a編寫的M文件有兩種:M腳本文件(Script File)和M函數文件(Function File)。M腳本文件一般由若干MATLAB命令和函數組合在一起,可以完成某些操作,實現特定功能。M函數文件是為了完成某個任務,將文件定義成一個函數。實際上,MATLAB提供各種函數和工具箱都是利用MATLAB命令開發的M文件。這兩種文件都可以用M文件編輯器(Editor)來編輯,它們的擴展名均為m。兩種文件的主要區別是:
(1)M腳本文件按照命令先后順序編寫,而M函數文件第一行必須是以function開頭的函數聲明行;
(2)M腳本文件沒有輸入參數,也不返回輸出參數,而M函數文件可以帶有輸入參數和返回輸出參數;
(3)M腳本文件執行完后,變量結果返回到工作空間,而函數文件定義的變量為局部變量,當函數文件執行完,這些變量不會存在工作空間;
(4)M腳本文件可以按照程序中命令的先后順序直接運行,而函數文件一般不能直接運行,需要定義輸入參數,使用函數調用的方式來調用它。
【例3-13】 建立一個M腳本文件,已知圓的半徑,求圓的周長和面積。
在文件編輯窗口編寫命令文件,保存為exam_3_13.m腳本文件。

在命令空間輸入文件名exam_3_13.m,就能直接運行該腳本文件。結果如下:

調用腳本文件不需要輸入參數,也沒有返回輸出參數,文件自身創建的變量S、P保存在變量空間中,可以用whos命令查看。
【例3-14】 建立一個M函數文件,已知圓的半徑,求圓的周長和面積。
在文件編輯窗口編寫函數文件,保存為fexam_3_13.m腳本文件。

在命令空間調用該函數fexam_3_13.m,結果如下:

調用該函數文件,既有輸入參數r,又有返回輸出參數X、Y。用whos命令查看工作空間中的變量,函數文件里的參數S和P未保存在工作空間中。
3.2.2 M文件的創建和打開
1.創建新的M文件
M文件可以用MATLAB文件編輯器來創建。
1)創建M腳本文件
創建M腳本文件,可以從MATLAB主窗口的主頁下,單擊“新建腳本”,或者選擇“新建菜單”,再選擇“腳本”,就能打開腳本文件編輯器窗口,如圖3-8左邊的窗口所示。
2)創建M函數文件
創建M函數文件,可以從MATLAB主窗口的主頁下,選擇“新建菜單”,再選擇“函數”,就能打開函數文件編輯器窗口,如圖3-8右邊的窗口所示。新建的M函數文件Untitled3.m有關鍵字function和end,具體格式在3.3節詳細介紹。
在文檔窗口輸入M文件的命令語句,輸入完畢后,選擇編輯窗口“保存”或者“另存為”命令保存文件。M文件一般默認存放在MATLAB的Bin目錄中,如果存在別的目錄,運行該M文件時,應該選擇“更改文件夾”選項或者“添加到路徑”選項。
另外,創建M文件,還可以在MATLAB命令窗口輸入命令edit,啟動MATLAB文件編輯窗口,輸入文件內容后保存。

圖3-8 創建M腳本文件窗口
2.打開已創建的M文件
在MATLAB語言中,打開已有的M文件有下面兩種方法:
1)菜單操作
打開已有的M函數文件,可以從MATLAB主窗口的主頁下,選擇“打開”,在打開窗口選擇文件路徑,選中M文件,單擊“打開”按鈕。
2)命令操作
另外,還可以在MATLAB命令窗口輸入命令:edit文件名,就能打開已有的M文件。對打開的M文件可以進行編輯和修改,然后再存盤。