matlab軟件界面課件_第1頁
matlab軟件界面課件_第2頁
matlab軟件界面課件_第3頁
matlab軟件界面課件_第4頁
matlab軟件界面課件_第5頁
已閱讀5頁,還剩101頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第一章概述1.1MATLAB產(chǎn)品族簡介1.2MATLAB的桌面環(huán)境1.3CommandWindows和MATLAB指令1.4CommandHistory和歷史記錄1.5CurrentDirectory和搜索路徑1.6LaunchPad和Start菜單1.7使用幫助1.8本章小結(jié)1.1MATLAB產(chǎn)品族簡介MATLAB的名稱源自MatrixLaboratory,它的首創(chuàng)者是在數(shù)值線性代數(shù)領(lǐng)域頗有影響的CleveMoler博士,他也是生產(chǎn)經(jīng)營MATLAB產(chǎn)品的美國Mathworks公司的創(chuàng)始人之一。MATLAB是一種科學(xué)計(jì)算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而使其被廣泛地應(yīng)用于科學(xué)計(jì)算、控制系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作中,而且利用MATLAB產(chǎn)品的開放式結(jié)構(gòu),用戶可以非常容易地對(duì)MATLAB的功能進(jìn)行擴(kuò)充,從而在不斷深化對(duì)問題認(rèn)識(shí)的同時(shí),逐步完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競爭能力。MATLAB產(chǎn)品族可以用來進(jìn)行如下工作:*數(shù)值分析;*數(shù)值和符號(hào)計(jì)算;*工程與科學(xué)繪圖;*控制系統(tǒng)的設(shè)計(jì)與仿真;*數(shù)字圖像處理;*數(shù)字信號(hào)處理;*通訊系統(tǒng)設(shè)計(jì)與仿真;*財(cái)務(wù)與金融工程。1.1.1MATLAB的產(chǎn)品體系MATLAB產(chǎn)品由若干個(gè)模塊組成,不同的模塊完成不同的功能,其中有*MATLAB;

*MATLABToolboxes;*MATLABCompiler;*Simulink;*SimulinkBlockset;*Real-TimeWorkshop(RTW);*Stateflow;*StateflowCoder。其中,MATLAB是MATLAB產(chǎn)品家族的基礎(chǔ),它提供了基本的數(shù)學(xué)算法,例如矩陣運(yùn)算、數(shù)值分析算法,MATLAB集成了2D和3D圖形功能,以完成相應(yīng)數(shù)值可視化的工作,并且提供了一種交互式的高級(jí)編程語言——M語言,利用M語言可以通過編寫腳本或者函數(shù)文件實(shí)現(xiàn)用戶自己的算法。MATLABCompiler是一種編譯工具,它能夠?qū)⒛切├肕ATLAB提供的編程語言——M語言編寫的函數(shù)文件編譯生成標(biāo)準(zhǔn)的C/C++語言源文件,而生成的標(biāo)準(zhǔn)C/C++源代碼可以被任何一種C/C++編譯器編譯生成函數(shù)庫或者可執(zhí)行文件,這樣就可以擴(kuò)展MATLAB功能,使MATLAB能夠同其他高級(jí)編程語言(例如C/C++語言)進(jìn)行混合應(yīng)用,取長補(bǔ)短,以提高程序的運(yùn)行效率,豐富程序開發(fā)的手段。MATLAB除了能夠和C/C++語言集成開發(fā)以外,目前的MATLAB還提供了和Java語言接口的能力,并且它還支持COM標(biāo)準(zhǔn),能夠和任何一種支持COM標(biāo)準(zhǔn)的軟件協(xié)同工作。另外,在Release13中,包含了MATLABCompiler的擴(kuò)展產(chǎn)品——MATLABCOMBuilder和ExcelBuilder,分別用來將MATLAB的函數(shù)文件打包成COM組件或者Excel插件,將MATLAB應(yīng)用程序算法集成到相應(yīng)的開發(fā)工具或者應(yīng)用軟件中。利用M語言還開發(fā)了相應(yīng)的MATLAB專業(yè)工具箱函數(shù)供用戶直接使用,這些工具箱應(yīng)用的算法是開放的、可擴(kuò)展的,用戶不僅可以察看其中的算法,還可以針對(duì)一些算法進(jìn)行修改,甚至允許開發(fā)自己的算法以便擴(kuò)充工具箱的功能。目前MATLAB產(chǎn)品的工具箱有40多種,分別涵蓋了數(shù)據(jù)獲取、科學(xué)計(jì)算、控制系統(tǒng)設(shè)計(jì)與分析、數(shù)字信號(hào)處理、數(shù)字圖像處理、金融財(cái)務(wù)分析以及生物遺傳工程等專業(yè)領(lǐng)域。MATLAB主要的專業(yè)工具箱包括以下幾種。*數(shù)學(xué)與數(shù)據(jù)分析:OptimizationStaticsNerualNetworkSymbolicMathPartialDifferentialEquationMappingSplineCurveFittingVirtualRealityBioinforamtics*數(shù)據(jù)獲取與采集:DataAcquisitionImageAcquisitionInstrumentControlDatabaseExcel*信號(hào)處理與圖像處理:SignalProcessingImageProcessingCommunicationSystemIdentificationWaveletFilterDesignMATLABLinkforCodeComposerStudio*控制系統(tǒng)設(shè)計(jì)與分析:ControlsystemFuzzyLogicRobustControlMu-AnalysisandSynthesisLMIControlModelPredictiveControlModel-BasedCalibration*財(cái)經(jīng)與金融:FinancialFinancialTimeSeriesGARCHDatafeedFinancialDerivativesFixedIncome1.1.2Simulink簡介Simulink是基于MATLAB的框圖設(shè)計(jì)環(huán)境,可以用來對(duì)各種動(dòng)態(tài)系統(tǒng)進(jìn)行建模、分析和仿真,它的建模范圍廣泛,可以針對(duì)任何能夠用數(shù)學(xué)來描述的系統(tǒng)進(jìn)行建模,例如航空航天動(dòng)力學(xué)系統(tǒng)、衛(wèi)星控制制導(dǎo)系統(tǒng)、通訊系統(tǒng)、船舶及汽車等,其中包括連續(xù)、離散,條件執(zhí)行、事件驅(qū)動(dòng)、單速率、多速率和混雜系統(tǒng)等。Simulink提供了利用鼠標(biāo)拖放的方法建立系統(tǒng)框圖模型的圖形界面,而且Simulink還提供了豐富的功能塊以及不同的專業(yè)模塊集合,利用Simulink幾乎可以做到不書寫一行代碼就能完成整個(gè)動(dòng)態(tài)系統(tǒng)的建模工作。此外,在Simulink基礎(chǔ)上還提供了Stateflow,用來進(jìn)行事件驅(qū)動(dòng)過程的仿真。Simulink的特點(diǎn):*交互式建模:Simulink本身就提供了大量的功能塊方便用戶快速建立動(dòng)態(tài)系統(tǒng)的模型,如圖1-2所示,建模的時(shí)候只需要利用鼠標(biāo)拖放功能塊并將其連接起來即可。*交互式仿真:Simulink的框圖提供可交互的仿真環(huán)境,可以將仿真結(jié)果動(dòng)態(tài)顯示出來,并且在各種仿真的過程中調(diào)節(jié)系統(tǒng)的參數(shù)。*任意擴(kuò)充和定制功能:Simulink的開放式結(jié)構(gòu)允許用戶擴(kuò)充仿真環(huán)境的功能,可以將用戶利用C、C++、Fortran語言編寫的算法集成到Simulink框圖中。圖1-2Simulink的庫瀏覽器*與MATLAB工具集成:Simulink的基礎(chǔ)是MATLAB,在Simulink框圖中可以直接利用MATLAB的數(shù)學(xué)、圖形和編輯功能,完成諸如數(shù)據(jù)分析、過程自動(dòng)化分析、優(yōu)化參數(shù)等工作。*專業(yè)模型庫:為了擴(kuò)展Simulink的功能,Mathworks公司針對(duì)不同的專業(yè)領(lǐng)域和行業(yè)開發(fā)了各種專業(yè)模型庫,將這些模型庫同Simulink的基本模塊庫結(jié)合起來,可以完成不同專業(yè)領(lǐng)域動(dòng)態(tài)系統(tǒng)的建模工作。Simulink的相關(guān)產(chǎn)品以及專業(yè)模塊如表1-1所示。表1-1MATLAB中的Simulink相關(guān)模塊表1-1MATLAB中的Simulink相關(guān)模塊1.1.4自動(dòng)化代碼生成工具在MATLAB產(chǎn)品族中,自動(dòng)化的代碼生成工具主要有Real-TimeWorkshop(RTW)和StateflowCoder,這兩種代碼生成工具可以直接將Simulink的模型框圖和Stateflow的狀態(tài)圖轉(zhuǎn)換成高效、優(yōu)化的程序代碼。利用RTW生成的代碼簡潔、可靠、易讀。目前RTW支持生成標(biāo)準(zhǔn)的C語言代碼,并且具備了生成其他語言代碼的能力。整個(gè)代碼的生成、編譯以及相應(yīng)的目標(biāo)下載過程都是自動(dòng)完成的,用戶需要做的僅僅是使用鼠標(biāo)點(diǎn)擊幾個(gè)按鈕即可。Mathworks公司針對(duì)不同的實(shí)時(shí)或非實(shí)時(shí)操作系統(tǒng)平臺(tái)開發(fā)了相應(yīng)的目標(biāo)選項(xiàng),以配合不同的軟、硬件系統(tǒng)完成快速控制原型(RapidControlPrototype)開發(fā)、硬件在回路的實(shí)時(shí)仿真(Hardware-in-Loop)、產(chǎn)品代碼生成等工作。1.2MATLAB的桌面環(huán)境在運(yùn)行MATLAB之前首先要在自己的操作系統(tǒng)中安裝MATLAB,目前MATLAB可以在Windows、Linux等操作系統(tǒng)中安裝使用。如果讀者使用Windows操作系統(tǒng),則建議使用Windows2000或者WindowsXPProfessional版本作為MATLAB的運(yùn)行平臺(tái)。運(yùn)行MATLAB時(shí),可以雙擊MATLAB的圖標(biāo),或者在命令行提示符(控制臺(tái)方式)下鍵入指令:matlab,這時(shí)將啟動(dòng)MATLAB的圖形桌面工具環(huán)境。MATLAB的桌面環(huán)境可以包含多個(gè)窗口,這些窗口分別為歷史命令窗口(CommandHistory)、命令行窗口(CommandWindow)、當(dāng)前目錄瀏覽器(CurrentDirectoryBrowser)、工作空間瀏覽器(WorkspaceBrowser)、目錄分類窗口(LaunchPad)、數(shù)組編輯器(ArrayEditor)、M文件編輯器/調(diào)試器(Editor/Debugger)、超文本幫助瀏覽器(HelpNavigator/Browser),這些窗口都可以內(nèi)嵌在MATLAB主窗體中,組成MATLAB的用戶界面。其中當(dāng)MATLAB安裝完畢并首次運(yùn)行時(shí),展示在用戶面前的界面為MATLAB運(yùn)行時(shí)的缺省界面窗口,如圖1-8所示。圖1-8MATLAB默認(rèn)的用戶界面MATLAB6.5的缺省界面和MATLAB6.1的缺省界面相比還是有一定變化的,主要就是在界面的左下角有一個(gè)名為“Start”的啟動(dòng)菜單,在這個(gè)菜單中可以執(zhí)行MATLAB產(chǎn)品的各種工具,并且可以查閱MATLAB包含的各種資源,它的功能和MATLAB的目錄分類窗口(LaunchPad)功能非常類似。在默認(rèn)的缺省用戶界面中,新版本的MATLAB中沒有了目錄分類窗口(LaunchPad),而是工作空間瀏覽器(WorkspaceBrowser)。MATLAB啟動(dòng)的界面可以具有多種默認(rèn)的選擇,用戶可以通過MATLAB界面中的“View”菜單下的“DesktopLayout”子菜單下的命令選擇不同的MATLAB界面,這些命令分別為:*Default:缺省的界面,如圖1-8所示。包含歷史命令窗口(CommandHistory)、命令行窗口(CommandWindow),此外工作空間瀏覽器(WorkspaceBrowser)和當(dāng)前目錄瀏覽器(CurrentDirectoryBrowser)兩個(gè)窗口層疊在一起。*CommandWindowsOnly:僅包含命令行窗口(CommandWindow),此時(shí)MATLAB界面的外觀類似于舊版本的MATLAB。*Simple:包含兩個(gè)窗口——命令行窗口(CommandWindow)和歷史命令窗口(CommandHistory),兩個(gè)窗口并列在界面中,如圖1-9所示。圖1-9選擇Simple菜單命令的界面*ShortHistory和TallHistory:這兩個(gè)菜單命令包含的窗口類型和數(shù)量同默認(rèn)的界面完全一致,不過排放的順序不同,如圖1-10、1-11所示。圖1-10選擇ShortHistory菜單命令的界面圖1-11選擇TallHistory菜單命令的界面*FivePanel:包含所有的MATLAB桌面窗口,在MATLAB界面中各個(gè)窗口處于平鋪狀態(tài),如圖1-12所示。圖1-12選擇FivePanel菜單命令的界面在MATLAB用戶界面的View菜單下還有一些菜單命令可以用來選擇顯示在圖形界面中的窗口,用戶可以根據(jù)自己的喜好選擇配置用戶界面。在本小結(jié)提及的各種用戶交互的窗口將在后續(xù)的章節(jié)中詳細(xì)講述。一般情況下,建議用戶選擇“CommandWindowsOnly”方式來運(yùn)行MATLAB。在這種啟動(dòng)方式下,MATLAB的啟動(dòng)速度比較快,占用的資源略少。1.3CommandWindows和MATLAB指令1.3.1命令行窗口MATLAB的命令行窗口不僅可以內(nèi)嵌在MATLAB的用戶界面中,還可以浮動(dòng)在界面上,單擊命令行窗口上的按鈕,就可以浮動(dòng)命令行窗口,如圖1-13所示。若希望重新將命令行窗口嵌入到MATLAB的界面中,可以執(zhí)行“View”菜單下的“DockCommandWindow”命令即可。MATLAB的命令行窗口無論是外觀還是使用方法,從其4.x的版本起就已經(jīng)沒有明顯的變化了,它最具特色的就是其命令回調(diào)的功能,也就是說在MATLAB的命令行窗口鍵入任意算術(shù)表達(dá)式,系統(tǒng)將自動(dòng)解算,并給出結(jié)果,見例子1-1。圖1-13浮動(dòng)的MATLAB命令行窗口例子1-1計(jì)算算術(shù)表達(dá)式。只要直接在MATLAB的命令行窗口中鍵入: >>-5/(4.8+5.32)^2↙系統(tǒng)將直接計(jì)算表達(dá)式的結(jié)果,并且給出答案:ans= -0.0488注意:●這里的符號(hào)“>>”為MATLAB的命令行提示符。●這里的符號(hào)“↙”表示鍵入表達(dá)式之后按回車鍵。●MATLAB的數(shù)學(xué)運(yùn)算符同其他的計(jì)算機(jī)高級(jí)語言(例如C語言)類似?!襁@里計(jì)算得到的結(jié)果顯示為ans,ans是英文單詞“answer”的縮寫,它是MATLAB默認(rèn)的系統(tǒng)變量?!袼蠱ATLAB的計(jì)算結(jié)果和數(shù)值都默認(rèn)使用雙精度類型顯示。例子1-2計(jì)算復(fù)數(shù)的運(yùn)算(1+2i)×(1-3i)。在MATLAB命令行窗口中鍵入: >>(1+2i)*(1-3i)↙系統(tǒng)直接計(jì)算表達(dá)式的結(jié)果,并給出答案:ans=7.0000-1.0000i注意:在MATLAB中表示復(fù)數(shù),按照例子1-2中所示的樣式,即x±yi,其中x和y都是雙精度的數(shù)字。在這里,i作為復(fù)數(shù)單位存在,同樣也可以使用j表示復(fù)數(shù)單位。上面的兩個(gè)例子中都是將MATLAB直接作為計(jì)算器來使用的,在MATLAB的命令窗口中還可以定義相應(yīng)的MATLAB數(shù)據(jù)對(duì)象和變量以及調(diào)用函數(shù)。例子1-3調(diào)用函數(shù)。>>cos(pi/2)ans=6.1232e-017>>exp(acos(0.3))ans=3.5470在例子1-3中調(diào)用余弦函數(shù)求π/2的余弦值,但是一般的數(shù)學(xué)知識(shí)告訴我們?chǔ)?2的余弦應(yīng)該為0,但是MATLAB求的數(shù)值不是0,而是一個(gè)近似為0的數(shù)值,這都是由MATLAB浮點(diǎn)數(shù)的計(jì)算精度引起的。在調(diào)用函數(shù)的時(shí)候,需要注意括號(hào)的作用,它會(huì)造成主計(jì)算優(yōu)先級(jí)的變化。例子1-3在計(jì)算第二個(gè)表達(dá)式的時(shí)候,首先計(jì)算反余弦函數(shù),然后再計(jì)算指數(shù)函數(shù)。MATLAB的功能是通過大量的M語言函數(shù)或者M(jìn)ATLAB內(nèi)建的指令來完成的,在命令行窗口中,調(diào)用這些函數(shù)的方法就是直接鍵入函數(shù)或者指令,并且根據(jù)不同的函數(shù)提供相應(yīng)的參數(shù)列表。MATLAB的命令行窗口具有命令行記憶的功能,也就是說,在命令行窗口中,使用上、下光標(biāo)鍵就可以重復(fù)以前鍵入的指令了,這對(duì)使用MATLAB是非常便利的功能。而且MATLAB還具有局部記憶的功能,例如在MATLAB的命令行窗口中曾經(jīng)執(zhí)行了一個(gè)函數(shù)testcommandwindows,那么再次運(yùn)行該函數(shù)時(shí),只要在命令行中鍵入test,然后按光標(biāo)上鍵↑,整條命令就會(huì)出現(xiàn)在命令行窗口中,這時(shí)按回車鍵就可以執(zhí)行該指令了。1.3.2設(shè)置命令行窗口的顯示方式其實(shí)MATLAB的計(jì)算結(jié)果除了用圖形方式進(jìn)行可視化輸出以外,在大多數(shù)情況下,都是在命令行窗口中輸出的,而且命令行窗口中的文本輸出形式,例如文本的字體、字號(hào)或者色彩等都可以根據(jù)用戶的需要自定義。設(shè)置的方法是執(zhí)行“File”菜單下的“Preference”命令,在彈出的對(duì)話框中,選擇左邊選項(xiàng)中的“CommandWindow”項(xiàng),然后展開“Font&Colors”子選項(xiàng),對(duì)話框的右邊則出現(xiàn)可以設(shè)置的文本輸出特性,如圖1-14所示。一旦通過圖1-14所示的對(duì)話框?qū)Ω鞣N文本的顯示屬性進(jìn)行了設(shè)置,在單擊“Apply”按鈕或者“OK”按鈕時(shí)屬性值就會(huì)立即生效,而且設(shè)置的屬性也會(huì)被永久保留下來,在下一次啟動(dòng)MATLAB時(shí)將直接使用設(shè)定的屬性。圖1-14設(shè)置命令行窗口的文本屬性在命令行窗口中顯示數(shù)值計(jì)算的結(jié)果具有一定的格式,例如在上一小節(jié)的兩個(gè)例子中,所有的數(shù)值都是按照MATLAB默認(rèn)的數(shù)字顯示格式——短(short)格式顯示的,在這種表示方法下具有固定的格式,保留小數(shù)點(diǎn)后四位有效數(shù)字,對(duì)于大于1000的數(shù)值,使用科學(xué)計(jì)數(shù)法表示。設(shè)置數(shù)據(jù)的顯示格式需要使用format指令,具體的使用方法如表1-2所示,在表格中使用的示例數(shù)據(jù)為自然對(duì)數(shù)的底數(shù)。表1-2MATLAB命令行窗口顯示數(shù)據(jù)的格式例子1-4使用不同的數(shù)據(jù)顯示格式顯示數(shù)字。在MATLAB命令行中,鍵入下面的指令:>>pians=3.1416>>formatlong>>pians=3.14159265358979>>format+>>pians=+例子1-4中使用MATLAB的內(nèi)建函數(shù)pi獲取常數(shù)π的數(shù)值,也可以將pi看作是MATLAB的常數(shù)。MATLAB的常數(shù)將在后面的章節(jié)中詳細(xì)講述。從例子1-4中可以看出,在不同的數(shù)據(jù)顯示格式下,顯示的數(shù)據(jù)位數(shù)不盡相同,大家可以根據(jù)自己的需要,設(shè)置數(shù)據(jù)顯示的位數(shù)。1.3.3常用的控制指令MATLAB包含的函數(shù)可以粗略地分為兩大類,其中之一是執(zhí)行各種具體計(jì)算或者數(shù)據(jù)處理功能的函數(shù),例如cos函數(shù)、sqrt函數(shù)等,而另外一類是進(jìn)行用戶環(huán)境控制的指令,比如退出MATLAB會(huì)話、執(zhí)行操作系統(tǒng)的功能等。在表1-3中對(duì)一些常用的控制指令進(jìn)行了總結(jié)。表1-3常用的MATLAB控制指令例子1-5常用的控制指令示例。>>%察看當(dāng)前的路徑>>pwdans=D:\Temp>>%顯示當(dāng)前路徑下的文件和子目錄>>dir...FigureMenuBar.figHowamIsupposetolivewithoutyou.mp3JavaSaidIlovedyou,butIlied.mp3eagles_hotelcanifornia.mp3gui_soln.figgui_soln.mmymesh.mtest.m>>%顯示當(dāng)前路徑下的MATLAB文件>>whatM-filesinthecurrentdirectoryD:\Tempgui_solnmymeshtest>>%what指令的路徑>>whichwhatwhatisabuilt-infunction.>>%察看M文件的路徑>>whichlogoE:\MATLAB6p5\toolbox\matlab\demos\logo.m>>%執(zhí)行系統(tǒng)指令>>system('copyeagles_hotelcanifornia.mp3eagles.mp3')已復(fù)制1個(gè)文件。ans=

0依次執(zhí)行例子1-5的指令可以得到相應(yīng)的指令輸出,注意what指令和dir指令的區(qū)別。另外,在執(zhí)行系統(tǒng)指令的時(shí)候還可以使用MATLAB的“!”符號(hào),例如在執(zhí)行例子1-5最后的拷貝命令時(shí),也可以這樣做: >>!copyeagles_hotelcanifornia.mp3eagles.mp3兩者的區(qū)別在于通過system指令執(zhí)行系統(tǒng)命令能夠獲取系統(tǒng)指令的返回值,例如指令執(zhí)行的狀態(tài)等。system指令的一般使用方法為 system('command');其中,command就是系統(tǒng)指令,用單引號(hào)“'”括起來作為參數(shù)傳遞給system指令。在使用which指令的時(shí)候得到的輸出根據(jù)which指令后面的參數(shù)不同而不同,例如在執(zhí)行whichwhat時(shí),系統(tǒng)判斷what為內(nèi)建(build-in)的函數(shù),而在執(zhí)行whichlogo指令時(shí),系統(tǒng)判斷l(xiāng)ogo為M文件,并且給出了M文件所在的路徑。有關(guān)內(nèi)建函數(shù)或者M(jìn)文件函數(shù)的概念將在本書的第四章中詳細(xì)講述。1.4CommandHistory和歷史記錄1.4.1命令行歷史窗口在默認(rèn)的MATLAB界面中,命令行歷史窗口總是在MATLAB界面的左下角,和命令行窗口類似,命令行歷史窗口也可以浮動(dòng)出來,單擊命令行歷史窗口界面上按鈕,就可以浮動(dòng)該窗口,如圖1-15所示。同樣,通過“View”菜單下的“DockCommandHistory”指令也可以將命令行歷史窗口內(nèi)嵌回MATLAB的界面中。圖1-15MATLAB的歷史記錄窗口在命令行歷史窗口中主要記錄了在MATLAB命令行窗口中鍵入的所有指令,一般包括每次啟動(dòng)MATLAB的時(shí)間,以及每次啟動(dòng)MATLAB之后鍵入的所有MATLAB指令。這些指令不但可以清楚地記錄在命令行歷史窗口中,而且還可以被再次執(zhí)行,它們不僅能夠被復(fù)制到MATLAB的命令行窗口中,而且還可以通過這些指令的記錄直接創(chuàng)建M文件,這些功能都可以通過命令行歷史窗口的快捷菜單來方便地完成,如圖1-16所示。圖1-16命令行歷史的快捷菜單快捷菜單中的指令說明如下:*Copy:拷貝當(dāng)前選中的指令,可以將指令粘貼到其他的應(yīng)用程序窗口中。*EvaluateSelection:執(zhí)行當(dāng)前選中的指令。*CreateM-File:把當(dāng)前選中的指令創(chuàng)建一個(gè)新的M文件,文件的內(nèi)容就是選中的所有指令。*DeleteSelection:從命令行歷史窗口中刪除當(dāng)前選中的指令。*DeletetoSelection:將當(dāng)前選中指令之前的所有歷史記錄指令從命令行歷史窗口中刪除。*DeleteEntireHistory:刪除命令行歷史窗口中所有的指令。

例子1-6命令行歷史窗口的應(yīng)用。繼續(xù)前面例子1-5的應(yīng)用,在命令行歷史窗口中,輸入下面幾條命令(如圖1-17所示):%執(zhí)行系統(tǒng)指令system('copyeagles_hotelcanifornia.mp3eagles.mp3')clearall圖1-17選擇多條命令行歷史語句運(yùn)行然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中,選擇“EvaluateSelection”命令,重復(fù)運(yùn)行這些指令。執(zhí)行單條指令的方法更簡便,只要在命令行窗口中用鼠標(biāo)左鍵雙擊指令就可以了。MATLAB主要將所有歷史命令都保存在一個(gè)歷史記錄文件中,這個(gè)文件位于系統(tǒng)路徑下,一般不需要進(jìn)行編輯。用戶可以通過設(shè)置命令行歷史窗口的屬性來設(shè)置有關(guān)文件,執(zhí)行“File”菜單下的“References”命令,在命令行歷史窗口屬性設(shè)置對(duì)話框中,可以設(shè)置有關(guān)命令行歷史窗口的屬性,如圖1-18所示。圖1-18命令行歷史窗口的屬性設(shè)置1.4.2diary指令diary指令也是常用的MATLAB命令行指令之一,該指令的功能是創(chuàng)建一個(gè)日志文件,在這個(gè)文件中,能夠把所有在MATLAB命令行鍵入的指令以及在命令行窗口的輸入保存下來。這個(gè)日志文件為純文本格式,可以利用任何一種文本編輯器編輯這個(gè)文件。diary指令的常用方法如下:*diary:在歷史日志記錄指令On和Off狀態(tài)之間切換。*diaryon:打開歷史日志記錄功能。*diaryoff:關(guān)閉歷史日志記錄功能。*diary('filename'):創(chuàng)建日志文件,文件名為filename。在使用diary指令時(shí),若不指定文件名,則MATLAB自動(dòng)創(chuàng)建一個(gè)默認(rèn)文件名diary(注意,該文件沒有擴(kuò)展名,為純文本文件)的日志文件,并且進(jìn)入到歷史日志記錄狀態(tài)。在日志文件中將記錄所有在命令行窗口中鍵入的指令以及這些指令運(yùn)行的結(jié)果。注意,diary記錄指令的功能也僅在執(zhí)行diary指令之后的MATLAB會(huì)話中有效,一旦關(guān)閉了MATLAB再次啟動(dòng)時(shí),則diary指令需要重新鍵入。1.5CurrentDirectory和搜索路徑1.5.1CurrentDirectory當(dāng)前路徑察看器MATLAB加載任何文件、執(zhí)行任何指令都是從當(dāng)前的工作路徑下開始的,所以MATLAB也提供了當(dāng)前路徑的瀏覽器——CurrentDirectory,該工具在默認(rèn)的情況下位于MATLAB界面的左上方,在工作空間瀏覽器的下面,可以單擊“CurrentDirectory”標(biāo)簽切換界面。和其他的桌面工具類似,當(dāng)前路徑瀏覽器不僅可以浮動(dòng)在所有窗口上方,而且還可以像默認(rèn)的狀態(tài)那樣內(nèi)嵌在桌面工具中,浮動(dòng)的窗口如圖1-19所示。圖1-19浮動(dòng)的當(dāng)前路徑察看器在如圖1-19所示的完整的路徑察看器中,還可以察看必要的M文件和MAT文件信息,如果在M文件中編寫了幫助文檔,則相應(yīng)的幫助信息將顯示在窗口的下方,同樣MAT文件中包含的變量信息也會(huì)顯示在這里。當(dāng)前路徑察看器的主要作用是幫助用戶組織管理當(dāng)前路徑下的M文件,并且通過該工具,能夠運(yùn)行、編輯相應(yīng)的文件,加載MAT數(shù)據(jù)文件等,這些操作都可以通過對(duì)應(yīng)的右鍵快捷菜單完成。當(dāng)前路徑察看器的快捷菜單命令雖多,但是功能一目了然,這里就不再贅述了,請(qǐng)大家察看相應(yīng)的幫助文檔,或者直接使用菜單命令來察看運(yùn)行的效果。當(dāng)前路徑察看器也可以通過相應(yīng)的屬性設(shè)置對(duì)話框設(shè)置其顯示的外觀。執(zhí)行“File”菜單下的“Preferences”命令,彈出如圖1-20所示的對(duì)話框。圖1-20設(shè)置當(dāng)前路徑察看器的屬性在對(duì)話框中可以設(shè)置有關(guān)當(dāng)前路徑察看器的屬性,其中比較重要的就是History欄目,這里主要設(shè)置在MATLAB界面中CurrentDirectory下拉框中顯示的路徑個(gè)數(shù),默認(rèn)的數(shù)值為20個(gè)。CurrentDirectory下拉框能夠?qū)⒆罱L問過的20個(gè)路徑信息保存起來,便于用戶快速地回訪到那些已經(jīng)訪問過的路徑。有些時(shí)候發(fā)生了路徑的變化,或者不需要保留這些路徑信息時(shí),則可以單擊“ClearHistory”按鈕,將該下拉框中的路徑信息刪除,刪除后,僅保留當(dāng)前的工作路徑。1.5.2工作路徑MATLAB的工作路徑就是當(dāng)前的路徑,MATLAB啟動(dòng)時(shí)采用默認(rèn)的路徑作為當(dāng)前工作路徑,這樣所有的MATLAB文件保存和讀取都將從該路徑下開始。在Windows平臺(tái)下,MATLAB提供了一個(gè)路徑:$matlabroot\work,在MATLAB首次啟動(dòng)時(shí),就會(huì)使用該路徑作為當(dāng)前的工作路徑。注意:對(duì)于Unix平臺(tái),將當(dāng)前啟動(dòng)MATLAB的路徑作為工作路徑。啟動(dòng)時(shí)選擇的工作路徑是可以修改的,一般來說,可以利用MATLAB的Startup腳本文件完成,該腳本文件在MATLAB啟動(dòng)時(shí)自動(dòng)被執(zhí)行,可以將設(shè)置工作路徑的指令(cd指令)添加到該文件中,則每次啟動(dòng)MATLAB的時(shí)候?qū)⒆詣?dòng)地切換到該路徑下。對(duì)于Windows平臺(tái)還有一種方法進(jìn)行路徑設(shè)置。在桌面上選擇MATLAB應(yīng)用程序的快捷圖標(biāo),然后單擊鼠標(biāo)右鍵,在彈出的快捷菜單中選擇“屬性”命令,在彈出的對(duì)話框中有一個(gè)“起始位置”文本輸入框,可以將需要設(shè)置的啟動(dòng)工作路徑設(shè)置在這里,如圖1-21所示。圖1-21設(shè)置工作起始位置修改MATLAB的起始位置1.5.3搜索路徑如前文所述,MATLAB的文件是通過不同的路徑來進(jìn)行組織管理的,為了避免執(zhí)行不同路徑下的MATLAB文件而不斷切換不同的路徑,MATLAB提供了搜索路徑機(jī)制來完成對(duì)文件的組織和管理。所有的MATLAB文件都被保存在不同的路徑中,那么將這些路徑按照一定的次序組織起來,就構(gòu)成了搜索路徑。當(dāng)執(zhí)行某個(gè)MATLAB指令時(shí),系統(tǒng)將按照以下的順序搜索該指令:*首先判斷該指令是否為變量。*然后判斷該指令是否為內(nèi)建的函數(shù)。*接著在當(dāng)前的路徑下搜索是否存在該指令文件。*最后從搜索路徑中依次搜索該文件直到找到第一個(gè)符合要求的M文件為止。*若上述的搜索都沒有找到該指令,則報(bào)告錯(cuò)誤信息。MATLAB按照上面的順序來判斷指令的執(zhí)行,并且僅執(zhí)行第一個(gè)符合條件的指令。注意:實(shí)際的指令解析順序要更復(fù)雜一些,將在本書后面的章節(jié)中再次詳細(xì)講述。設(shè)置搜索路徑可以通過MATLAB指令,也可以通過對(duì)話框界面完成。執(zhí)行“File”菜單下的“SetPath”指令,在彈出的對(duì)話框中可以設(shè)置相應(yīng)的搜索路徑,如圖1-22所示。圖1-22MATLAB的搜索路徑設(shè)置對(duì)話框通過“AddFolder”或者“AddwithSubfolders”按鈕將路徑添加到搜索路徑列表中,對(duì)于已經(jīng)添加到搜索路徑列表中的路徑可以通過“MovetoTop”等按鈕修改該路徑在搜索路徑中的順序,對(duì)于那些不需要出現(xiàn)在搜索路徑中的內(nèi)容,可以通過“Remove”按鈕將其從搜索路徑列表中刪除。在修改完搜索路徑之后,則需要保存搜索路徑,這時(shí)單擊對(duì)話框中的“Save”按鈕就可以完成該工作。單擊“Save”按鈕時(shí),系統(tǒng)將所有搜索路徑的信息保存在一個(gè)M文件中——pathdef.m,有興趣的讀者可以察看該文件的內(nèi)容,通過修改該文件也可以修改搜索路徑。有關(guān)搜索路徑的詳細(xì)信息請(qǐng)參閱MATLAB的幫助文檔。以上設(shè)置路徑的方法也可以通過指令來完成,這些指令如下:*path:察看或者修改路徑信息。*addpath:添加路徑到搜索路徑中。*rmpath:將路徑從搜索路徑列表中刪除。*path2rc:保存搜索路徑信息。*pathtool:顯示搜索路徑設(shè)置對(duì)話框。*genpath:生成路徑字符串。例子1-7設(shè)置MATLAB搜索路徑的指令使用示例。>>%顯示當(dāng)前的搜索路徑信息>>path MATLABPATH E:\MATLAB6p5\toolbox\matlab\general E:\MATLAB6p5\toolbox\matlab\ops E:\MATLAB6p5\toolbox\matlab\lang E:\MATLAB6p5\toolbox\matlab\elmat

>>%生成路徑字符串>>p=genpath(pwd)p=…D:\TEMP;D:\TEMP\Class>>%添加搜索路徑>>addpath(p,'-end')>>%察看路徑信息>>path MATLABPATH E:\MATLAB6p5\toolbox\matlab\general E:\MATLAB6p5\toolbox\matlab\ops E:\MATLAB6p5\toolbox\matlab\lang E:\MATLAB6p5\toolbox\matlab\elmat

D:\TEMP D:\TEMP\Class…在例子1-7中主要使用了genpath命令從當(dāng)前的路徑中生成路徑字符串,使用addpath命令將路徑字符串添加到搜索路徑的末端。有關(guān)這些函數(shù)(指令)的詳細(xì)說明請(qǐng)參閱MATLAB的幫助文檔。在MATLABRelease13中為了提高系統(tǒng)的運(yùn)行性能,提供了一個(gè)新特性——ToolboxPathCache,該特性將所有MATLAB工具箱路徑和路徑下面的文件名稱保存在Cache文件中,這樣,在調(diào)用工具函數(shù)的時(shí)候,就能夠大大提高程序調(diào)用的速度。在每次啟動(dòng)MATLAB的時(shí)候都可以看到如下的信息:UsingToolboxPathCache.Type"helptoolbox_path_cache"formoreinfo.在使用新版的MATLAB時(shí),不要將用戶自己定義的MATLAB文件隨意地添加到工具箱路徑下,也不要任意地修改工具箱路徑下已有的文件。因?yàn)樾薷暮蟮奈募苡锌赡軟]有被重新加載到ToolboxPathCache中,而且一旦重新安裝了MATLAB或者卸載了MATLAB則已有的工作不會(huì)被保留下來。用戶可以通過屬性設(shè)置對(duì)話框,設(shè)置有關(guān)工具箱路徑高速緩存的屬性,若用戶不需要使用高速緩存的時(shí)候,則取消對(duì)復(fù)選框“Enabletoolboxpathcache”的選擇。另外在MATLAB安裝完畢首次運(yùn)行的時(shí)候,還會(huì)出現(xiàn)如下信息:MATLABToolboxPathCacheisoutofdateandisnotbeingused.用戶不必理會(huì)此信息,在下一次啟動(dòng)MATLAB的時(shí)候,更新后的高速緩存將直接發(fā)揮作用。一般來說,在對(duì)MATLAB工作路徑的文件進(jìn)行了修改之后,需要更新工具箱路徑高速緩存,或者在針對(duì)MATLAB的部分模塊進(jìn)行了更新升級(jí)之后,也需要更新工具箱路徑高速緩存。其實(shí)每次MATLAB在啟動(dòng)的時(shí)候,都會(huì)檢查路徑緩存,并且進(jìn)行必要的更新。在需要人工干預(yù)的時(shí)候,可以單擊屬性設(shè)置對(duì)話框上的“UpdateToolboxPathCache”按鈕,或者使用指令rehash。設(shè)置路徑高速緩存的界面如圖1-23所示。圖1-23設(shè)置路徑高速緩存設(shè)置工具箱路徑高速緩存1.6LaunchPad和Start菜單MATLAB的LaunchPad和Start菜單從功能上看非常相似,所以在新版本的MATLAB6.5中,就沒有將LaunchPad作為默認(rèn)的MATLAB界面工具。無論是通過LaunchPad還是Start菜單,都能夠訪問、使用所有MATLAB產(chǎn)品的資源,包括文檔、工具、演示示例等。LaunchPad提供了一個(gè)簡單的窗口界面,具有MATLAB產(chǎn)品的樹狀列表,通過樹狀列表就可以訪問所有的資源。在Start菜單界面上以菜單的形式顯示所有工具的列表,大家可以像訪問Windows的“開始”菜單一樣來使用MATLAB的Start菜單。懸浮的LaunchPad窗口如圖1-24所示。這里將所有的MATLAB產(chǎn)品分為四類:MATLAB、Toolboxes、Simulink和Bloclksets,單擊任何一類名稱前的加號(hào),則可以顯示該類產(chǎn)品下的產(chǎn)品、工具等,例如在圖1-25中,顯示了MTALAB產(chǎn)品下的工具以及相關(guān)的工具箱。圖1-24LaunchPad窗口圖1-25展開工具的LaunchPad窗口和LaunchPad類似,MATLAB的Start菜單也包含相應(yīng)的分組內(nèi)容,如圖1-26所示。圖1-26MATLAB的Start菜單在LaunchPad和Start菜單上主要有四類圖標(biāo),它們的意義分別如下::可用工具,例如MATLAB中的GUIDE。:MATLAB的幫助文檔。:MATLAB系統(tǒng)自帶的演示示例。:MATLAB的網(wǎng)上資源,包括產(chǎn)品說明等。大家可以根據(jù)自己的使用愛好,選擇LaunchPad或者使用Start菜單完成相應(yīng)的功能。1.7使用幫助1.7.1在線幫助所有的MATALB函數(shù)都具有自己的幫助信息,這些幫助信息都保存在相應(yīng)的函數(shù)文件的注釋區(qū)中,這些幫助信息是由那些編寫函數(shù)的工程人員在編寫函數(shù)的同時(shí)添加在函數(shù)內(nèi)的,所以,這些信息能夠最直接地說明函數(shù)的用途,或者函數(shù)需要的一些特殊的輸入?yún)?shù),以及函數(shù)的返回變量等。甚至在有些函數(shù)中,將函數(shù)采用的算法也在這里加以了說明。另外,在線幫助的獲取需要通過具體的指令,才能將在線幫助顯示在命令行窗口中,所以獲取在線幫助的過程也非??旖?,因此,使用MATLAB的用戶最常用的幫助就是在線幫助。獲取在線幫助的方法是使用指令help或者h(yuǎn)elpwin。例子1-8獲取在線幫助。在MATLAB命令行窗口中,鍵入如下的指令:>>%獲取幫助主題>>helpHELPtopics:matlab\general -Generalpurposecommands.matlab\ops -Operatorsandspecialcharacters.matlab\lang -Programminglanguageconstructs.matlab\elmat -Elementarymatricesandmatrixmanipulation.matlab\elfun -Elementarymathfunctions.…>>%獲取幫助主題下的函數(shù)列表>>helpelfunElementarymathfunctions.Trigonometric.sin -Sine.sinh -Hyperbolicsine.asin -Inversesine.asinh -Inversehyperbolicsine.…>>%獲取具體函數(shù)的幫助>>helpsinSINSine.SIN(X)isthesineoftheelementsofX.Overloadedmethodshelpsym/sin.m在例子1-8中,使用的省略符號(hào)是為了縮減篇幅而用,在實(shí)際的MATLAB中,將給出全部內(nèi)容。在線幫助不僅可以顯示在命令行窗口中,還可以顯示在MATLAB的幫助窗口中,內(nèi)容仍然是在線幫助的內(nèi)容,例如:>>%在窗口中顯示在線幫助信息>>helpwinsin這時(shí)sin函數(shù)的在線幫助信息將顯示在幫助窗口中,如圖1-27所示。圖1-27將在線幫助的內(nèi)容顯示在窗口中所有的MATLAB函數(shù)還具有一類在線幫助,叫做H1幫助行,這部分內(nèi)容為每一個(gè)M語言函數(shù)文件的在線幫助的第一行,它能夠被lookfor函數(shù)搜索、查詢,因此在這一行幫助中,往往是言簡意賅的說明性語言,在所有的幫助中相對(duì)最重要。例如,在MATLAB命令行窗口中鍵入:>>%使用H1幫助行>>lookforFourierFFTDiscreteFouriertransform.FFT2Two-dimensionaldiscreteFourierTransform.FFTNN-dimensionaldiscreteFourierTransform.IFFTInversediscreteFouriertransform.IFFT2Two-dimensionalinversediscreteFouriertransform.IFFTNN-dimensionalinversediscrete

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論