天天看點

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

本節書摘來自異步社群《matlab神經網絡超級學習手冊》一書中的第1章,第1.4節,作者:matlab技術聯盟 , 劉冰 , 郭海霞著,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視

matlab神經網絡超級學習手冊

在一般情況下,可以使用兩種方法來打開matlab r2013a。在上節中,若已将快捷方式添加到桌面上,則可以輕按兩下桌面上的快捷方式圖示,打開操作界面。

如果使用者沒有添加matlab快捷方式,則需要在matlab的安裝檔案夾裡(預設路徑為c:program filesmatlabr2013abinwin32)選擇matlab.exe應用程式,同樣可以打開matlab操作界面。這兩種方法的結果完全相同。

1.4.1 操作界面簡介

matlab r2013a延續了matlab r2012b的操作界面。該操作界面中包含大量的互動式界面。例如通用操作界面、工具包專業界面、幫助界面和示範界面等。這些互動性界面組合在一起,構成maltab的預設操作界面。

安裝後首次啟動matlab所得的操作界面如圖1-5所示,這是系統預設的、未曾被使用者依據自身需要和喜好設定過的界面。

matlab的主界面是一個高度內建的工作環境,有4個不同職責分工的視窗。它們分别是 command window (指令視窗)、command history (曆史指令視窗)、current directory(目前目錄視窗)和workspace(工作空間視窗 )。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

菜單欄和工具欄在組成方式和内容上與一般應用軟體基本相同,本章不再贅述。

1.4.2 workspace(指令視窗)

在matlab預設主界面的中間是指令視窗。因為matlab至今未被漢化,所有視窗名都用英文表示,是以“command window”即指指令視窗。

指令視窗顧名思義是接收指令輸入的視窗,但實際上,可輸入的對象除matlab指令之外,還包括函數、表達式、語句以及m檔案名或mex檔案名等,為叙述友善,本書後續部分将這些可輸入的對象統稱為語句。

matlab的工作方式之一是在指令視窗中輸入語句,然後由matlab逐句解釋執行并在指令視窗中給出結果。指令視窗可顯示除圖形以外的所有運算結果。指令視窗可從matlab主界面中分離出來,以便單獨顯示和操作,當然也可重新傳回主界面中,其他視窗也有相同的行為。

分離指令視窗可以單擊指令視窗右上角的圖檔 1按鈕,在出現的下拉菜單中選擇undock選項,另外還可以直接用滑鼠将指令視窗拖離主界面,其結果如圖1-6所示。若将指令視窗傳回到主界面中,可單擊指令視窗右上角的圖檔 1按鈕,在出現的下拉菜單中選擇dock選項。下面分幾點對使用指令視窗的一些相關問題加以說明。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

1.指令提示符和語句顔色

在分離的指令視窗中,每行語句前都有一個符号“>>”,此即指令提示符。在此符号後(也隻能在此符号後)輸入各種語句并按enter鍵,方可被matlab接收和執行。執行的結果通常直接顯示在語句下方。

不同類型語句用不同顔色區分。在預設情況下,輸入的指令、函數、表達式以及計算結果等采用黑色字型,字元串采用紅色,if、for等關鍵詞采用藍色,注釋語句用綠色。

2.語句的重複調用、編輯和重運作

指令視窗不僅能編輯和運作目前輸入的語句,而且對曾經輸入的語句也有快捷的方法 進行重複調用、編輯和運作。成功實施重複調用的前提是已輸入的語句仍然儲存在曆史指令視窗中(未對該視窗執行清除操作)。而重複調用和編輯的快捷方法就是利用表1-2所列的鍵盤按鍵。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

其實這些按鍵與文字處理軟體中介紹的同一編輯鍵在功能上是大體一緻的,不同點主要是:在文字處理軟體中是針對整個文檔使用,而matlab指令視窗是以行為機關使用這些編輯鍵,類似于編輯dos指令的使用手法。

3.語句行中使用的标點符号

matlab在輸入語句時,可能要用到表1-3所列的各種符号,這些符号在matlab中所起的作用見表1-3。

提示:

在向指令視窗輸入語句時,一定要在英文輸入狀态下輸入,尤其在剛剛輸完漢字後初學者很容易忽視中英文輸入狀态的切換。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

4.指令視窗中數值的顯示格式

為了适應使用者以不同格式顯示計算結果的需要,matlab設計了多種數值顯示格式以供使用者選用,見表1-4。其中預設的顯示格式是:數值為整數時,以整數顯示;數值為實數時,以short格式顯示;如果數值的有效數字超出了這一範圍,則以科學計數法顯示結果。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

需要說明的是,表中最後2個是用于控制螢幕顯示格式的,而非數值顯示格式。 matlab所有數值均按ieee浮點标準所規定的長型格式存儲,顯示的精度并不代表數值實際的存儲精度,或者說數值參與運算的精度,認清這點是非常必要的。

5.數值顯示格式的設定方法

格式設定的方法有兩種:一是執行matlab工作欄中preferences指令,用彈出的對話框去設定;二是執行format指令,例如要用long格式,在指令視窗中輸入format long語句即可。兩種方法均可獨立完成設定,但使用指令可友善在程式設計時進行格式設定。

不僅數值顯示格式可由使用者自行設定,數字和文字的字型顯示風格、大小、顔色也可由使用者自行挑選。其方法還是執行preferences指令,彈出圖1-7所示對話框。利用該對話框左側的格式對象樹,從中選擇要設定的對象再配合相應的選項,便可對所選對象的風格、大小、顔色等進行設定。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

6.指令視窗清屏

當指令視窗中執行過許多指令後,視窗會被占滿,為友善閱讀,清除螢幕顯示是經常采用的操作。清除指令視窗顯示通常有兩種方法。

(1)執行matlab工具欄的clear command→command window指令。

(2)在提示符後直接輸入clc語句。

兩種方法都能清除指令視窗中的顯示内容,也僅僅是指令視窗的顯示内容而已,并不能清除工作空間和曆史指令視窗的顯示内容。

1.4.3 command history(曆史指令視窗)

command history(曆史指令視窗)是matlab用來存放曾在指令視窗中使用過的語句的。它借用計算機的存儲器來儲存資訊。其主要目的是為了便于使用者追溯、查找曾經用過的語句,利用這些既有的資源節省程式設計時間。

單擊曆史指令視窗右上角的圖檔 1按鈕,在出現的下拉菜單中選擇undock選項,可以将其從matlab主界面分離出來。另外還可以直接用滑鼠将曆史指令視窗拖離主界面,其結果如圖1-8所示。從視窗中記錄的時間來看,其中存放的正是曾經使用過的語句。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

對曆史指令視窗中的内容,可在選中的前提下,将它們複制到目前正在工作的指令視窗中,以供進一步修改或直接運作。其優勢在如下兩種情況下展現得尤為明顯:一是需要重複處理長語句;二是在選擇多行曾經用過的語句形成m檔案時。

如果隻需要執行曆史指令視窗中的單條語句,那麼輕按兩下曆史指令視窗中的該條語句即可。

1.複制、執行曆史指令視窗中的指令

曆史指令視窗的主要應用展現在表1-5中。表中操作方法一欄中提到的“選中”操作,與windows選中檔案時方法相同,同樣可以結合ctrl鍵和shift鍵使用。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

用曆史指令視窗完成所選語句的複制操作的步驟如下。

(1)用滑鼠選中所需第一行。

(2)再按shift鍵和滑鼠選擇所需最後一行,于是連續多行即被選中。

(3)單擊工具欄上圖檔 1圖示,或在選中區域單擊滑鼠右鍵,執行快捷菜單的copy指令。

(4)回到指令視窗,在該視窗用快捷菜單中的paste指令,所選内容即被複制到指令視窗。其操作如圖1-9所示。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

用曆史指令視窗完成所選語句的運作操作的步驟如下。

(2)再按ctrl鍵結合滑鼠點選所需的行,于是不連續多行即被選中。

(3)在選中的區域右擊彈出快捷菜單,選用evaluate selection指令,計算結果就會出現在指令視窗中。

2.清除曆史指令視窗中的内容。

清除曆史指令視窗内容的方法就是執行matlab工具欄中的clear command→command history指令。

當執行上述指令後,曆史指令視窗目前的内容就被完全清除了,以前的指令再不能被追溯和利用。

1.4.4 輸入變量

在matlab的計算和程式設計過程中,變量和表達式都是最基礎的元素。如果使用者需要深入學習matlab,十分有必要了解matlab關于定義變量和表達式的基本規定。

在matlab中,為變量定義名稱需要滿足下列規則。

(1)變量名稱和函數名稱有大小寫差別。對于變量名稱mu和mu,matlab會認為是不同的變量。exp是matlab内置的指數函數名稱。是以,如果使用者輸入exp(0),系統會得出結果1;而如果使用者輸入exp(0),matlab會顯示錯誤的提示資訊“undefined function 'exp' for input arguments of type 'double'.”,表明matlab無法識别exp的函數名稱,同時系統會提示是否需要輸入exp(0),如圖1-10所示。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

(2)變量名稱的第一個字元必須是英文字元。在matlab 6.5以後的版本中,變量名稱最多可以包含63個字元。是以,變量5xf、_mat等都是不合法的變量名稱。

(3)變量名稱中不可以包含空格或者标點符号。但是可以包括下劃線。是以,變量名稱xf_mat是合法的。

盡管matlab對于變量名稱的限制較少,但還是建議使用者在設定變量名稱時考慮變量的含義。例如在m檔案中,變量名稱outputname比名稱a更好了解。

在上面的變量名稱規則中,沒有限制使用者使用matlab的預定義變量名稱,但是根據筆者的經驗,還是建議使用者不要使用matlab預先定義的變量名稱。因為,使用者每次啟動matlab,系統就會自動産生這些變量,表1-6中列出了常見的預定義變量名稱。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

1.4.5 路徑管理

matlab借鑒windows資料總管管理磁盤、檔案夾和檔案的思想,設計了目前檔案夾視窗。利用該視窗可組織、管理和使用所有matlab檔案和非matlab檔案,例如建立、複制、删除和重命名檔案夾和檔案。甚至還可用此視窗打開、編輯和運作m程式檔案以及載入mat資料檔案等。當然,其核心功能還是設定目前檔案夾。

current folder(目前檔案夾視窗)如圖1-11所示。下面主要介紹目前檔案夾的概念及如何完成對目前檔案夾的設定,并不準備在此讨論程式檔案的運作。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

matlab的目前檔案夾即是系統預設的實施打開、裝載、編輯和儲存檔案等操作時的檔案夾。用桌面圖示啟動matlab後,系統預設的目前目錄是 …matlabwork。

設定目前檔案夾就是将此預設檔案夾改變成使用者希望使用的檔案夾,它應是使用者提前建立好的用來存放檔案和資料的檔案夾。

具體的設定方法有如下兩種。

(1)在目前目錄設定區設定。matlab主界面工具欄的右邊以及分離的目前目錄設定視窗都有目前目錄設定區,可以在設定區的下拉清單文本框中直接填寫待設定的檔案夾名或選擇下拉清單中已有的檔案夾名。如果需要分離目前檔案夾視窗,單擊目前檔案夾視窗右上角的圖檔 1按鈕,在出現的下拉菜單中選擇undock選項即可。

(2)用指令設定。有一組從dos中借用的檔案夾指令可以完成這一任務,它們的文法格式見表1-7。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

用指令設定目前檔案夾,為在程式中控制目前目錄的改變提供了友善,因為編寫完成的程式通常用m檔案存放,執行這些檔案時是不便先退出再用視窗菜單或對話框去改變目前目錄設定的。

1.4.6 搜尋路徑

matlab中大量的函數和工具箱檔案是組織在硬碟的不同檔案夾中的。使用者建立的數 據檔案、指令和函數檔案也是由使用者存放在指定的檔案夾中。當需要調用這些函數或檔案時,找到這些函數或檔案所存放的檔案夾就成為首要問題,路徑的概念也就是以而産生了。

路徑其實就是給出存放某個待查函數和檔案的檔案夾名稱。當然,這個檔案夾名稱應 包括盤符和一級級嵌套的子檔案夾名。

例如,現有一檔案t04_06.m存放在d盤“matlab檔案”檔案夾下的“m檔案”子檔案夾下的“第4章”子檔案夾中,那麼,描述它的路徑是:d:matlab檔案m檔案第4章。若要調用這個m檔案,可在指令視窗或程式中将其表達為:d:matlab檔案m檔案第4章t04_06.m。

在使用時,這種書寫因為過長,很不友善,matlab為解決這一問題,引入了搜尋路徑機制。設定搜尋路徑機制就是将一些可能要被用到的函數或檔案的存放路徑提前通知系統,而無須在執行和調用這些函數和檔案時輸入一長串的路徑。

必須指出,不是說有了搜尋路徑,matlab對程式中出現的符号就隻能從搜尋路徑中去查找。在matlab中,一個符号出現在程式語句裡或指令視窗的語句中可能有多種解讀,它也許是一個變量、特殊常量、函數名、m檔案或mex檔案等,具體将其識别成什麼,涉及搜尋順序的問題。

如果在指令提示符“>>”後輸入符号xt,或程式語句中有一個符号xt,那麼,matlab将試圖按下列次序去搜尋和識别。

(1)在matlab記憶體中進行檢查搜尋,看xt是否為工作空間視窗的變量或特殊常量,如果是,則将其當成變量或特殊常量來處理,不再往下展開搜尋識别。

(2)上一步否定後,檢查xt是否為matlab的内部函數,若肯定,則調用xt這個内部函數。

(3)上一步否定後,繼續在目前檔案夾中搜尋是否有名為“xt.m”或“xt.mex”的檔案存在,若肯定,則将xt作為檔案調用。

(4)上一步否定後,繼續在matlab搜尋路徑的所有目錄中搜尋是否有名為“xt.m”或“xt.mex”的檔案存在,若肯定,則将xt作為檔案調用。

(5)上述4步全走完後,仍未發現xt這一符号的出處,則matlab發出錯誤資訊。必須指出的是,這種搜尋是以花費更多執行時間為代價的。

matlab設定搜尋路徑的方法有兩種:一種是用菜單和對話框;另一種是用指令。現将兩方案分述如下。

1.用菜單和對話框設定搜尋路徑

在matlab主界面的file菜單中有set path指令,執行這一指令将打開設定搜尋路徑的對話框,如圖1-12所示。

對話框左邊設計了多個按鈕,其中最上面的兩個按鈕分别是add folder…和 add with subfolders…,單擊任何一個按鈕都會彈出一個名為浏覽檔案夾的對話框,如圖1-13所示。 利用浏覽檔案夾對話框可以從樹形目錄結構中選擇欲指定為搜尋路徑的檔案夾。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

add folder…和add with subfolders…兩個按鈕的不同處在于後者設定某個檔案夾成為 可搜尋的路徑後,其下級子檔案夾将自動被加入到搜尋路徑中。

設定搜尋路徑對話框下面有兩個按鈕save和close,在使用時值得注意。save按鈕是用來儲存對目前搜尋路徑所做修改的,通常先執行save指令後,再執行close。close按鈕是用來關閉對話框的,但是如果隻想将修改過的路徑為本次打開matlab使用,無意供matlab永久搜尋,那麼直接單擊close按鈕,再在彈出的對話框中作否定回答即可。

2.用指令設定搜尋路徑

matlab能夠将某一路徑設定成可搜尋路徑的指令有兩個:一個是path;另一個是 addpath。

針用path和addpath指令設定搜尋路徑的差別,下面舉例說明。

1.4.7 workspace(工作空間)

在預設的情況下,工作空間浏覽器位于matlab操作界面的右上方。單擊workspace視窗右上角的圖檔 1按鈕,在出現的下拉菜單中選擇undock選項,可以将其從matlab主界面分離出來。另外還可以直接用滑鼠将workspace視窗拖離主界面,其結果如圖1-14所示。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

當選中workspace視窗中一個變量時,matlab界面菜單欄中的plots選項就會激活,激活前後對比界面如圖1-15所示。在圖1-15(b)中,matlab強大的繪圖功能有多種繪圖方法供使用者選擇。

除了非常強大的繪圖功能,workspace視窗還有許多其他應用功能,例如記憶體變量的查閱、儲存和編輯等。所有這些操作都比較簡單,隻需要在workspace視窗中選擇相應的變量,然後右擊滑鼠,在彈出的快捷菜單中選擇相應的菜單選項,如圖1-16所示。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

在matlab中,數組和矩陣都是十分重要的基礎變量,是以matlab專門提供變量編輯器這個工具來編輯資料。

輕按兩下workspace視窗中任意一個數組,就可以打開該數組的variables視窗(變量編輯器),如圖1-17所示。

使用者可以在variables視窗中直接編輯該變量。對于大型數組,使用變量編輯器會給使用者帶來很大的便利。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

1.4.8 變量的編輯指令

在matlab中,使用者除了可以在工作空間浏覽器中編輯記憶體變量之外,還可以在matlab的指令視窗輸入相應的指令,查閱和删除記憶體中的變量。下面用簡單的案例,說明如何在指令視窗中對變量進行操作。

【例1-1】在matlab指令視窗中查閱記憶體變量。

解:具體步驟如下。

在指令視窗中輸入who和whos指令,檢視記憶體變量的資訊,如圖1-18所示。

v

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

注意:

who和whos指令适用于matlab各種版本,兩個指令的差別隻在于記憶體變量資訊的詳細程度。兩個指令結果的清單次序随具體情況而不同。

【例1-2】在例1-1之後,在matlab指令視窗中删除記憶體變量b。

在指令視窗中輸入下面指令行。

得到的結果如圖1-19所示。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

和前面的例子相比,使用者可以看出,當使用者運作clear指令後,将b變量從工作空間删除,而且在工作空間浏覽器中也将該變量删除。

1.4.9 存取資料檔案

matlab提供了save和load指令來實作資料檔案的存取。表1-8列出了指令的常見用法。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

上表中列出了幾個常見的檔案存取指令,使用者可以根據需要選擇相應的存取指令;對于一些較少見的存取指令,使用者可以查閱matlab幫助檔案。

在matlab中,除了可以在指令視窗中輸入相應的指令之外,也可以在工作空間中選擇相應的按鈕,實作資料檔案的存取工作。例如,使用者可以選擇工具欄中的圖檔 1(save workspace)指令,将所有變量儲存到mat檔案中,如圖1-20所示。

《MATLAB神經網絡超級學習手冊》——1.4 MATLAB R2013a的工作環境

繼續閱讀