1. 程式人生 > >MATLAB基礎入門(3)

MATLAB基礎入門(3)

5  Command History視窗MATLAB的命令列視窗提供了非常友好的互動功能,使用者可以在此環境中邊思考邊驗證。完成設計之後,可以通過MATLAB的歷史記錄功能將已驗證的命令再次提取出來。這種記錄命令的能力就是在MATLAB的歷史記錄視窗(Command History)中利用相應的命令完成的。在2014a及以後版本中,歷史記錄視窗不再出現在MATLAB預設佈局中,同時增加了通過向上箭頭調出歷史記錄視窗的功能(如圖1-13),並對歷史記錄功能做了加強,增加了“標記錯誤命令”、“搜尋(區分大小寫)”、“篩選”以及“顯示執行時長”等功能。如果讀者希望將歷史記錄視窗像之前版本那樣嵌入到桌面中,那麼可以在佈局(Layout)選項中進行設定,然後選擇命令即可將其嵌入桌面,如圖1-14所示。另外和命令視窗相同,單擊歷史記錄視窗上的 按鈕,然後選擇就可以浮動該視窗,令其在命令列可以通過向上箭頭調出。嵌入桌面之後的歷史記錄視窗如圖1-15所示。在歷史記錄視窗中,如果一行命令在執行過程中出錯,那麼在其最左端會有紅色的標記,這一標記可以很容易的讓使用者明白哪些命令出錯了,對於分析出錯原因或者除錯程式來說是非常有用的。另外,如果幾行命令是作為一組,整體執行的,那麼在這組命令的最左端會有方括號將其括起來,如圖中所示的for迴圈等。單擊歷史記錄視窗上的 按鈕,可以選擇查詢、顯示執行時間等,如圖1-16所示。通過勾選【Show ExecutionTime】選項即可在歷史記錄視窗中顯示該行命令的執行時間,如圖1-15中所示。在此選單中單擊【Find…】選項,即可調出查詢工具欄。例如我們在工具欄中查詢首字母為a的命令,那麼查詢到的命令就黃色高亮顯示。如果我們單擊圖示,即可將所有符合條件的查詢結果篩選出來,具體的結果如圖1-17所示。圖1-13  歷史記錄的調出       圖1-14  歷史記錄視窗的嵌入圖1-15  歷史記錄視窗的標記  圖1-16  歷史記錄視窗選單圖1-17  歷史記錄視窗查詢功能
在歷史記錄視窗中,記錄了在MATLAB命令視窗中鍵入的所有命令,包括每次啟動MATLAB的時間,以及啟動後在命令列中鍵入的所有MATLAB命令。這些命令不但可以記錄在歷史記錄視窗中,而且可以再次執行。通過歷史記錄視窗執行歷史命令的方法有以下幾種。(1)用滑鼠雙擊某一條命令,就可以將其傳送到命令視窗立即執行。(2)選中想要再次執行的命令,然後複製到命令視窗中。(3)選中需要執行的命令,單擊滑鼠右鍵,選擇【EvaluateSelection】選項(或者按快捷鍵F9),即可執行相應的命令。此方法可以使一次需要執行多行命令時更加方便。另外,在歷史記錄視窗中也可以通過這些命令記錄直接建立M檔案。為了方便以後使用,使用者可能希望將命令視窗中使用的命令通過檔案的方式儲存起來。MATLAB為此作了人性化考慮,提供了diary命令,可以實現上述功能。diary命令用於產生“日誌”檔案,即把當前命令視窗中的所有內容(包括命令和結果等)如實地記錄為ASCII檔案加以儲存。使用者如果想把命令視窗中的全部內容記錄為“日誌”檔案,可以按照下面的步驟進行。(1)將日誌檔案的目錄(如D: \workdir)設定為當前目錄。設定目錄可以通過命令視窗的“cdd: \ workdir”命令實現(同樣也可以通過滑鼠在當前目錄視窗或工作目錄路徑進行操作)。(2)在MATLAB中執行命令diary xxx(名字可任取)。此後,命令視窗顯示的內容(包括命令、結果、提示資訊等)將被全部記錄下來。(3)執行關閉命令diary off後,記憶體中儲存的操作內容就將全部記錄在D: \workdir目錄下的名為xxx的目錄檔案中。需要指出的是,在diary中建立的日誌檔案為純文字文件格式,此檔案不能直接在MATLAB中執行,但可以通過MATLAB中的M檔案編輯器或其他文字讀寫軟體閱讀和編輯。另外,diary函式記錄命令的功能僅在執行了diary命令之後的MATLAB會話中有效。如果關閉MATLAB後再啟動,則需要重新輸入diary命令。
6 Current Folder視窗MATLAB載入任何檔案、執行任何命令都是從當前的目錄下開始的,因此MATLAB提供了當前目錄視窗(Current Folder)。該視窗預設情況下位於MATLAB介面的左上方。和前面的幾個視窗一樣,當前目錄視窗也可以單擊視窗右上角的 按鈕,通過Dock和 Undock選項實現浮動視窗與內嵌視窗的轉換。浮動的當前目錄視窗如圖1-18所示。MATLAB的當前路徑是指所有檔案的儲存和讀取都是在這個預設的路徑下進行。這個工作路徑可以在桌面工具欄下方的工作路徑欄進行修改。在MATLAB R2008b之後的版本中,路徑的修改和Windows 7作業系統中的修改方式類似,可以直接修改任何一級路徑名,這樣操作起來更加方便。右鍵單擊桌面上的MATLAB啟動圖示,單擊“屬性”一項,彈出的屬性對話方塊如圖1-19所示。其中有一個“起始位置”的文字輸入框,在這裡可以設定MATLAB啟動時的預設工作路徑。圖1-18  當前目錄視窗通過對工作目錄的設定,可以更改MATLAB在呼叫函式過程中的搜尋路徑。選擇桌面工具欄中的【Set Path】選單項(如圖1-19),可以彈出路徑設定對話方塊(如圖1-20所示),從中可以設定相應的搜尋路徑。搜尋路徑關係著MATLAB在執行一句命令時如何選擇函式,搜尋被執行函式的順序,本書將在後續章節對此作詳細介紹。   圖1-19  MATLAB啟動屬性對話方塊       圖1-19  “Set Path”設定 圖1=20   “Set Path”對話方塊
7 Workspace Browser和Variable Editor視窗7.1 Workspace Browser視窗
MATLAB要處理各種各樣的資料,這需要有一個專門的記憶體空間來存放它們,這個地方就是MATLAB的Workspace。資料存放在工作空間中,可以隨時被呼叫。工作空間視窗(Workspace)是MATLAB的重要組成部分。在工作間視窗中將顯示所有目前記憶體中的MATLAB變數的變數名、資料結構、位元組數、型別、以及最大值、最小值、平均數、方差等統計資訊,不同的變數型別分別對應不同的變數名圖示。工作空間視窗沒有開啟時,可以單擊工具欄中的【Layout】|【Workspace】選單命令開啟。預設情況下,MATLAB工作空間視窗在桌面的左下角。另外,MATLAB的工作空間視窗不僅可以內嵌在MATLAB的使用者介面中,和命令視窗相同,單擊歷史記錄視窗上的 按鈕,然後選擇【Undock】選項就可以浮動該視窗,如圖1-21所示。若希望重新將工作空間視窗嵌入到MATLAB的介面中,可以單擊按鈕,然後選擇【Dock】選項即可。7.2 Variable Editor視窗
用滑鼠左鍵雙擊Workspace中的變數名,比如圖1-21中的W,就會彈出Variable Editor 視窗。通過Variable Editor視窗可以檢視變數的內容,還可以對變數進行各種編輯操作。VariableEditor 視窗如圖1-22所示,通過雙擊需要修改的資料單元,即可對相應的資料進行修改。在Variable Editor視窗使用者可以選擇所需要的元素,然後通過【PLOT】選項卡中的繪圖工具進行快速繪圖。在【VARIABLE】選項卡中,使用者可以對變數進行插入、刪除、轉置、排序等操作,如圖 1-23所示。圖1-21  工作空間視窗                                 圖1-22  Variable Editor視窗PLOT選項卡圖1-23  Variable Editor視窗VARIABLE選項卡
8  命令列輔助功能與Function Browser在MATLAB中,命令列的輔助功能在逐漸加強。最顯著的特點是在R2008b之後的版本中加入了Function Browser,即函式瀏覽器,這使得MATLAB在查詢、輸入函式的過程中更加人性化了。這就是本書強烈建議使用MATLAB新版本的一個體現,尤其是對初學者來說,這會在使用者的學習過程中提供更多的方便。8.1分隔符匹配在MATLAB命令列和編輯器中輸入命令的過程中,MATLAB會提醒使用者哪些分隔符是相對應的。比如說,在輸入引號、括號、迴圈體的過程中,MATLAB會將相匹配的分隔符高亮顯示。8.2Tab鍵的使用MATLAB可以幫助使用者完成已知命令的輸入,這樣使用者就可以減少拼寫錯誤,並減少查詢幫助和其他書籍的時間。MATLAB可以幫助使用者完成以下內容的輸入:(1)Workspace中的變數,包括結構陣列;(2)在當前目錄下或者搜尋路徑中的函式或者模型;(3)MATLAB物件;(4)檔名和目錄,包括面向物件程式設計組和類目錄;(5)圖形控制代碼屬性。使用者需要做的就是輸入函式或者物件的前幾個字母,然後按Tab鍵。在MATLAB編輯器中也可以使用Tab鍵完成輸入。下面舉例說明在命令列中如何使用Tab鍵來完成輸入。如果Workspace中有變數costs_may,那麼在命令列中只需要輸入:>>costs然後按Tab鍵,MATLAB即可自動完成變數名字的輸入,顯示為:>> costs_may之後使用者可以在此基礎上新增其他的運算子、變數、函式等,完成表示式之後按回車鍵即可執行相應的命令。如果在變數空間中還有一個變數名為costs_april,那麼在輸入costs並按Tab鍵之後,則會出現兩個候選提示,只要通過使用上下鍵移動游標或者滑鼠單擊就可以完成輸入,具體操作如圖1-24所示。8.3函式語法提示函式語法提示就是在輸入一個表示式的時候,可以看到一個彈出視窗中提示有函式應該有哪些輸入變數。當用戶知道了函式的拼寫方法,但是不太確定應該輸入哪些變數的時候,函式語法提示的功能則非常有用,可以節省很多檢視help文件的時間。通常函式的語法提示只是提示基本的函式語法結構,如果使用者需要更為詳細的使用說明,則可使用Function Browser或者Help替代。只有知道了函式的確切拼寫方式之後才可以應用函式語法提示。如果使用者不知道函式的確切拼寫,則可使用Tab鍵的完成功能或者Function Browser等幫助文件操作。如圖1-25所示,在輸入了函式名稱與括號之後等待兩秒,就會彈出函式語法提示的視窗,使用者按照提示的順序輸入相應的變數即可。                                                圖1-24  Tab鍵使用示例                                                 圖1-25  函式語法提示8.4Function BrowserMATLAB R2008b之後的版本中增加了Function Browser,即函式瀏覽器,通過Function Browser可以很方便地查詢函式。Function Browser在命令列中特別有用。通過Function Browser,可以像在Help瀏覽器中一樣查詢函式,但是使用起來可以使使用者的工作更加流暢。可以使用Shift+F1快捷鍵或者命令提示符前面的 圖示開啟Function Browser,如圖1-26所示。在Function Browser中輸入需要查詢的函式,然後回車,就可以得到所有與輸入的關鍵詞相關的函式列表。用滑鼠左鍵單擊函式名稱,就會彈出一個函式使用說明的視窗,如圖1-27所示。Function Browser的方便之處在於,在查詢到需要的函式之後,直接雙擊即可將該函式插入命令列中的游標位置處。這一點是Help所不具備的,實際使用起來非常方便。圖1-26  Function Browser圖1-27  使用Function Browser查詢函式