




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第一章概述1.1MATLAB產品族簡介1.2MATLAB的桌面環境1.3CommandWindows和MATLAB指令1.4CommandHistory和歷史記錄1.5CurrentDirectory和搜索路徑1.6LaunchPad和Start菜單1.7使用幫助1.8本章小結1.1MATLAB產品族簡介MATLAB的名稱源自MatrixLaboratory,它的首創者是在數值線性代數領域頗有影響的CleveMoler博士,他也是生產經營MATLAB產品的美國Mathworks公司的創始人之一。MATLAB是一種科學計算軟體,專門以矩陣的形式處理數據。MATLAB將高性能的數值計算和可視化集成在一起,並提供了大量的內置函數,從而使其被廣泛地應用於科學計算、控制系統、資訊處理等領域的分析、仿真和設計工作中,而且利用MATLAB產品的開放式結構,用戶可以非常容易地對MATLAB的功能進行擴充,從而在不斷深化對問題認識的同時,逐步完善MATLAB產品以提高產品自身的競爭能力。MATLAB產品族可以用來進行如下工作:*數值分析;*數值和符號計算;*工程與科學繪圖;*控制系統的設計與仿真;*數字圖像處理;*數字信號處理;*通訊系統設計與仿真;*財務與金融工程。1.1.1MATLAB的產品體系
MATLAB產品由若干個模組組成,不同的模組完成不同的功能,其中有*MATLAB;
*MATLABToolboxes;*MATLABCompiler;*Simulink;*SimulinkBlockset;*Real-TimeWorkshop(RTW);*Stateflow;*StateflowCoder。圖1-1MATLAB的產品體系
其中,MATLAB是MATLAB產品家族的基礎,它提供了基本的數學演算法,例如矩陣運算、數值分析演算法,MATLAB集成了2D和3D圖形功能,以完成相應數值可視化的工作,並且提供了一種互動式的高級編程語言——M語言,利用M語言可以通過編寫腳本或者函數檔實現用戶自己的演算法。MATLABCompiler是一種編譯工具,它能夠將那些利用MATLAB提供的編程語言——M語言編寫的函數檔編譯生成標準的C/C++語言原始檔案,而生成的標準C/C++源代碼可以被任何一種C/C++編譯器編譯生成函數庫或者可執行檔,這樣就可以擴展MATLAB功能,使MATLAB能夠同其他高級編程語言(例如C/C++語言)進行混合應用,取長補短,以提高程式的運行效率,豐富程式開發的手段。
MATLAB除了能夠和C/C++語言集成開發以外,目前的MATLAB還提供了和Java語言介面的能力,並且它還支持COM標準,能夠和任何一種支持COM標準的軟體協同工作。另外,在Release13中,包含了MATLABCompiler的擴展產品——MATLABCOMBuilder和ExcelBuilder,分別用來將MATLAB的函數檔打包成COM組件或者Excel插件,將MATLAB應用程式演算法集成到相應的開發工具或者應用軟體中。
利用M語言還開發了相應的MATLAB專業工具箱函數供用戶直接使用,這些工具箱應用的演算法是開放的、可擴展的,用戶不僅可以察看其中的演算法,還可以針對一些演算法進行修改,甚至允許開發自己的演算法以便擴充工具箱的功能。目前MATLAB產品的工具箱有40多種,分別涵蓋了數據獲取、科學計算、控制系統設計與分析、數字信號處理、數字圖像處理、金融財務分析以及生物遺傳工程等專業領域。MATLAB主要的專業工具箱包括以下幾種。*數學與數據分析:OptimizationStaticsNerualNetworkSymbolicMathPartialDifferentialEquationMappingSplineCurveFittingVirtualRealityBioinforamtics*數據獲取與採集:DataAcquisitionImageAcquisitionInstrumentControlDatabaseExcel*信號處理與圖像處理:SignalProcessingImageProcessingCommunicationSystemIdentificationWaveletFilterDesignMATLABLinkforCodeComposerStudio*控制系統設計與分析:ControlsystemFuzzyLogicRobustControl16Mu-AnalysisandSynthesis18LMIControl18ModelPredictiveControl18Model-BasedCalibration*財經與金融:FinancialFinancialTimeSeriesGARCHDatafeedFinancialDerivativesFixedIncome1.1.2Simulink簡介
Simulink是基於MATLAB的框圖設計環境,可以用來對各種動態系統進行建模、分析和仿真,它的建模範圍廣泛,可以針對任何能夠用數學來描述的系統進行建模,例如航空航太動力學系統、衛星控制制導系統、通訊系統、船舶及汽車等,其中包括連續、離散,條件執行、事件驅動、單速率、多速率和混雜系統等。Simulink提供了利用滑鼠拖放的方法建立系統框圖模型的圖形介面,而且Simulink還提供了豐富的功能塊以及不同的專業模組集合,利用Simulink幾乎可以做到不書寫一行代碼就能完成整個動態系統的建模工作。此外,在Simulink基礎上還提供了Stateflow,用來進行事件驅動過程的仿真。Simulink的特點:*互動式建模:Simulink本身就提供了大量的功能塊方便用戶快速建立動態系統的模型,如圖1-2所示,建模的時候只需要利用滑鼠拖放功能塊並將其連接起來即可。*互動式仿真:Simulink的框圖提供可交互的仿真環境,可以將仿真結果動態顯示出來,並且在各種仿真的過程中調節系統的參數。*任意擴充和定制功能:Simulink的開放式結構允許用戶擴充仿真環境的功能,可以將用戶利用C、C++、Fortran語言編寫的演算法集成到Simulink框圖中。圖1-2Simulink的庫流覽器*與MATLAB工具集成:Simulink的基礎是MATLAB,在Simulink框圖中可以直接利用MATLAB的數學、圖形和編輯功能,完成諸如數據分析、過程自動化分析、優化參數等工作。*專業模型庫:為了擴展Simulink的功能,Mathworks公司針對不同的專業領域和行業開發了各種專業模型庫,將這些模型庫同Simulink的基本模組庫結合起來,可以完成不同專業領域動態系統的建模工作。Simulink的相關產品以及專業模組如表1-1所示。表1-1MATLAB中的Simulink相關模組表1-1MATLAB中的Simulink相關模組圖1-3用Simalink進行視頻系統仿真的例子圖1-3用Simalink進行視頻系統仿真的例子
1.1.3Stateflow簡介
Stateflow是一個互動式的設計工具,它基於有限狀態機的理論,可以用來對複雜的事件驅動系統進行建模和仿真。Stateflow與Simulink和MATLAB緊密集成,可以將Stateflow創建的複雜控制邏輯有效地結合到Simulink的模型中。有限狀態機是具有有限個狀態的系統的理論表述。它以某些缺省的狀態為起點,根據所定義的事件和轉移進行操作,轉移表示狀態機如何對事件進行回應(控制流程)。圖1-4有限狀態機的一個例子
圖1-4就是有限狀態機的一個例子。其中,A、B、C、D、E分別表示系統的不同狀態,而a、b表示回應的事件,具有方向的線表示狀態與狀態之間的邏輯流,邏輯流依賴事件驅動,所以這是一個典型的事件驅動模型,可利用有限狀態機理論進行表述。假設用一個狀態機表示空調的製冷工作,一般空調工作的時候具有兩種狀態,即運行(On)和停止(Off)。當電源接通之後,空調機一般默認為運行狀態,若室內的溫度高於設定的溫度,則空調機處於運行狀態,若室內的溫度低於設定的溫度,則空調機停止運行,這樣系統就從一個狀態轉換到另一個狀態。利用Stateflow可以對該系統進行建模,如圖1-5所示。圖1-5利用Stateflow建模Stateflow主要可以用於各種動態邏輯、控制流程系統的建模與仿真,例如在飛行器的導航制導與控制系統中,經常需要根據當前的飛行狀態切換不同的系統控制參數,利用Stateflow就可以完成此類系統的建模與仿真。再比如說,在通訊系統中,為了仿真網路通訊中的物理層(MACLayer)協議,也可以使用Stateflow進行建模與仿真,圖1-6展示了用於仿真以太網物理層協議的Stateflow模型。圖1-6利用Stateflow完成以太網物理層協議仿真1.1.4自動化代碼生成工具在MATLAB產品族中,自動化的代碼生成工具主要有Real-TimeWorkshop(RTW)和StateflowCoder,這兩種代碼生成工具可以直接將Simulink的模型框圖和Stateflow的狀態圖轉換成高效、優化的程式代碼。利用RTW生成的代碼簡潔、可靠、易讀。目前RTW支持生成標準的C語言代碼,並且具備了生成其他語言代碼的能力。整個代碼的生成、編譯以及相應的目標下載過程都是自動完成的,用戶需要做的僅僅是使用滑鼠點擊幾個按鈕即可。Mathworks公司針對不同的即時或非即時操作系統平臺開發了相應的目標選項,以配合不同的軟、硬體系統完成快速控制原型(RapidControlPrototype)開發、硬體在回路的即時仿真(Hardware-in-Loop)、產品代碼生成等工作。圖1-7Real-TimeWorkshop的體系結構目前MATLAB/Simulink的RTW支持的目標主要包括:*S-functionTarget;*RapidSimulationTarget;*GeneralReal-TimeTarget;*DOS(4GW)Real-TimeTarget;*Real-TimeWindowsTarget;*LE/OReal-TimeTarget;*Tornado(VxWorks)Real-TimeTarget;*EmbeddedTargetforMotorolaMPC555;*EmbeddedTargetforTITMS320C6000DSP;*EmbeddedTargetforInfineonC166;*EmbeddedTargetforMotorolaHC12;*EmbeddedTargetforOSEK/VDX;*xPCTarget;*第三方硬體平臺。
在這些目標體系中,常用於控制系統原型仿真的目標平臺主要包括Real-TimeWindowsTarget、xPCTarget以及dSPACE等第三方硬體平臺。
Real-TimeWindowsTarget可以將一臺運行Windows操作系統的PC機轉變成為獨立的自主目標機,目標機交互地即時運行Simulink模型。Real-TimeWindowsTarget支持直接的I/O訪問,允許用戶和模型之間即時交互,是一個易用的、廉價的低端快速原型開發和硬體在回路仿真的目標環境。
利用xPCTarget,用戶可以將Simulink提供的支持xPCTarget的I/O模組添加到Simulink的模型中,然後通過RTW的xPCTarget選項,將模型下載到另一臺運行在xPCTarget即時內核的x86體系電腦上,這時模型在xPC即時內核上即時地運行。xPC支持的板卡和I/O數量種類豐富,是理想的快速原型實現和硬體在回路仿真的測試工具。
在第三方硬體支持中,目前最流行的也是性能較高的就是德國dSPACE公司開發的dSPACE系統。dSPACE系統是一套基於MATLAB/Simulink的控制系統開發及測試平臺,實現了與MATLAB/Simulink的無縫連接。在MATLAB/Simulink和dSPACE系統的支持下,可以完善地解決控制系統的快速原型開發和硬體在回路仿真中遇到的各種問題,使工程師可以將自己的精力集中在控制系統演算法的開發中,而不是耗費在大量繁瑣的代碼編寫中。dSPACE系統的主要特點如下:*組合性強:dSPACE系統設計了各種標準的組件系統,可以對系統進行任意的組合和配置,可以選擇不同的處理器板卡,也可以針對具體的應用選擇性能不同的I/O板卡。*易於掌握:由於dSPACE系統和MATLAB/Simulink產品之間的無縫連接,使掌握了MATLAB的廣大工程技術人員可以輕鬆掌握dSPACE系統。*快速性好:由於dSPACE系統和MATLAB/Simulink產品之間的無縫連接,整個生成代碼、編譯、下載過程由電腦自動完成,而修改參數再次生成代碼、編譯、下載只需要幾分鐘,從而可以在短時間內對原型進行反復的更改和試驗,減少了以往大量的編碼修改、編寫的時間,極大地提高了工作效率。此外,dSPACE系統還具有較高的即時性、可靠性,而且通過不同的板卡配置提供了靈活多變的應用,從而適應用戶的各方面要求。
關於dSPACE系統的詳細資訊,請流覽該公司的網站:,也可以流覽該產品在中國的惟一代理商——北京九州恒潤科技有限公司的網站:。像各種單片機一樣,HC12、C166等主要用於控制系統中嵌入式控制器的處理器在回路中的仿真開發,特別是EmbeddedTargetforTIC6000DSP能夠將Simulink框圖化的模型轉變成直接在C6000系列DSP開發板或者EVM板上運行的可執行程式,從而直接通過硬體設備來驗證系統的演算法。另外,MATLAB開放性的可擴充體系允許用戶開發自定義的系統目標,利用Real-TimeWorkshopEmbeddedCoder能夠直接將Simulink的模型轉變成效率優化的產品級代碼,代碼不僅可以是浮點的,還可以是定點的。1.2MATLAB的桌面環境
在運行MATLAB之前首先要在自己的操作系統中安裝MATLAB,目前MATLAB可以在Windows、Red-hatLinux、SunSolaris、MACOS等操作系統中安裝使用。如果讀者使用Windows操作系統,則建議使用Windows2000或者WindowsXPProfessional版本作為MATLAB的運行平臺。運行MATLAB時,可以雙擊MATLAB的圖示,或者在命令行提示符(控制臺方式)下鍵入指令:matlab,這時將啟動MATLAB的圖形桌面工具環境。MATLAB的桌面環境可以包含多個窗口,這些窗口分別為歷史命令窗口(CommandHistory)、命令行窗口(CommandWindow)、當前目錄流覽器(CurrentDirectoryBrowser)、工作空間流覽器(WorkspaceBrowser)、目錄分類窗口(LaunchPad)、數組編輯器(ArrayEditor)、M檔編輯器/調試器(Editor/Debugger)、超文本幫助流覽器(HelpNavigator/Browser),這些窗口都可以內嵌在MATLAB主窗體中,組成MATLAB的用戶介面。其中當MATLAB安裝完畢並首次運行時,展示在用戶面前的介面為MATLAB運行時的缺省界面窗口,如圖1-8所示。圖1-8MATLAB默認的用戶介面MATLAB6.5的缺省界面和MATLAB6.1的缺省界面相比還是有一定變化的,主要就是在介面的左下角有一個名為“Start”的啟動菜單,在這個菜單中可以執行MATLAB產品的各種工具,並且可以查閱MATLAB包含的各種資源,它的功能和MATLAB的目錄分類窗口(LaunchPad)功能非常類似。在默認的缺省用戶介面中,新版本的MATLAB中沒有了目錄分類窗口(LaunchPad),而是工作空間流覽器(WorkspaceBrowser)。
MATLAB啟動的介面可以具有多種默認的選擇,用戶可以通過MATLAB介面中的“View”菜單下的“DesktopLayout”子菜單下的命令選擇不同的MATLAB介面,這些命令分別為:*Default:缺省的介面,如圖1-8所示。包含歷史命令窗口(CommandHistory)、命令行窗口(CommandWindow),此外工作空間流覽器(WorkspaceBrowser)和當前目錄流覽器(CurrentDirectoryBrowser)兩個窗口層疊在一起。*CommandWindowsOnly:僅包含命令行窗口(CommandWindow),此時MATLAB介面的外觀類似於舊版本的MATLAB。*Simple:包含兩個窗口——命令行窗口(CommandWindow)和歷史命令窗口(CommandHistory),兩個窗口並列在介面中,如圖1-9所示。圖1-9選擇Simple菜單命令的介面*ShortHistory和TallHistory:這兩個菜單命令包含的窗口類型和數量同默認的介面完全一致,不過排放的順序不同,如圖1-10、1-11所示。圖1-10選擇ShortHistory菜單命令的介面圖1-11選擇TallHistory菜單命令的介面*FivePanel:包含所有的MATLAB桌面窗口,在MATLAB介面中各個窗口處於平鋪狀態,如圖1-12所示。圖1-12選擇FivePanel菜單命令的介面
在MATLAB用戶介面的View菜單下還有一些菜單命令可以用來選擇顯示在圖形介面中的窗口,用戶可以根據自己的喜好選擇配置用戶介面。在本小結提及的各種用戶交互的窗口將在後續的章節中詳細講述。一般情況下,建議用戶選擇“CommandWindowsOnly”方式來運行MATLAB。在這種啟動方式下,MATLAB的啟動速度比較快,佔用的資源略少。1.3CommandWindows和MATLAB指令1.3.1命令行窗口
MATLAB的命令行窗口不僅可以內嵌在MATLAB的用戶介面中,還可以浮動在介面上,單擊命令行窗口上的按鈕,就可以浮動命令行窗口,如圖1-13所示。若希望重新將命令行窗口嵌入到MATLAB的介面中,可以執行“View”菜單下的“DockCommandWindow”命令即可。
MATLAB的命令行窗口無論是外觀還是使用方法,從其4.x的版本起就已經沒有明顯的變化了,它最具特色的就是其命令回調的功能,也就是說在MATLAB的命令行窗口鍵入任意算術運算式,系統將自動解算,並給出結果,見例子1-1。圖1-13浮動的MATLAB命令行窗口例子1-1計算算術運算式。只要直接在MATLAB的命令行窗口中鍵入:
>>-5/(4.8+5.32)^2↙系統將直接計算運算式的結果,並且給出答案:ans= -0.0488
注意:●這裏的符號“>>”為MATLAB的命令行提示符。●這裏的符號“↙”表示鍵入運算式之後按回車鍵。●MATLAB的數學運算符同其他的電腦高級語言(例如C語言)類似。●這裏計算得到的結果顯示為ans,ans是英文單詞“answer”的縮寫,它是MATLAB默認的系統變數。●所有MATLAB的計算結果和數值都默認使用雙精度類型顯示。例子1-2計算複數的運算(1+2i)×(1?3i)。在MATLAB命令行窗口中鍵入:
>>(1+2i)*(1-3i)↙系統直接計算運算式的結果,並給出答案:ans=7.0000-1.0000i
注意:在MATLAB中表示複數,按照例子1-2中所示的樣式,即x±yi,其中x和y都是雙精度的數字。在這裏,i作為複數單位存在,同樣也可以使用j表示複數單位。上面的兩個例子中都是將MATLAB直接作為計算器來使用的,在MATLAB的命令窗口中還可以定義相應的MATLAB數據對象和變數以及調用函數。例子1-3
調用函數。>>cos(pi/2)ans=6.1232e-017>>exp(acos(0.3))ans=3.5470
在例子1-3中調用余弦函數求π/2的余弦值,但是一般的數學知識告訴我們π/2的余弦應該為0,但是MATLAB求的數值不是0,而是一個近似為0的數值,這都是由MATLAB浮點數的計算精度引起的。在調用函數的時候,需要注意括弧的作用,它會造成主計算優先順序的變化。例子1-3在計算第二個運算式的時候,首先計算反余弦函數,然後再計算指數函數。MATLAB的功能是通過大量的M語言函數或者MATLAB內建的指令來完成的,在命令行窗口中,調用這些函數的方法就是直接鍵入函數或者指令,並且根據不同的函數提供相應的參數列表。MATLAB的命令行窗口具有命令行記憶的功能,也就是說,在命令行窗口中,使用上、下游標鍵就可以重複以前鍵入的指令了,這對使用MATLAB是非常便利的功能。而且MATLAB還具有局部記憶的功能,例如在MATLAB的命令行窗口中曾經執行了一個函數testcommandwindows,那麼再次運行該函數時,只要在命令行中鍵入test,然後按游標上鍵↑,整條命令就會出現在命令行窗口中,這時按回車鍵就可以執行該指令了。1.3.2設置命令行窗口的顯示方式其實MATLAB的計算結果除了用圖形方式進行可視化輸出以外,在大多數情況下,都是在命令行窗口中輸出的,而且命令行窗口中的文本輸出形式,例如文本的字體、字型大小或者色彩等都可以根據用戶的需要自定義。設置的方法是執行“File”菜單下的“Reference”命令,在彈出的對話框中,選擇左邊選項中的“CommandWindow”項,然後展開“Font&Colors”子選項,對話框的右邊則出現可以設置的文本輸出特性,如圖1-14所示。一旦通過圖1-14所示的對話框對各種文本的顯示屬性進行了設置,在單擊“Apply”按鈕或者“OK”按鈕時屬性值就會立即生效,而且設置的屬性也會被永久保留下來,在下一次啟動MATLAB時將直接使用設定的屬性。圖1-14設置命令行窗口的文本屬性
在命令行窗口中顯示數值計算的結果具有一定的格式,例如在上一小節的兩個例子中,所有的數值都是按照MATLAB默認的數字顯示格式——短(short)格式顯示的,在這種表示方法下具有固定的格式,保留小數點後四位有效數字,對於大於1000的數值,使用科學計數法表示。設置數據的顯示格式需要使用format指令,具體的使用方法如表1-2所示,在表格中使用的示例數據為自然對數的底數。表1-2MATLAB命令行窗口顯示數據的格式例子1-4
使用不同的數據顯示格式顯示數字。在MATLAB命令行中,鍵入下麵的指令:>>pians=3.1416>>formatlong>>pians=3.14159265358979>>format+>>pians=+
例子1-4中使用MATLAB的內建函數pi獲取常數π的數值,也可以將pi看作是MATLAB的常數。MATLAB的常數將在後面的章節中詳細講述。從例子1-4中可以看出,在不同的數據顯示格式下,顯示的數據位數不盡相同,大家可以根據自己的需要,設置數據顯示的位數。1.3.3常用的控制指令
MATLAB包含的函數可以粗略地分為兩大類,其中之一是執行各種具體計算或者數據處理功能的函數,例如cos函數、sqrt函數等,而另外一類是進行用戶環境控制的指令,比如退出MATLAB會話、執行操作系統的功能等。在表1-3中對一些常用的控制指令進行了總結。表1-3常用的MATLAB控制指令例子1-5
常用的控制指令示例。>>%察看當前的路徑>>pwdans=D:\Temp>>%顯示當前路徑下的檔和子目錄>>dir...FigureMenuBar.figHowamIsupposetolivewithoutyou.mp3JavaSaidIlovedyou,butIlied.mp3eagles_hotelcanifornia.mp3gui_soln.figgui_soln.mmymesh.mtest.m>>%顯示當前路徑下的MATLAB檔>>whatM-filesinthecurrentdirectoryD:\Tempgui_solnmymeshtest>>%what指令的路徑>>whichwhatwhatisabuilt-infunction.>>%察看M檔的路徑>>whichlogoE:\MATLAB6p5\toolbox\matlab\demos\logo.m>>%執行系統指令>>system('copyeagles_hotelcanifornia.mp3eagles.mp3')已複製1個檔。ans=
0
依次執行例子1-5的指令可以得到相應的指令輸出,注意what指令和dir指令的區別。另外,在執行系統指令的時候還可以使用MATLAB的“!”符號,例如在執行例子1-5最後的拷貝命令時,也可以這樣做:
>>!copyeagles_hotelcanifornia.mp3eagles.mp3
兩者的區別在於通過system指令執行系統命令能夠獲取系統指令的返回值,例如指令執行的狀態等。system指令的一般使用方法為
system('command');
其中,command就是系統指令,用單引號“'”括起來作為參數傳遞給system指令。在使用which指令的時候得到的輸出根據which指令後面的參數不同而不同,例如在執行whichwhat時,系統判斷what為內建(build-in)的函數,而在執行whichlogo指令時,系統判斷logo為M檔,並且給出了M檔所在的路徑。有關內建函數或者M檔函數的概念將在本書的第四章中詳細講述。1.4CommandHistory和歷史記錄1.4.1命令行歷史窗口在默認的MATLAB介面中,命令行歷史窗口總是在MATLAB介面的左下角,和命令行窗口類似,命令行歷史窗口也可以浮動出來,單擊命令行歷史窗口介面上按鈕,就可以浮動該窗口,如圖1-15所示。同樣,通過“View”菜單下的“DockCommandHistory”指令也可以將命令行歷史窗口內嵌回MATLAB的介面中。圖1-15MATLAB的歷史記錄窗口
在命令行歷史窗口中主要記錄了在MATLAB命令行窗口中鍵入的所有指令,一般包括每次啟動MATLAB的時間,以及每次啟動MATLAB之後鍵入的所有MATLAB指令。這些指令不但可以清楚地記錄在命令行歷史窗口中,而且還可以被再次執行,它們不僅能夠被複製到MATLAB的命令行窗口中,而且還可以通過這些指令的記錄直接創建M檔,這些功能都可以通過命令行歷史窗口的快捷菜單來方便地完成,如圖1-16所示。圖1-16命令行歷史的快捷菜單
快捷菜單中的指令說明如下:*Copy:拷貝當前選中的指令,可以將指令粘貼到其他的應用程式窗口中。*EvaluateSelection:執行當前選中的指令。*CreateM-File:把當前選中的指令創建一個新的M檔,檔的內容就是選中的所有指令。*DeleteSelection:從命令行歷史窗口中刪除當前選中的指令。*DeletetoSelection:將當前選中指令之前的所有歷史記錄指令從命令行歷史窗口中刪除。*DeleteEntireHistory:刪除命令行歷史窗口中所有的指令。
例子1-6
命令行歷史窗口的應用。繼續前面例子1-5的應用,在命令行歷史窗口中,輸入下麵幾條命令(如圖1-17所示):%執行系統指令system('copyeagles_hotelcanifornia.mp3eagles.mp3')clearall圖1-17選擇多條命令行歷史語句運行
然後單擊滑鼠右鍵,在彈出的快捷菜單中,選擇“EvaluateSelection”命令,重複運行這些指令。執行單條指令的方法更簡便,只要在命令行窗口中用滑鼠左鍵雙擊指令就可以了。
MATLAB主要將所有歷史命令都保存在一個歷史記錄檔中,這個檔位於系統路徑下,一般不需要進行編輯。用戶可以通過設置命令行歷史窗口的屬性來設置有關檔,執行“File”菜單下的“References”命令,在命令行歷史窗口屬性設置對話框中,可以設置有關命令行歷史窗口的屬性,如圖1-18所示。圖1-18命令行歷史窗口的屬性設置1.4.2diary指令
diary指令也是常用的MATLAB命令行指令之一,該指令的功能是創建一個日誌檔,在這個檔中,能夠把所有在MATLAB命令行鍵入的指令以及在命令行窗口的輸入保存下來。這個日誌檔為純文本格式,可以利用任何一種文本編輯器編輯這個檔。diary指令的常用方法如下:*diary:在歷史日誌記錄指令On和Off狀態之間切換。*diaryon:打開歷史日誌記錄功能。*diaryoff:關閉歷史日誌記錄功能。*diary('filename'):創建日誌檔,檔案名為filename。
在使用diary指令時,若不指定檔案名,則MATLAB自動創建一個默認檔案名diary(注意,該檔沒有擴展名,為純文本檔)的日誌檔,並且進入到歷史日誌記錄狀態。在日誌檔中將記錄所有在命令行窗口中鍵入的指令以及這些指令運行的結果。注意,diary記錄指令的功能也僅在執行diary指令之後的MATLAB會話中有效,一旦關閉了MATLAB再次啟動時,則diary指令需要重新鍵入。1.5CurrentDirectory和搜索路徑1.5.1CurrentDirectory當前路徑察看器
MATLAB加載任何檔、執行任何指令都是從當前的工作路徑下開始的,所以MATLAB也提供了當前路徑的流覽器——CurrentDirectory,該工具在默認的情況下位於MATLAB介面的左上方,在工作空間流覽器的下麵,可以單擊“CurrentDirectory”標籤切換介面。和其他的桌面工具類似,當前路徑流覽器不僅可以浮動在所有窗口上方,而且還可以像默認的狀態那樣內嵌在桌面工具中,浮動的窗口如圖1-19所示。圖1-19浮動的當前路徑察看器
在如圖1-19所示的完整的路徑察看器中,還可以察看必要的M檔和MAT檔資訊,如果在M檔中編寫了幫助文檔,則相應的幫助資訊將顯示在窗口的下方,同樣MAT檔中包含的變數資訊也會顯示在這裏。當前路徑察看器的主要作用是幫助用戶組織管理當前路徑下的M檔,並且通過該工具,能夠運行、編輯相應的檔,加載MAT數據檔等,這些操作都可以通過對應的右鍵快捷菜單完成。當前路徑察看器的快捷菜單命令雖多,但是功能一目了然,這裏就不再贅述了,請大家察看相應的幫助文檔,或者直接使用菜單命令來察看運行的效果。
當前路徑察看器也可以通過相應的屬性設置對話框設置其顯示的外觀。執行“File”菜單下的“Preferences”命令,彈出如圖1-20所示的對話框。圖1-20設置當前路徑察看器的屬性
在對話框中可以設置有關當前路徑察看器的屬性,其中比較重要的就是History欄目,這裏主要設置在MATLAB介面中CurrentDirectory下拉框中顯示的路徑個數,默認的數值為20個。CurrentDirectory下拉框能夠將最近訪問過的20個路徑資訊保存起來,便於用戶快速地回訪到那些已經訪問過的路徑。有些時候發生了路徑的變化,或者不需要保留這些路徑資訊時,則可以單擊“ClearHistory”按鈕,將該下拉框中的路徑資訊刪除,刪除後,僅保留當前的工作路徑。1.5.2工作路徑
MATLAB的工作路徑就是當前的路徑,MATLAB啟動時採用默認的路徑作為當前工作路徑,這樣所有的MATLAB檔保存和讀取都將從該路徑下開始。在Windows平臺下,MATLAB提供了一個路徑:$matlabroot\work,在MATLAB首次啟動時,就會使用該路徑作為當前的工作路徑。注意:對於Unix平臺,將當前啟動MATLAB的路徑作為工作路徑。
啟動時選擇的工作路徑是可以修改的,一般來說,可以利用MATLAB的Startup腳本檔完成,該腳本檔在MATLAB啟動時自動被執行,可以將設置工作路徑的指令(cd指令)添加到該檔中,則每次啟動MATLAB的時候將自動地切換到該路徑下。對於Windows平臺還有一種方法進行路徑設置。在桌面上選擇MATLAB應用程式的快捷圖示,然後單擊滑鼠右鍵,在彈出的快捷菜單中選擇“屬性”命令,在彈出的對話框中有一個“起始位置”文本輸入框,可以將需要設置的啟動工作路徑設置在這裏,如圖1-21所示。圖1-21設置工作起始位置修改MATLAB的起始位置1.5.3搜索路徑如前文所述,MATLAB的檔是通過不同的路徑來進行組織管理的,為了避免執行不同路徑下的MATLAB檔而不斷切換不同的路徑,MATLAB提供了搜索路徑機制來完成對檔的組織和管理。所有的MATLAB檔都被保存在不同的路徑中,那麼將這些路徑按照一定的次序組織起來,就構成了搜索路徑。當執行某個MATLAB指令時,系統將按照以下的順序搜索該指令:*首先判斷該指令是否為變數。*然後判斷該指令是否為內建的函數。*接著在當前的路徑下搜索是否存在該指令檔。*最後從搜索路徑中依次搜索該檔直到找到第一個符合要求的M檔為止。*若上述的搜索都沒有找到該指令,則報告錯誤資訊。
MATLAB按照上面的順序來判斷指令的執行,並且僅執行第一個符合條件的指令。
注意:實際的指令解析順序要更複雜一些,將在本書後面的章節中再次詳細講述。設置搜索路徑可以通過MATLAB指令,也可以通過對話框介面完成。執行“File”菜單下的“SetPath”指令,在彈出的對話框中可以設置相應的搜索路徑,如圖1-22所示。圖1-22MATLAB的搜索路徑設置對話框
通過“AddFolder”或者“AddwithSubfolders”按鈕將路徑添加到搜索路徑列表中,對於已經添加到搜索路徑列表中的路徑可以通過“MovetoTop”等按鈕修改該路徑在搜索路徑中的順序,對於那些不需要出現在搜索路徑中的內容,可以通過“Remove”按鈕將其從搜索路徑列表中刪除。在修改完搜索路徑之後,則需要保存搜索路徑,這時單擊對話框中的“Save”按鈕就可以完成該工作。單擊“Save”按鈕時,系統將所有搜索路徑的資訊保存在一個M檔中——pathdef.m,有興趣的讀者可以察看該檔的內容,通過修改該檔也可以修改搜索路徑。有關搜索路徑的詳細資訊請參閱MATLAB的幫助文檔。以上設置路徑的方法也可以通過指令來完成,這些指令如下:*path:察看或者修改路徑資訊。*addpath:添加路徑到搜索路徑中。*rmpath:將路徑從搜索路徑列表中刪除。*path2rc:保存搜索路徑資訊。*pathtool:顯示搜索路徑設置對話框。*genpath:生成路徑字串。例子1-7
設置MATLAB搜索路徑的指令使用示例。>>%顯示當前的搜索路徑資訊>>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命令從當前的路徑中生成路徑字串,使用addpath命令將路徑字串添加到搜索路徑的末端。有關這些函數(指令)的詳細說明請參閱MATLAB的幫助文檔。在MATLABRelease13中為了提高系統的運行性能,提供了一個新特性——ToolboxPathCache,該特性將所有MATLAB工具箱路徑和路徑下麵的檔案名稱保存在Cache檔中,這樣,在調用工具函數的時候,就能夠大大提高程式調用的速度。在每次啟動MATLAB的時候都可以看到如下的資訊:
UsingToolboxPathCache.Type"helptoolbox_path_cache"formoreinfo.
在使用新版的MATLAB時,不要將用戶自己定義的MATLAB檔隨意地添加到工具箱路徑下,也不要任意地修改工具箱路徑下已有的檔。因為修改後的檔很有可能沒有被重新加載到ToolboxPathCache中,而且一旦重新安裝了MATLAB或者卸載了MATLAB則已有的工作不會被保留下來。用戶可以通過屬性設置對話框,設置有關工具箱路徑高速緩存的屬性,若用戶不需要使用高速緩存的時候,則取消對複選框“Enabletoolboxpathcache”的選擇。另外在MATLAB安裝完畢首次運行的時候,還會出現如下資訊:
MATLABToolboxPathCacheisoutofdateandisnotbeingused.
用戶不必理會此信息,在下一次啟動MATLAB的時候,更新後的高速緩存將直接發揮作用。一般來說,在對MATLAB工作路徑的檔進行了修改之後,需要更新工具箱路徑高速緩存,或者在針對MATLAB的部分模組進行了更新升級之後,也需要更新工具箱路徑高速緩存。其實每次MATLAB在啟動的時候,都會檢查路徑緩存,並且進行必要的更新。在需要人工干預的時候,可以單擊屬性設置對話框上的“UpdateToolboxPathCache”按鈕,或者使用指令rehash。設置路徑高速緩存的介面如圖1-23所示。圖1-23設置路徑高速緩存設置工具箱路徑高速緩存1.6LaunchPad和Start菜單MATLAB的LaunchPad和Start菜單從功能上看非常相似,所以在新版本的MATLAB6.5中,就沒有將LaunchPad作為默認的MATLAB介面工具。無論是通過LaunchPad還是Start菜單,都能夠訪問、使用所有MATLAB產品的資源,包括文檔、工具、演示示例等。
LaunchPad提供了一個簡單的窗口介面,具有MATLAB產品的樹狀列表,通過樹狀列表就可以訪問所有的資源。在Start菜單介面上以菜單的形式顯示所有工具的列表,大家可以像訪問Windows的“開始”菜單一樣來使用MATLAB的Start菜單。
懸浮的LaunchPad窗口如圖1-24所示。這裏將所有的MATLAB產品分為四類:MATLAB、Toolboxes、Simulink和Bloclksets,單擊任何一類名稱前的加號,則可以顯示該類產品下的產品、工具等,例如在圖1-25中,顯示了MTALAB產品下的工具以及相關的工具箱。圖1-24LaunchPad窗口圖1-25展開工具的LaunchPad窗口
和LaunchPad類似,MATLAB的Start菜單也包含相應的分組內容,如圖1-26所示。圖1-26MATLAB的Start菜單
在LaunchPad和Start菜單上主要有四類圖示,它們的意義分別如下::可用工具,例如MATLAB中的GUIDE。:MATLAB的幫助文檔。:MATLAB系統自帶的演示示例。:MATLAB的網上資源,包括產品說明等。大家可以根據自己的使用愛好,選擇LaunchPad或者使用Start菜單完成相應的功能。1.7使用幫助1.7.1線上幫助所有的MATALB函數都具有自己的幫助資訊,這些幫助資訊都保存在相應的函數檔的注釋區中,這些幫助資訊是由那些編寫函數的工程人員在編寫函數的同時添加在函數內的,所以,這些資訊能夠最直接地說明函數的用途,或者函數需要的一些特殊的輸入參數,以及函數的返回變數等。甚至在有些函數中,將函數採用的演算法也在這裏加以了說明。另外,線上幫助的獲取需要通過具體的指令,才能將線上幫助顯示在命令行窗口中,所以獲取線上幫助的過程也非常快捷,因此,使用MATLAB的用戶最常用的幫助就是線上幫助。獲取線上幫助的方法是使用指令help或者helpwin。例子1-8
獲取線上幫助。在MATLAB命令行窗口中,鍵入如下的指令:>>%獲取幫助主題>>helpHELPtopics:matlab\general -Generalpurposecommands.matlab\ops -Operatorsandspecialcharacters.matlab\lang -Programminglanguageconstructs.matlab\elmat -Elementarymatricesandmatrixmanipulation.matlab\elfun -Elementarymathfunctions.…>>%獲取幫助主題下的函數列表>>helpelfunElementarymathfunctions.Trigonometric.sin -Sine.sinh -Hyperbolicsine.asin -Inversesine.asinh -Inversehyperbolicsine.…>>%獲取具體函數的幫助>>helpsinSINSine.SIN(X)isthesineoftheelementsofX.Overloadedmethodshelpsym/sin.m
在例子1-8中,使用的省略符號是為了縮減篇幅而用,在實際的MATLAB中,將給出全部內容。線上幫助不僅可以顯示在命令行窗口中,還可以顯示在MATLAB的幫助窗口中,內容仍然是線上幫助的內容,例如:>>%在窗口中顯示線上幫助資訊>>helpwinsin
這時sin函數的線上幫助資訊將顯示在幫助窗口中,如圖1-27所示。圖1-27將線上幫助的內容顯示在窗口中
所有的MATLAB函數還具有一類線上幫助,叫做H1幫助行,這部分內容為每一個M語言函數檔的線上幫助的第一行,它能夠被lookfor函數搜索、查詢,因此在這一行幫助中,往往是言簡意賅的說明性語言,在所有的幫助中相對最重要。例如,在MATLAB命令行窗口中鍵入:>>%使用H1幫助行>>lookforFourierFFTDiscreteFouriertransform.FFT2Two-dimensionaldiscreteFourierTransform.FFTNN-dimensionaldiscreteFourierTransform.IFFTInversediscreteFouriertransform.IFFT2Two-dimensionalinversediscreteFouriertransform.IFFTNN-dimensionalinversediscreteFouriertransform.1.7.2窗口幫助儘管線上幫助使用起來簡便、快捷,但是線上幫助能夠提供的資訊畢竟有限,而且並不是所有與函數有關的內容都可以用線上幫助的形式表示,比如數學公式,圖形等。因此,MALTLAB還提供了內容更加豐富的幫助文檔,作為MATLAB的用戶指南出現。目前MATALB的幫助文檔有英文版和日文版,而在中國地區使用的MATLAB只有英文版的幫助文檔。
MATLAB的幫助文檔顯示在MATLAB的幫助窗口中,單擊MATLAB用戶介面上的按鈕,將打開MATLAB的幫助文檔介面,如圖1-28所示。圖1-28MATLAB的幫助文檔介面
這裏能夠看到的MATLAB幫助文檔是跟隨MATLAB產品一同發佈的文檔光碟經過安裝之後的超文本內容。介面中的“Contents”標籤頁羅列了所有產品幫助文檔的目錄,單擊這些目錄以及目錄下麵的文章標題,就可以在右邊的窗體中具體流覽幫助資訊。除此之外,還具有下麵幾個標籤頁:*Index標籤頁:關鍵字索引查詢。*Search標籤頁:關鍵字全文搜索。*Demos標籤頁:MATLAB演示例子。*Favorites標籤頁:個人喜好的書簽頁。
在這些標籤頁中,用戶使用頻率最高的就是“Contents”頁。一般地,學習MATLAB不可避免地需要閱讀幫助文檔,而就筆者的經驗而言,直接閱讀幫助文檔是最直接、最有效地學習MATLAB的方法。此外,使用頻率最高的就是“Demos”頁了,如圖1-29所示。MATLAB為每一個工具箱或者模組都設計了很多演示示例,通過這些例子學習MATLAB往往能夠起到事半功倍的效果,這些演示程式的作用非常獨特,往往連幫助文檔都無法替代其功用。所以,對於初學者來說,在閱讀幫助文檔的基礎上,多研習MATLAB的Demos,是一種學習MATLAB的最佳方法。圖1-29MATLAB幫助流覽器的Demos頁MATLAB的幫助文檔除了超文本格式的以外,還具有PDF格式的幫助文檔,這些幫助文檔與MATLAB的產品手冊(紙版)一一對應,甚至在新版的MATLAB中,PDF檔格式的幫助文檔的內容要多於超文本格式的文檔,更是多於紙版的手冊。所以,在必要的情況下,可以將部分PDF格式的文檔列印出來作為手冊保存。MATLAB6.5的PDF格式文檔可以在MATLAB產品光碟的第三張光碟上直接察看到,閱讀這些文檔,需要安裝AdobeAcrobatReader4.0以上版本的閱讀器。儘管MATLAB的幫助文檔比較詳實、規範,用戶在使用MATLAB的過程中,不可避免地還是會遇到一些問題,這個時候可以使用MATLAB的網上資源。利用MATLAB圖形用戶介面上的“Web”菜單下的指令可以直接訪問MATLAB的網上資源,MATLAB的“Web”菜單如圖1-30所示。圖1-30MATLAB的Web菜單1.7.3操作幫助的函數
MATLAB還提供了一些函數用於顯示幫助資訊和操作幫助流覽器,如表1-4所示。表1-4幫助函數1.8本章小結
本章是學習MATLAB軟體的基礎章節。在本章首先介紹了MATLAB的產品體系,然後著重介紹了MATLAB的各種桌面工具的使用方法。通過本章的學習,讀者應該能夠對MATLAB的產品,以及MATLAB的基本使用方法有所瞭解,為學習後面的章節,或者進一步學習其他內容打下良好的基礎。在所有MATLAB桌面工具中,用戶使用頻率最高的就是MATLAB的命令行窗口,通過該窗口幾乎能夠實現MATLAB的所有功能,甚至一些常用的MATLAB圖形化工具也能夠通過命令行窗口的指令來調用執行。
在其他的桌面工具中,最重要的工具就是MATLAB的幫助系統,學會使用幫助系統是掌握MATLAB非常重要的一步。MATLAB的幫助系統由線上幫助和窗口幫助兩部分組成,兩種幫助都有自己的特色。一般的來說,通過線上幫助獲得資訊最快捷,而通過窗口幫助得到的資訊最全面。筆者希望讀者在以後學習使用MATLAB的過程中,出現的問題都通過查閱幫助文檔來加以解決,因為,只有這樣才能夠得到真正的提高。在本書後面的章節中將陸續介紹MATLAB其他的圖形用戶介面工具,例如工作空間流覽器(Workspace)、M檔性能剖析器(Profiler)等。第二章矩陣和數組2.1概述2.2創建向量2.3創建矩陣2.4索引2.5基本運算2.6稀疏矩陣2.7多維數組2.8本章小結2.1概述
1.變數和常量變數和常量是編程語言中數據類型的表現手段和形式,所以從M語言的角度而言,掌握變數和常量的概念也是掌握M語言編程的基礎。所謂變數,就是指在程式運行過程中需要改變數值的量,每一個變數都具有一個名字,變數將在內存中佔據一定的空間,以便在程式運行的過程中保存其數值。M語言和C語言類似,對變數的命名有相應的要求:變數必須以字母開頭,後面可以是字母、數字或者下劃線的組合。儘管在編寫程式的時候可以使用任意數量的字元表示變數名,但是MATLAB僅僅識別前面的N個字元,在不同的操作系統下可以識別的字元個數不盡相同,可以使用namelengthmax函數察看相應的定義。
所謂常量就是在程式運行的過程中不需要改變數值的量,例如,在求圓周周長或者圓的面積的時候,需要一個常量π,它的值近似是3.1415927,常量也具有相應的名字,其定義方法和變數一樣。M語言中的常量不像C語言中的常量,一般地在M語言中並不存在常量的定義,任何常量和變數都可以修改其數值,只不過在MATLAB中提供了一些常用的常數作為常量,這一點請讀者注意。
2.數組一般的,數組是有序數據的集合,在大多數編程語言中,數組的每一個成員(元素)都屬於同一種數據類型,它們使用同一個數組名稱和不同的下標來惟一確定數組中的成員(元素)。其中,下標是指數組元素在數組中的序號。對於MATLAB而言,大多數數據類型的數組每一個元素都是同一個數據類型的元素,而對於其特殊的元胞數組則不然。和一般的編程語言類似,M語言的數組也有一維、二維和多維數組的區別。而在MATLAB中一般不存在數組的數組,除非在M語言中使用Java數據對象。
3.向量從編程語言的角度上看,向量其實就是一維數組,然而從數學的角度上看,向量就是1×N或者N×1的矩陣,即行向量或列向量,即
MATLAB的基本運算單位就是矩陣和向量,而M語言本身就是以向量化運算為基礎的編程語言,正因為有如此特點,使用M語言成為了目前最流行的演算法開發和驗證的原型語言。都是一維數組,但是從數學的角度上看,分別被稱為列向量和行向量。
4.矩陣在MATLAB中,矩陣的概念就是線性代數中定義的矩陣的概念——矩陣是用一對圓括號或者方括號括起來,符合一定規則的數學對象。例如:就是一個三行三列的方陣。
隨著線性代數理論的發展,矩陣和向量的運算在工程領域內越來越普遍,因此對於矩陣運算的實現成為諸多電腦軟體工程師必須解決的問題。對於編程語言,矩陣就是二維的數組,而由於一般的編程語言僅能處理單個元素的運算,對於矩陣或者向量的處理,很難按照線性代數的運算法則,將其作為一個整體來處理,從而增加了程式員的工作量,也降低了程式的執行效率和開發週期。於是,誕生了很多專門用於處理矩陣運算的軟體包和演算法包,其中,MATLAB軟體就是從EISPACK和LINPAC兩個線性代數軟體包的基礎上發展起來的。2.2創建向量
從編程語言的角度上看,向量也就是一維數組。在MATLAB中創建向量可以使用不同的方法,最直接也最簡單的方法就是逐個輸入向量的元素,見例子2-1。
例子2-1
利用逐個輸入元素的方法在MATLAB中創建向量。在命令行窗口中鍵入:>>x=[13pi3+5i]x=1.00003.00003.14163.0000+5.0000i>>whosName SizeBytesClassx 1x4 64doublearray(complex)Grandtotalis4elementsusing64bytes例子2-2
利用冒號運算符創建向量。在命令行窗口中鍵入:>>x=1:10x=12345678910>>whosName SizeBytesClassx 1x1080doublearrayGrandtotalis10elementsusing80bytes
在例子2-2中使用冒號運算符創建了具有10個元素的向量。利用冒號運算符創建向量的基本語法如下:
X=J:INC:K
其中*J為向量的第一個元素,而K為向量的最後一個元素,INC為向量元素遞增的步長;*J、INC和K之間必須用“:”間隔;*若在運算式中忽略INC(如例子2-2所示),則默認的遞增步長為1;*INC可以為正數也可以為負數,若INC為正數,則必須J<K,若INC為負數,則必須J>K,否則創建的為空向量。例子2-3
使用冒號運算符創建向量。在命令行窗口中鍵入:>>x=1:0.01:1.1x=Columns1through61.00001.01001.02001.03001.04001.0500Columns7through111.06001.07001.08001.09001.1000
創建向量的第三種方法是使用函數linspace和logspace。
linspace是用來創建線性間隔向量的函數,函數linspace的基本語法為
x=linspace(x1,x2,n)其中*x1為向量的第一個元素,x2為向量的最後一個元素,n為向量具有的元素個數,函數將根據n的數值平均計算元素之間的間隔,間隔的計算公式為;*若在運算式中忽略參數n,則系統默認地將向量設置為100個元素。函數的具體使用方法參見例子2-4。
例子2-4
使用linspace函數創建向量。>>x=linspace(1,2,5)x= 1.00001.25001.50001.75002.0000
在本例子中,使用linspace函數創建了一個具有五個元素的向量,而元素之間彼此的間隔為 。另外一個函數logspace被用來創建對數空間的向量,該函數的基本語法為x=logspace(x1,x2,n)其中:*該函數創建的向量第一個元素值為x1,而最後一個元素的數值為x2,n為向量的元素個數,元素彼此之間的間隔按照對數空間的間隔設置;*若在運算式中忽略參數n,則參數默認地將向量設置為50個元素。該函數的使用參
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 景观施工技术创新方案
- 乡村网格试题及答案
- 房屋项目施工工艺与技术方案
- 2025北京考试真题及答案解析
- 2025北京法官入额考试真题及答案
- 建筑防水工程现场施工管理与监控系统
- 晚唐诗歌风格考试题
- 2025宝安小学语文考试真题及答案
- 高三生物期末考试题
- 虚拟体验技术应用-第1篇-洞察与解读
- 导游证《中国古代建筑》知识考试(重点)题库(含答案)
- 《大气的组成和垂直分层》
- GB/T 2423.17-2024环境试验第2部分:试验方法试验Ka:盐雾
- 第一次月考试卷(月考)-2024-2025学年三年级上册数学人教版
- 新高考生物综合复习《稳态与调节》高考真题汇编(图片版含答案)
- CJT 399-2012 聚氨酯泡沫合成轨枕
- 中小微企业FTTR-B全光组网解决方案
- 第七单元单元任务“视频拍摄脚本写作”统编版高中语文必修上册
- 提高感染性休克集束化治疗完成率工作方案
- 山东省汽车维修工时定额(T-SDAMTIA 0001-2023)
- 初级中药师考试试题
评论
0/150
提交评论