- MATLAB 2020 GUI程序設計從入門到精通
- 李星新 黃熹編著
- 1336字
- 2021-11-12 10:25:22
1.4 M文件
MATLAB作為一種高級計算機語言,以一種人機交互式的命令行方式工作,還可以像其他計算機高級語言一樣進行控制流的程序設計。M文件是使用MATLAB編寫的程序代碼文件,之所以稱為M文件,是因為這種文件都以“.m”作為文件擴展名。
1.4.1 M文件分類
用戶可以使用任何文本編輯器或字處理器生成或編輯M文件,但是在MATLAB提供的M文件編輯器中生成或編輯M文件最為簡單、方便而且高效。
M文件可以分為兩種類型:一種是函數式文件;另一種是命令式文件,也稱之為腳本文件。
1. 命令式文件
在MATLAB中,實現某項功能的一串MATLAB語句命令與函數組合成的文件稱為命令式文件。這種M文件在MATLAB的工作區內對數據進行操作,能在MATLAB環境下直接執行。命令式文件不僅能夠對工作區內已存在的變量進行操作,還能將建立的變量及其執行后的結果保存在MATLAB工作區中,在以后的計算中使用。除此之外,命令文件執行的結果既可以顯示輸出,也可以使用MATLAB的繪圖函數輸出圖形結果。
由于命令式文件的運行相當于在命令行窗口中逐行輸入并運行,所以用戶在編制此類文件時,只需要把要執行的命令按行編輯到指定的文件中即可。
在MATLAB主窗口的“主頁”選項卡中選擇“新建”→“腳本”命令,或直接單擊“新建腳本”按鈕,即可打開圖1-59所示的MATLAB文件編輯器。在空白窗口中編寫程序即可。

圖1-59 “編輯器”窗口
例1-10:生成矩陣。
解:輸入下面的簡單程序mm.m。


單擊“編輯器”選項卡中的“保存”按鈕,在彈出的“保存為”對話框中,選擇保存文件夾,文件的擴展名必須是. m,單擊“保存”按鈕即可保存文件。
在運行函數之前,一定要把M文件所在的目錄添加到MATLAB的搜索路徑中,或者將函數文件所在的目錄設置成當前目錄。
使mm.m所在目錄成為當前目錄,或讓該目錄處在MATLAB的搜索路徑上。然后在MATLAB命令行窗口中運行以下指令,便可得到M文件的輸出結果。

2. 函數式文件
MATLAB函數通常是指MATLAB系統中已設計好的完成某一種特定運算或實現某一特定功能的一個子程序。MATLAB函數或函數文件是MATLAB中最重要的組成部分,MATLAB提供的各種各樣的工具箱幾乎都是以函數形式給出的,是內容極為豐富的函數庫,可以實現各種各樣的功能。這些函數作為命令使用,所以函數有時又稱為函數命令。
MATLAB中的函數即函數文件,是能夠接受輸入參數并返回輸出參數的M文件,標志是文件內容的第一行為function語句。在MATLAB中,函數名和M文件名必須相同,函數式文件可以有返回值,也可以只執行操作而無返回值。
值得注意的是,命令式M文件在運行過程中可以調用MATLAB工作域內的所有數據,并且所產生的所有變量均為全局變量。也就是說,這些變量一旦生成,就一直保存在內存空間中,直到用戶執行命令clear或quit時為止。而在函數式文件中的變量除特殊聲明外,均為局部變量,函數式文件執行之后,只保留最后的結果,不保留任何中間過程,所定義的變量也只在函數的內部起作用,并隨著調用的結束而被清除。
例1-11:驗證兩個數是否相等。
解:1)創建函數文件“equal_ab.m”。


2)調用函數。


1.4.2 文件編輯器
“主頁”選項卡是MATLAB一個非常重要的數據分析與管理窗口。它的主要按鈕功能如下。
◆“新建腳本”按鈕:新建一個M文件。
◆“新建實時腳本”按鈕:新建一個實時腳本,如圖1-60所示。
◆“打開變量”按鈕:打開所選擇的數據對象。單擊該按鈕之后,進入圖1-61所示的變量編輯窗口,在這里可以對數據進行各種編輯操作。

圖1-60 實時編輯器窗口

圖1-61 變量編輯窗口
- INSTANT Mock Testing with PowerMock
- Mastering Adobe Captivate 2017(Fourth Edition)
- Linux C/C++服務器開發實踐
- Learn to Create WordPress Themes by Building 5 Projects
- 程序員面試筆試寶典
- Offer來了:Java面試核心知識點精講(原理篇)
- Learning C++ Functional Programming
- Programming ArcGIS 10.1 with Python Cookbook
- 青少年美育趣味課堂:XMind思維導圖制作
- Learning Elixir
- Python Network Programming Cookbook(Second Edition)
- Hands-On Reinforcement Learning with Python
- SQL經典實例(第2版)
- Learning OpenCV 3 Computer Vision with Python(Second Edition)
- Java 9 Programming By Example