計算機仿真技術(shù)與CAD第1章仿真軟件-MATLAB.ppt
《計算機仿真技術(shù)與CAD第1章仿真軟件-MATLAB.ppt》由會員分享,可在線閱讀,更多相關(guān)《計算機仿真技術(shù)與CAD第1章仿真軟件-MATLAB.ppt(212頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、1,本章內(nèi)容 MATLAB的基本數(shù)學函數(shù)和常用命令的使用; MATLAB的M文件的建立與使用; MATLAB的基本輸入/輸出函數(shù)及其應用; MATLAB的外部命令調(diào)用方法; MATLAB的條件轉(zhuǎn)移語句、循環(huán)語句等常用控制語句的使用; MATLAB的基本繪圖、字符添加、圖形控制和圖形修飾命令; MATLAB的基本數(shù)值運算方法; MATLAB的基本符號運算方法; MATLAB的文件I/O ; MATLAB圖形用戶界面(GUI)的簡單設(shè)計; MATLAB編譯器的基本應用方法。,第1章 仿真軟件MATLAB,2,1.1 MATLAB的功能特點 1.1.1 MATLAB簡介,在科學研究和工程應用中,為了
2、克服一般語言對大量的數(shù)學運算,尤其當涉及矩陣運算時,編程難、調(diào)試麻煩等困難,美國MATLAB軟件開發(fā)公司于1967年構(gòu)思并開發(fā)了MATLAB(MATRIX ABoratory, 即矩陣實驗室),經(jīng)過不斷更新和擴充,該公司于1992年推出了具有劃時代意義的MATLAB4.0版本,并于1993年推出了其微機版。 到2011年為止先后推出了MATLAB4.x、MATLAB 5.x、MATLAB 6.x和MATLAB 7.x版,使之應用范圍越來越廣。從MATLAB 7.x版開始,MathWorks公司每年發(fā)布兩個版本的MATLAB。,3,用MATLAB編程運算與人進行科學計算的思路和表達方式完全一致
3、,所以使用MATLAB進行數(shù)學運算就象在草稿紙上演算數(shù)學題一樣方便。 萬能的、科學的數(shù)學運算“演算紙” 萬能的計算器,4,MATLAB大大降低了對使用者的數(shù)學基礎(chǔ)和計算機語言知識的要求,既使用戶不懂C或FORTRAN這樣的程序設(shè)計語言,也可使用MATLAB輕易的再現(xiàn)C或FORTRAN語言幾乎全部的功能 ,設(shè)計出功能強大、界面優(yōu)美、穩(wěn)定可靠的高質(zhì)量程序來,而且編程效率和計算效率極高。,5,盡管MATLAB開始并不是為控制理論與系統(tǒng)的設(shè)計者們編寫的,但以它“語言”化的數(shù)值計算、強大的矩陣處理及繪圖功能 、靈活的可擴充性和產(chǎn)業(yè)化的開發(fā)思路很快就為自動控制界研究人員所矚目。目前,在自動控制、圖像
4、處理、語言處理、信號分析、振動理論、優(yōu)化設(shè)計、時序分析和系統(tǒng)建模等領(lǐng)域。,6,由著名專家與學者以MATLAB為基礎(chǔ)開發(fā)的實用工具箱極大地豐富了MATLAB的內(nèi)容,較為常見的MATLAB工具箱主要有:,航空宇宙模塊集(Aerospace Blockset); 通信模塊集(Communications Blockset); 控制系統(tǒng)工具箱(Control Systems Toolbox); 數(shù)據(jù)獲得工具箱(Data Acquisition Toolbox); 模糊邏輯工具箱(Fuzzy Logic Toolbox); 濾波器設(shè)計工具箱(Filter Design Toolbox); 定點運算模塊集
5、(Fixed-Point Blockset); 遺傳算法與直接搜索工具箱(Genetic Algorithm and Direct Search Toolbox);,7,高階譜分析工具箱(High-Order Spectral Analysis Toolbox); 圖像處理工具箱(Image Processing Toolbox); 映射工具箱(Mapping Toolbox); 模型預測控制工具箱(Model Predictive Control Toolbox); 神經(jīng)網(wǎng)絡(luò)工具箱(Neural Network Toolbox); 優(yōu)化工具箱(Optimization Toolbox); 偏
6、微分方程工具箱(Partial Differential Equation Toolbox); 魯棒控制工具箱(Robust Control Toolbox); 信號處理工具箱(Signal Processing Toolbox); 統(tǒng)計學工具箱(Statistics Toolbox); 系統(tǒng)辨識工具箱(System Identification Toolbox); 樣條工具箱(Spline Toolbox); 小波分析工具箱(Wavelet Toolbox)。,8,模型輸入與仿真環(huán)境Simulink更使MATLAB為控制系統(tǒng)的仿真與CAD中的應用打開了嶄新的局面,并使得MATLAB目前已經(jīng)成
7、為國際上最流行的控制系統(tǒng)計算機輔助設(shè)計的軟件工具。 MATLAB不僅流行于控制界,在生物醫(yī)學工程、語言處理、圖像信號處理、雷達工程、信號分析、計算機技術(shù)等各行各業(yè)中都有極廣泛的應用。,9,嚴格地說,MATLAB并不是一種計算機語言,它僅僅是一種高級的科學分析與計算軟件。因為,用它編寫出來的程序并不能脫離MATLAB環(huán)境而執(zhí)行,但從其功能上講,MATLAB已經(jīng)完全具備了計算機語言的結(jié)構(gòu)與性能,所以我們這里將其簡稱為“MATLAB語言”。,10,目前MATLAB的最新版本為MATLAB 7.13(R2011b),它包括MATLAB 和 Simulink 的新功能、新產(chǎn)品以及其他產(chǎn)品的更新和缺陷修復
8、程序。由于最新版的新增功能對于本書涉及的內(nèi)容沒有太大影響,再加上新版本安裝程序大、啟動和運行速度慢。故本書仍以目前最為流行的經(jīng)典版本MATLAB 7.5(R2007b)為基礎(chǔ)來進行敘述,但排除了過渡性很強的內(nèi)容,使得本書的內(nèi)容對更高版本的環(huán)境仍可完全適用,同時也兼顧了當前仍在較低配置計算機上使用MATLAB 6.5版本的用戶。,11,需要注意,對于使用Windows XP系統(tǒng)的用戶需要安裝MATLAB 6.5及以上的版本,使用Windows 7系統(tǒng)的用戶必須安裝MATLAB 7.6(R2008a)及以上的版本,否則不能正常使用或安裝MATLAB。,12,1.1.2 MATLAB操作界面,MAT
9、LAB啟動后將出現(xiàn)如圖1-1所示的操作界面。,由圖1-1可知,MATLAB的操作界面由功能菜單、工具欄、工作窗口和開始按鈕等組成。,13,1. MATLAB的工作窗口 在默認狀態(tài)下,MATLAB的工作窗口由命令窗口(Command Window)、歷史命令(Command History)窗口、工作空間(Wotkspace)瀏覽器窗口和當前工作目錄(Current Directory)窗口等組成。 在MATLAB命令窗口中的“”標志為MATLAB的命令提示符,“|”標志為輸入字符提示符。 如果用戶是第一次使用MATLAB,則建議首先在命令行中鍵入demo命令,它將啟動MATLAB的演示程
10、序,用戶可以在這些演示程序中領(lǐng)略到MATLAB所提供的強大的運算和繪圖功能。,14,2. 開始按鈕 開始按鈕(Start)位于MATLAB操作界面的左下角,單擊這個按鈕后,會出現(xiàn)MATLAB的操作菜單。這個菜單上半部分的選項包含MATLAB的各種交互操作界面,下半部分的選項的主要功能是窗口設(shè)置、訪問MATLAB公司的網(wǎng)頁和查看幫助文件等。 3. 功能菜單 為了更好地利用MATLAB,在其操作界面中設(shè)置了以下多個功能菜單。,15,* File 文件操作菜單 New 新建M文件、圖形、模型和圖形用戶界面 Open 打開.m,.fig,.mat,.mdl,.cdr
11、等文件 Close Command Window 關(guān)閉命令窗口 Import Data 從其他文件導入數(shù)據(jù) Save Workspace As 保存工作空間數(shù)據(jù)到相應的路徑文件中窗口 Set Path 設(shè)置工作路徑 Preferences 設(shè)置命令窗口的屬性 Page Setup 頁面設(shè)置 Print 設(shè)置打印機屬性 Print Selection 選擇打印 Exit MATLAB 退出MATLAB操作界面,16,* Edit 編輯菜單 Undo 撤消上一步操作 Redo 重新執(zhí)行上一步操作 Cu
12、t 剪切 Copy 復制 Paste 粘貼 Paste Special 粘貼特定內(nèi)容 Select All 全部選定 Delete 刪除所選對象 Find 查找所需對象 Find Files 查找所需文件 Clear Command Window 清除命令窗口的內(nèi)容 Clear Command History 清除歷史窗口的內(nèi)容 Clear Workspace 清除工作區(qū)的內(nèi)容,17,* Debug 調(diào)試菜單 Open M-Files when Debugging 調(diào)試時打開M文件 St
13、ep 單步調(diào)試 Step In 單步調(diào)試進入子函數(shù) Step Out 單步調(diào)試跳出子函數(shù) Continue 連續(xù)執(zhí)行到下一斷點 Clear Breakpoints in All Files 清除所有文件中的斷點 Stop if Errors/Warnings 出錯或報警時停止運行 Exit Debug Mode 退出調(diào)試模式,18,* Desktop 桌面菜單 Unlock Command Window 命令窗口設(shè)為當前全屏活動窗口 Desktop Layout 桌面設(shè)計 Save Layout 保存桌面設(shè)計 O
14、rganize Layout 組織桌面設(shè)計 Command Window 顯示命令窗口 Command History 顯示歷史窗口 Current Directory 顯示當前工作目錄 Workspace 顯示工作空間 Help 幫助窗口 Profiler 輪廓圖窗口 Toolbar 顯示/隱藏工具欄 Shortcuts Toolbar 顯示/隱藏快捷工具欄 Titles 顯示/隱藏標題,19,* Window 窗口菜單 Close All Documents 關(guān)閉所有文檔 Com
15、mand Window 選定命令窗口為當前活動窗口 Command History 選定歷史窗口為當前活動窗口 Current Directory 選定當前工作目錄為當前活動窗口 Workspace 選定工作空間為當前活動窗口,20,4. 工具欄 MATLAB操作界面工具欄中的工具“ ”分別用來建立M文件編輯窗口和打開編輯文件窗口;工具“ ” 對應的功能與Windows操作系統(tǒng)類似;工具“ ”分別用來快捷啟動Simulink庫瀏覽窗口、GUIDE模版窗口和輪廓圖窗口;工具“ ”分別用來快捷設(shè)置當前目錄和返回到當前目錄的父目錄。,21,1.2.1 M
16、ATLAB語言的結(jié)構(gòu) MATLAB命令窗口就是 MATLAB語言的工作空間,因為MATLAB的各種功能的執(zhí)行必須在此窗口下才能實現(xiàn),在這種環(huán)境下輸入的MATLAB語句稱為“窗口命令”。 所謂窗口命令,就是在上述環(huán)境下輸入的MATLAB語句,并直接執(zhí)行它們完成相應的運算、繪圖等。,1.2 MATLAB的基本操作,22,其中 等號右邊的表達式可由操作符或其它字符、函數(shù)和變量名組成,它可以是MATLAB允許的數(shù)學或矩陣運算,也可以包含MATLAB下的函數(shù)調(diào)用;等號左邊的變量名為MATLAB語句右邊表達式的返回值語句所賦值的變量的名字。 在調(diào)用函數(shù)時,MATLAB允許一次返回多個結(jié)果,這時等號左邊
17、的變量名需用 括起來,且各個變量名之間用逗號分隔開,如果左邊的變量名缺省時返回值自動賦給ans。,MATLAB語句的一般形式為 變量名表達式,23,表1-1 MATLAB中的算術(shù)運算符,MATLAB中使用的算術(shù)運算符如表1-1所示。對于矩陣來說,這里左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對于標量,兩種除法運算的結(jié)果相同,如1/4和41有相同的值0.25。常用的十進制符號如小數(shù)點、負號等,在MATLAB中也可以同樣使用,表示10的冪次要用符號e或E,如:3、-99、0.0001、1.6e-20、6.2e23。,24,在MATLAB中變量名必須以字母開頭,之后可以是任意字母、
18、數(shù)字或者下劃線(不能超過19個字符),但變量中不能含有標點符號。變量名區(qū)分字母的大小寫,同一名字的大寫與小寫被視為兩個不同的變量。一般說來,在MATLAB下變量名可以為任意字符串,但MATLAB保留了一些特殊的字符串如表1-2所示。,25,表1-2 MATLAB中的特殊變量,26,MATLAB命令語句能即時執(zhí)行,它不是輸入完全部MATLAB命令語句經(jīng)過編譯、連接形成可執(zhí)行文件后才開始執(zhí)行,而是每輸入完一條命令,MATLAB就立即對其處理,并得出中間結(jié)果,完成了MATLAB所有命令語句的輸入,也就完成了它的執(zhí)行,直接便可得到最終結(jié)果。從這一點來說,MATLAB清晰地體現(xiàn)了類似“演算紙”的功能。例
19、如 a=5; b=6; c=a*b, d=c+2,其中第3,4條命令的執(zhí)行結(jié)果分別顯示如下: c= 30 d= 32,27,MATLAB語句既可由分號結(jié)束,也可由逗號或換行號結(jié)束,但它們的含義是不同的。如果用分號 “;”結(jié)束,則說明除了這一條命令外還有下一條命令等待輸入,MATLAB這時將不立即顯示運行的中間結(jié)果,而等待下一條命令的輸入,如以上前兩條命令;如果以逗號 “,”或回車結(jié)束,則將把左邊返回的內(nèi)容全部顯示出來,如以上后兩條命令。 當然在任何時候也可輸入相應的變量名來查看其內(nèi)容。如 a 結(jié)果顯示: a= 5,28,在MATLAB中,幾條語句也可以出現(xiàn)在同一行中,只要用分號或逗號
20、將它們分割。例如 a=5;b=6;c=a*b,d=c+2 這時可得與上面相同的結(jié)果。,29,MATLAB工作空間中的變量在退出MATLAB時會丟失,如果在退出MATLAB前想將工作空間中的變量保存到文件中,則可以調(diào)用save命令來完成,該命令的調(diào)用格式為 save 文件名 變量列表 其它選項 注意 這一命令中不能使用逗號,不同的元素之間只能用空格來分隔。,30,例如,想把工作空間中的a,b,c變量存到mydat.mat文件中去,則可用下面的命令來實現(xiàn)。 save mydat a b c 這里將自動地使用文件擴展名mat。如果想將整個工作空間中所有的變量全部存入該文件,則應采用下面的命令。 s
21、ave mydat,31,當然這里的mydat也可省略,這時將工作空間中的所有變量自動地存入到文件matlab.mat中了。應該指出的是,這樣存儲的文件均是按照二進制的形式進行的,所以得出的文件往往是不可讀的,如果想按照ASCII碼的格式來存儲數(shù)據(jù),則可以在命令后面加上一個控制參數(shù)-ascii,該選項將變量以單精度的ASCII碼形式存入文件中去,如果想獲得高精度的數(shù)據(jù)。則可使用控制參數(shù):-ascii -double。,32,MATLAB提供的load命令可以從文件中把變量調(diào)出并重新裝入到MATLAB的工作空間中去,該函數(shù)的調(diào)用格式與save命令同。 當然工作空間中變量的保存和調(diào)出也可利用菜單項
22、中的File|Save Workspace As 和File|Open命令來完成。,33,如果想查看目前的工作空間中都有哪些變量名,則可以使用who命令來完成。例如當MATLAB的工作空間中有a , b , c ,d四個變量名時,使用who 命令將得出如下的結(jié)果。 who,your variable are: a b c d 想進一步了解這些變量的具體細節(jié),則可以使用whos命令來查看。,34,了解了當前工作空間中的現(xiàn)有變量名之后,則可以使用clear命令來刪除其中一些不再使用的變量名,這樣可使得整個工作空間更簡潔,節(jié)省一部分內(nèi)存,例如想刪除工作空間中的a ,b兩個變量,則可以使用下面的命
23、令 clear a b 如果想刪除整個工作空間中所有的變量,則可以使用以下命令 clear MATLAB可以使用上下光標鍵來前后查看已經(jīng)鍵入的命令。,35,,但僅靠一條一條地輸入語句,MATLAB難以實現(xiàn)復雜功能,為了實現(xiàn)諸如循環(huán)、條件、分支等功能,MATLAB利用了m文件,m文件是由一系列的MATLAB語句組成。,36,MATLAB實際上可以認為是一種解釋性語言,用戶可以在MATLAB工作環(huán)境下一條一條地鍵入命令,也可以直接鍵入用MATLAB的語言編寫的m文件名,或它們結(jié)合起來使用,這樣MATLAB軟件對此命令或m文件中各條命令進行翻譯,然后在MATLAB環(huán)境下對它進行處理,最后返回運算
24、結(jié)果。所以說MATLAB語言的結(jié)構(gòu)可用下式進行描述 MATLAB語言窗口命令m文件,37,1.2.2 MATLAB的磁盤文件,由于MATLAB本身可以被認為是一高效的語言,所以用它可編寫出具有特殊意義的磁盤文件來,這些磁盤文件是由一系列的MATLAB語句組成,它既可能是一系列窗口命令語句,又可以是由各種控制語句和說明語句構(gòu)成的函數(shù)文件。 由于它們都是由ASCII碼構(gòu)成的, 其擴展名均為“.m”,故統(tǒng)稱為m文件。,38,1.文本文件 文本文件(簡稱為MATLAB的程序)是一系列的MATLAB語句組成,它類似于DOS下的批處理文件,在MATLAB的提示符下直接鍵入文本文件名,便可自動執(zhí)行文件
25、中的一系列命令,直至給出最終結(jié)果。 文本文件在工作空間中運算的變量為全局變量。,39,例1-1 求函數(shù) 在x1= -2, x2=3, x3=1時的值。,解 首先在MATLAB的命令窗口中,利用菜單命令FileNewM-File,打開M文件編輯器,然后在編輯器中根據(jù)例中所給函數(shù)編寫以下文本文件,并以ex1_1_1為文件名進行保存(后綴.m自動追加)。,%ex1_1_1.m x1=-2;x2=3;x3=1; y1=3*x1.2+x2+x3 y2=3*x1.2-x2-x3,,40, 當以上文本文件ex1_1_1.m建立后,在MATLAB 命令窗口中輸入 ex1_1_1 執(zhí)行結(jié)果顯示: y1= 16
26、 y2= 8,41,由于文本文件中的變量為全局變量,故以上變量x1,x2,x3的值,也可在文本文件外先給定,此時的文本文件為 %ex1_1_2.m y1=3*x1.2+x2+x3 y2=3*x1.2-x2-x3 當以上文本文件ex1_1_2.m建立后,利用以下命令,同樣可以得到以上結(jié)果。 x1=-2;x2=3;x3=1;ex1_1_2 以上兩種方式下,文本文件中變量的值都被保存下來,這與下面的函數(shù)文件是不同的。,42,2.函數(shù)文件 函數(shù)文件的功能是建立一個函數(shù),且這個函數(shù)可以同MATLAB的庫函數(shù)一樣使用,它與文本文件不同,在一般情況下不能單獨鍵入函數(shù)文件的文件名來運行一個
27、函數(shù)文件,它必須由其它語句來調(diào)用,函數(shù)文件允許有多個輸入?yún)?shù)和多個輸出參數(shù)值,其基本格式如下 function f1,f2,f3,=fun(x, y, z,) 注釋說明語句 函數(shù)體語句 其中 x, y, z,是形式輸入?yún)?shù);而f1,f2,f3,是返回的形式輸出參數(shù)值;fun是函數(shù)名。,43,實際上,函數(shù)名一般就是這個函數(shù)文件的磁盤文件名,注釋語句段的內(nèi)容同樣可用help命令顯示出來。 調(diào)用一個函數(shù)文件只需直接使用與這個 函數(shù)一致的格式 y1,y2,y3,=fun(i,j,k,) 其中 i,j,k,是相應的實際輸入?yún)?shù),而y1,y2,y3,是相應的實際輸出參數(shù)值。,44,例1-2 求
28、函數(shù)在x1= -2, x2= 3, x3= 1時的值,解 由于函數(shù)文件的建立與文本文件完全一樣,故應首先根據(jù)例中所給函數(shù)在MATLAB的M文件編輯器下,建立以下函數(shù)文件ex1_2.m %ex1_2.m function b1,b2=ex1_2(a1,a2,a3) b1=3*a1.2+a2+a3; b2=3*a1.2-a2-a3;,45, 當以上函數(shù)文件ex1_2.m建立后,在MATLAB命令窗口中輸入以下命令 x1=-2;x2=3;x3=1;y1,y2=ex1_2(x1,x2,x3) 結(jié)果顯示: y1= 16 y2= 8,46,函數(shù)文件中定義的變量為局部變量,也就是說它只在
29、函數(shù)內(nèi)有效。即在該函數(shù)返回后,這些變量會自動在MATLAB工作空間中清除掉,這與文本文件是不同的,但可通過命令 global 變量 來定義一個全局變量。 函數(shù)文件與文本文件另一個區(qū)別在于其第一行是由function開頭的,且有函數(shù)名和輸入形式參數(shù)與輸出形式參數(shù),若是沒有這一行的磁盤文件就是文本文件 。,47,由于m文件具有普通的文本格式,因而可以用任何編輯程序建立和編輯,但一般最常用、而且最為方便地是使用MATLAB命令窗口的File|New或File|Open菜單項對m文件進行建立和編輯。,48,1.2.3 庫函數(shù)和數(shù)值顯示格式 (1)庫函數(shù) MATLAB提供了豐富的庫函數(shù),庫函數(shù)是根據(jù)系統(tǒng)
30、編制好了的,提供用戶直接使用的函數(shù),MATLAB中常用的基本數(shù)學函數(shù),如表1-3所示。 除了基本函數(shù)外,不同版本的MATLAB還增加了不同的有專門功能的庫函數(shù),也稱工具箱。例如通訊工具箱、控制系統(tǒng)工具箱和信號處理工具箱等等。 對于各種函數(shù)的功能和調(diào)用方法可使用MATLAB的聯(lián)機幫肋help來查詢,其使用格式為 help 函數(shù)名,49,表1-3 MATLAB的基本函數(shù),50,2. 數(shù)值顯示格式,MATLAB可以使用format命令來改變顯示格式,其調(diào)用格式為 format 控制參數(shù) 其中 控制參數(shù)決定顯示格式,控制參數(shù)如表1-4表示。 除format命令外,還可由MATLAB命令窗口的Optio
31、ns|Numeric Format菜單項來設(shè)置顯示形式。,51,表1-4 format命令的控制參數(shù),52,1.2.4 基本輸入與輸出函數(shù),如果用戶想在計算的過程中給計算機輸入一個參數(shù),則可以使用input( )函數(shù)來進行,該函數(shù)的調(diào)用格式為 變量名input(提示信息,選項) 這里提示信息可以為一個字符串顯示,它用來提示用戶輸入什么樣的數(shù)據(jù),input( )函數(shù)的返回值賦給等式左邊的變量名。,53,例如, 用戶想輸入x的值,則可以采用下面的命令來完成 x=input(Enter matrix x=); 執(zhí)行該命令時首先給出Enter matrixA=提示信息,然后等待用戶從鍵盤按MATL
32、AB格式輸入值,并把此值賦給x。 如果在input( )函數(shù)調(diào)用時采用了s選項,則允許用戶輸入一個字符串,此時需用單引號將所輸字符串括住。,54,MATLAB提供的命令窗口輸出函數(shù)主要有disp( )函數(shù),其調(diào)用格式為 disp(變量名) 其中變量名既可以為字符串,也可以為變量矩陣。例如 s= Hello World,,s= Hello World,disp(s),Hello World,55,MATLAB提供了較實用的字符串處理及轉(zhuǎn)換的函數(shù),例如int2str( )函數(shù)就可以方便在將一個整形數(shù)據(jù)轉(zhuǎn)換成字符串形式,該函數(shù)的調(diào)用格式為 cstr=int2str(n) 其中 n為一個整數(shù),而該
33、函數(shù)將返回一個相關(guān)的字符串cstr。 例如 num的數(shù)值為num=15,而在輸出中還想給出其它說明性附加信息,則可利用下面的語句 disp (The value of num is ,int2str(num), !ok),這樣可得 The value of num is 15 !ok,56,與int2str( ) 函數(shù)的功能及調(diào)用方式相似,MATLAB還提供了num2str( )函數(shù),可以將給出的實型數(shù)據(jù)轉(zhuǎn)換成字符串的表達式,最終也可以將該字符串輸出出來。例如給繪制的圖形賦以數(shù)字的標題時可采用下面的命令 c=(70-32)/1.8; title(Room temperature is ,nu
34、m2str(c), degrees C),則會在當前圖形上加上題頭標注 Room temperature is 21.1111 degrees C,57,1.2.5 外部程序的調(diào)用,MATLAB允許在其命令窗口中調(diào)用可執(zhí)行文件(.exe),其調(diào)用方法是在MATLAB提示符下鍵入驚嘆號!后面直接跟該可執(zhí)行文件即可。MATLAB也允許采用這樣的方式來直接使用DOS命令,如磁盤復制命令copy可以由!copy來直接使用,而文件列表命令dir可以由!dir來調(diào)用。事實上,為了使用戶提供更大的方便,MATLAB已經(jīng)把一些常用的DOS命令做成了相應的MATLAB命令,表1-5列出了MATLAB中提供的一
35、些文件管理命令。,58,表1-5 文件管理命令,59,1.3 MATLAB的控制語句,MATLAB是一個功能極強的高度集成化程序設(shè)計語言,它具備一般程序設(shè)計語言的基本語句結(jié)構(gòu),并且它的功能更強,由它編寫出來的程序結(jié)構(gòu)簡單,可讀性強。和其它高級語言一樣,MATLAB也提供了條件轉(zhuǎn)移語句、循環(huán)語句等一些常用的控制語句,從而使得MATLAB語言的編程顯得十分靈活。,60,1.3.1 循環(huán)語句,MATLAB中可以使用兩種循環(huán)語句: for語句和while語句。 1. for語句的基本格式為 for 循環(huán)變量表達式1:表達式3:表達式2 循環(huán)語句組 end,61,例 MABLAB程序
36、 ex1_3_1.m 運行結(jié)果 mysun= 5050,62,2while語句的基本結(jié)構(gòu)為 while (條件式) 循環(huán)體條件組 end 其執(zhí)行方式為,若條件式中的條件成立,則執(zhí)行循環(huán)體的內(nèi)容,執(zhí)行后再判斷表達式是否仍然成立,如果表達式不成立,則跳出循環(huán),向下繼續(xù)執(zhí)行。,63,例如對于上面的例子,如果改用while循環(huán)語句,則可以寫出下面的程序 %ex1_3_2.m sum=0;i=1; while (i<=100) sum=sum+i;i=i+1; end MATLAB提供的循環(huán)語句for和while是允許多級嵌套的,而且它們之間也允許相互嵌套,這和C語言等高
37、級程序設(shè)計語言是一致的。,64,1.3.2 程序流控制語句,在程序設(shè)計語言中,經(jīng)常會遇到提前終止循環(huán)、跳出子程序、顯示執(zhí)行過程等,此時就要用到以下控制程序流命令。 1. echo命令 2. break命令 3. continue命令 4. pause命令 5. return命令,65,1.3.3 條件轉(zhuǎn)移語句,在程序設(shè)計中,經(jīng)常要根據(jù)一定的條件來執(zhí)行不同的命令。當某些條件滿足時,只執(zhí)行其中的某個命令或某些命令。在MATLAB中,條件轉(zhuǎn)移語句包括: if-else-end語句 switch-case-otherwise語句。,66,1. if-else-end語句的基本格式,在MAT
38、LAB中,最簡單的條件結(jié)構(gòu):if-end語句命令格式為 if expression statements end 當給出的條件式expression成立時,則執(zhí)行該條件塊結(jié)構(gòu)中的語句內(nèi)容statements,執(zhí)行完之后繼續(xù)向下執(zhí)行,若條件不成立,則跳出條件塊而直接向下執(zhí)行。,67,例1-4 求滿足 的最小m值. 例 MABLAB程序 ex1_4.m 運行結(jié)果 m= 45,68,注意, 這里使用了break命令,其作用就是中止上一級的for 語句循環(huán)過程,同樣while循環(huán)語句也在條件轉(zhuǎn)移語句中起著相當重要的作用,因為在MATLAB下沒有提供絕對轉(zhuǎn)移的指
39、令。,69,例1-5 如果想對一個變量x自動賦值。當從鍵盤輸入y或Y時(表示是),x自動賦為1值;當從鍵盤輸入n 或N時(表示否),x自動賦為0值;輸入其他字符時終止程序。 例 MABLAB程序 ex1_5.m,70,MATLAB還提供了其他兩種條件結(jié)構(gòu):if-else-end 格式和if-else if-end 格式,這兩種格式的調(diào)用方法分別為 if expression statements1 else statements2 end,71,和 if expression1 statement
40、s1 else if expression2 statements2 else if expression3 statements3 end,72,2. switch-case-otherwise語句的基本格式 MATLAB中switch-case-otherwise語句的調(diào)用格式為 switch switch-expression case case-expression1 statements1; case case-expression2
41、 statements2; case case-expression3 statements3; otherwise statementsn; end,73,switch-case-otherwise語句中,switch-expression給出了開關(guān)條件,當有case-expression與之匹配時,就執(zhí)行其后的語句,如果沒有case-expression與之匹配,就執(zhí)行otherwise后面的語句。在執(zhí)行過程中,只有一個case命令被執(zhí)行。當執(zhí)行完命令后,程序就跳出分支結(jié)構(gòu),執(zhí)行end后面
42、的命令。,74,例對于以下MATLAB函數(shù)文件myfun.m。 function f=myfun(n) switch n case 0 f=1; case 1 f=2; otherwise f=8; end 在MATLAB命令窗口輸入以下命令 y=myfun(5) 結(jié)果顯示: y = 8,75,.4 MATLAB的繪圖功能,1.4.1 二維圖形 1基本形式 MATLAB最基本的繪圖函數(shù)為plot( )。 如果y是一個n 維向量,那么plot(y)繪制一個y元素和y元素排列序號1,2,, n之間關(guān)系的線性坐標圖。如果y是一個nm維矩陣,那么p
43、lot(y)將同時繪制出每列元素與其排列序號1,2,,n之間關(guān)系的m條曲線。,76,例如 y=0 0.48 0.84 1 0.91 0.6 0.14; plot(y) 則顯示如圖1-2所示曲線。,77,如果x和y是兩個等長向量,那么 plot(x,y) 將繪制一條x和y的之間關(guān)系的線性坐標圖。例如 x=0:0.01:2*pi; y=sin(x);plot(x,y) 則顯示如圖1-3所示曲線。,78,2多重線型,在同一圖形中可以繪制多重線型,基本命令格式為 plot(x1,y1,x2,y2,,xn,yn) 以上命令可將x1對y1,x2對y2,,xn對yn的圖形繪制在一個圖形中,而且分別采用不同
44、的顏色或線型。例如以下命令可顯示如圖1-4所示曲線。 x=0:0.1:2*pi;plot(x,sin(x),x,cos(x)),79,圖1-4,80,3.圖形修飾及文本標注,MATLAB中對于同一圖形中的多重線,不僅可分別定義其線型,而且可分別選擇其顏色,帶有選項的曲線繪制命令的調(diào)用格式為 plot(x1, y1,選項,x2, y2,選項2,, xn, yn,選項n) 其中 x1,x2,,xn為x軸變量,y1, y2,, yn為y軸變量,選項如下表1-6所示。,81,表1-6 MATLAB的繪圖命令的各種選項,82,上表中的線型和顏色選項可以同時使用,例如 x=0:0.1:2*pi; plo
45、t(x,sin(x),-g, x,cos(x),-.r),83,繪制完曲線后,MATLAB還允許用戶使用它提供的特殊繪圖函數(shù)來對屏幕上已有的圖形加注釋、題頭或坐標網(wǎng)格。例如 x=0:0.1:2*pi;y=sin(x);plot(x, y) title(Figure Example)給出題頭 xlabel(This is x axis) x軸的標注 ylabel(This is y axis) y軸的標注 grid增加網(wǎng)格 legand(sin(x)) 加圖例,84,除了在標準位置書寫標題和軸標志以外,MATLAB還允許在圖形窗口的位置利用line( ) 和text( )命令畫直線或?qū)懽址?,?/p>
46、們的調(diào)用格式分別為 line(x, y) 和 text(x, y,chstr,選項) 其中 line( )函數(shù)在給定的圖形窗口上繪制一條由向量x 和y定義的折線,text( )函數(shù)是在指定的點(x,y)處寫一個chstr繪出的字符串,而選項決定x,y坐標的單位,如選項為sc,則x,y表示規(guī)范化的窗口相對坐標,其范圍為0到1,即左下角坐標為(0,0),而右上角的坐標為(1,1)。,85,用text( )命令可以在圖形中的任意位置加上文本說明,但是必須知道其位置坐標,而利用另一個函數(shù)gtext( ),則可以用鼠標來對要添加的文本字符串定位。在MATLAB的工作空間中鍵入下列命令 gtext(s
47、in(x)) 那么在圖中,將會出現(xiàn)一個十字叉 ,用鼠標拖動它到添加文本的位置,單擊鼠標,gtext( )命令中的文本字符串sin(x)就自動添加到指定的位置。,86,4. 圖形控制 MATLAB允許將一個圖形窗口分割成nm部分,對每一部分可以用不同的坐標系單獨繪制圖形,窗口分割命令的調(diào)用格式為 subplot(n,m,k) 其中 n,m分別表示將這個圖形窗口分割的行列數(shù),k表示每一部分的代號,例如想將窗口分割成43個部分,則右下角的代號為 12,MATLAB最多允許99的分割。,87,盡管MATLAB可以自動根據(jù)要繪制曲線數(shù)據(jù)的范圍選擇合適的坐標系,使得曲線能夠盡可能清晰地顯示出
48、來,但是,如果覺得自動選擇的坐標還不合適時,還可以用手動的方式來選擇新的坐標系,調(diào)用函數(shù)的格式為 axis(xmin, xmax, ymin, ymax) 另外,MATLAB還提供了清除圖形窗口命令clg、保持當前窗口的圖形命令hold、放大和縮小窗口命令zoom等。,88,5. 特殊坐標圖形 除了基本的繪圖命令plot( )外,MATLAB還允許繪制極坐標曲線、對數(shù)坐標曲線、條形圖和階梯圖等,其常用的函數(shù)如表1-7所示。,表1-7 特殊二維曲線繪制函數(shù),89,(1) 極坐標曲線繪制函數(shù)的調(diào)用格式為 polar(theta,rho,選項) 其中,theta和rho分別為長度相同的角度向量和幅
49、值向量;選項的內(nèi)容和plot( )函數(shù)的基本一致。,90,(2) 對數(shù)和半對數(shù)曲線繪制函數(shù)的調(diào)用格式分別為 semilogx(x,y,選項) 繪制橫軸為對數(shù)標度的圖形,選項同plot( ) semilogy(x,y,選項) 繪制縱軸為對數(shù)標度的圖形,選項同plot( ) loglog(x,y,選項) 繪制兩個軸均為對數(shù)標度的圖形,選項同plot( )圖1-5 繪圖窗口的分割與不同圖形繪制 函數(shù)semilogx( )僅對橫坐標進行對數(shù)變換,而縱坐標仍保持線性坐標;而semilogy( )只對縱坐標進行對數(shù)變換,而橫坐標仍保持線性坐標;loglog( )則分別對橫縱坐標都進行
50、對數(shù)變換(最終得出全對數(shù)坐標的曲線來)。選項的定義與 plot( ) 函數(shù)的完全一致。,91,例1-6 利用圖形窗口分割方法將下列極坐標方程 =cos(/3)+1/9 用四種繪圖方式畫在不同的窗口中。 解 MATLAB程序 ex1_6.m 則顯示如圖1-5所示曲線。,92,圖1-5,93,(3) 與線性坐標向量的選取不同,在MATLAB下還給出了一個實用的函數(shù)logspace( )按對數(shù)等間距的分布來產(chǎn)生一個向量,該函數(shù)的調(diào)用格式為 x=logspace(n,m,z) 其中 10n和10m分別表示向量的起點和終點,而z表示需要產(chǎn)生向量點個數(shù),當這參數(shù)忽略時,z將采用默認值50。,94,6. 函
51、數(shù)圖形 MATLAB還允許調(diào)用函數(shù)fplot( )或ezplot( )來直接繪制出函數(shù)的圖形,其函數(shù)的調(diào)用格式為 fplot(f,a,b,N) 和 ezplot(f,g,a,b,N) 其中,f,g為函數(shù)名,它既可為自定義的任意M函數(shù),也可為基本數(shù)學函數(shù);a,b為繪圖區(qū)間;N為點數(shù),默認時將取N=25。 例如繪制如圖1-3所示的正弦函數(shù)在一個周期內(nèi)的曲線,可采用如下命令 fplot(sin,0,2*pi),95,利用函數(shù)ezplot( )可以直接繪制隱函數(shù)曲線,隱函數(shù)即滿足f(x,y)=0方程的x,y之間的關(guān)系式。因為很多隱函數(shù)無法求出x,y之間的關(guān)系,所以無法先定義一個x向量再求出相應的y
52、向量,從而不能采用plot( )函數(shù)來繪制其曲線。另外,即使能求出x,y之間的顯式關(guān)系,但不是單值繪制,則繪制起來也是很麻煩的。,96,例1-7 試繪制隱函數(shù) 的曲線。 解 MATLAB命令如下。 ezplot(x2*sin(x+y2)+y2*exp(x+y)+5*cos(x2+y)) 執(zhí)行以上MATLAB命令,結(jié)果顯示如圖1-6所示曲線。,97,7 .利用鼠標繪制圖形 MATLAB允許利用鼠標來點選屏幕點,命令格式為 x, y,button=ginput(n) 其中 n 為選擇點的數(shù)目,返回的x, y 向量分別存儲被點中的 n個點的坐標,而button 亦為一個n 維向量,
53、它的各個分量為鼠標鍵的標號,如button(i)=1 ,則說明第i 次按下的是鼠標左鍵,而該值為 2 或3則分別對應于中鍵和右鍵。,98,例1-8用鼠標左鍵繪制折線,同時在鼠標左鍵點中的位置輸出一個含有該位置信息的字符串,利用鼠標中鍵或右鍵中止繪制。 解 MATLAB程序 ex1_8.m,99,1.4.2 三維圖形 1三維曲線繪制 與二維圖形相對應,MATLAB提供了plot3( )函數(shù),它允許在一個三維空間內(nèi)繪制出三維的曲線,該函數(shù)的調(diào)用格式為 plot3(x, y, z,選項) 其中 x, y, z為維數(shù)相同的向量,分別存儲曲線的三個坐標的值,選項的意義同plot(
54、)函數(shù)。例利用以下命令,可得到圖1-7所示曲線。 t=0:pi/50:10*pi;plot3(sin(t),cos(t),t),100,,圖1-7,101,2三維曲面繪制 如果已知二元函數(shù),則可以繪制出該函數(shù)的三維曲面圖。在繪制三維圖之前,應該先調(diào)用meshgrid( )函數(shù)生成網(wǎng)格矩陣數(shù)據(jù)x和y,然后可以按函數(shù)公式用點運算的方式計算出z矩陣,最后就可以用mesh( )等函數(shù)進行三維圖形繪制了。 MATLAB提供的mesh( )函數(shù)用于繪制三維表面網(wǎng)格圖,該函數(shù)的調(diào)用格式為 mesh(x,y,z,c),102,例1-9 試繪制二元函數(shù)的曲線。 解 MATLAB命令如下。 x,y=meshgri
55、d(-3:0.1:3,-2:0.1:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y);mesh(x,y,z) 執(zhí)行以上命令便可得到圖1-8所示曲線。,,103,關(guān)于三維圖形的繪制,常用的其他命令有 surf(x,y,z) 繪制三維表面圖形 surfc(x,y,z) 繪制帶有等高線的三維表面圖形 surf1(x,y,z) 繪制帶有陰影的三維表面圖形 waterfall(x,y,z) 繪制瀑布形三維圖形 contour(x,y,z) 等高線圖形。,104,3三維圖形視角設(shè)置 MATLAB三維圖形顯示中提供了修改視角的功能,允許用戶從任意的角度觀察三維圖形,
56、實現(xiàn)視角轉(zhuǎn)換有兩種方法。其一是使用圖形窗口工具欄中提供的三維圖形轉(zhuǎn)換按鈕來可視地對圖形進行旋轉(zhuǎn);其二是用view( )函數(shù)有目的地進行旋轉(zhuǎn)。 函數(shù)view( )的調(diào)用格式為 view(,),105,例1-10 試在同一窗口中繪制二元函數(shù)曲面的三視圖和三維表面圖形。 解 MATLAB命令如下。 x,y=meshgrid(-3:0.1:3,-2:0.1:2); z=(x.2-2*x).*exp(-x.2-y.2-x.*y); subplot(2,2,1);surf(x,y,z);view(0,90); subplot(2,2,2);surf (x,y,z);view(90,0); subplot(
57、2,2,3);surf(x,y,z);view(0,0); subplot(2,2,4);surf (x,y,z); 執(zhí)行以上命令便可得到圖1-9所示曲線。,,106,107,1.4.3 圖像處理 MATLAB提供了簡單的圖像輸入輸出功能,而圖像處理工具箱提供了圖像處理的強大功能。這里由于篇幅限制,僅介紹簡單的入門知識。 1讀圖像文件 圖像文件讀取函數(shù)為imread( )其調(diào)用格式為 W=imread(文件名) 該命令將文件中的圖像讀入MATLAB工作空間,生成8位無符號整型三維數(shù)組W,其中W(:,:,1),W(:,:,2)和W(:,:,3)分別對應于彩色圖像的紅色、綠色和藍色分量。如果
58、文件中存儲的是灰度圖像,則W為矩陣,存儲圖像的像素值。,,108,2圖像顯示 MATLAB及其圖像處理工具箱中提供了多個圖像顯示函數(shù),如image( ),imview( ),imshow( )和imtool( ),它們各有特色。 3圖像顏色空間轉(zhuǎn)換 彩色圖到灰度圖的轉(zhuǎn)換可以由函數(shù)rgb2gray( )完成。另外,不同顏色空間的圖像可以通過如rgb2hsv( ),hsv2rgb( )等進行轉(zhuǎn)換。,,109,4圖像邊緣提取 圖像邊緣提取是圖像識別的重要基礎(chǔ)工作。利用MATLAB中的edge( )函數(shù),可以提取圖像邊緣,該函數(shù)的調(diào)用格式為 W1=edge(W,m) 其中,W灰度圖像矩陣;m為提
59、取算法,可以選擇canny,sobel等不同算法,默認算法為Canny算法。,,110,1.5 MATLAB的數(shù)值運算,MATLAB具有強大的數(shù)值能力,它不僅能對矩陣和向量進行相應的運算,而且也可處理多項式的解、數(shù)據(jù)分析、函數(shù)的極值、線性方程組的解、函數(shù)的微積分和函數(shù)繪圖等問題。,111,1.5.1 矩陣運算,MATLAB的基本數(shù)據(jù)單元是不需要指定維數(shù)的復數(shù)矩陣,它提供了各種矩陣的運算與操作,因它既可以對矩陣整體地進行處理,也可以對矩陣的某個或某些元素進行單獨地處理,所以在MATLAB環(huán)境下矩陣的操作同數(shù)的操作一樣簡單。,112,1. 矩陣的實現(xiàn),在MATLAB語言中不必描述矩陣的維數(shù)和類型,
60、它們是由輸入的格式和內(nèi)容來確定的,例如當 A1 2時,把A當作一個2維向量; A5時,把A當作一個標量; A12i時,把A當作一個復數(shù)。,113,1) 矩陣的賦值 矩陣可以用以下幾種方式進行賦值 * 直接列出元素的形式; * 通過語句和函數(shù)產(chǎn)生; * 建立在文件中; * 從外部的數(shù)據(jù)文件中裝入。,114,(1) 簡單矩陣的輸入 對于比較小的簡單矩陣可以使用直接排列的形式輸入,把矩陣的元素直接排列到方括號中,每行內(nèi)的元素間用空格或逗號分開,行與行的內(nèi)容用分號隔開。 在MATLAB下的輸入方式為 A=1, 2, 3; 4, 5, 6; 7, 8, 9 或 A=1 2 3; 4 5 6; 7
61、 8 9 都將得相同的結(jié)果,115,對于比較大的矩陣,可以用回車鍵代替分號,對每一行的內(nèi)容分行輸入,也可利用續(xù)行符號(),把一行的內(nèi)容分兩行來輸入。 如前面的矩陣還可以等價地由下面兩種方式來輸入。 A= 1 2 3 ; 4 5 6 7 8 9 或 A=1 2 3 ;4 5 6; 7 8 9 輸入后A矩陣將一直保存在工作空間中,除非被替代和清除,在MATLAB的命令窗口中可隨時查看其內(nèi)容。,116,(2) 利用語句或函數(shù)產(chǎn)生矩陣 在MATLAB中,矩陣也可利用下例語句來產(chǎn)生 s1:s2:s3 其中,s1為起始值;s3為終止值;s2為步矩。使用這樣的命令就可以產(chǎn)生一個由s1開始,以步距s
62、2自增,并終止于s3的行向量,如,117,y=0:pi/4:pi,y= 0.7854 1.5708 2.3562 3.1416 如果S2省略,則可以認為自增步距為1,例如 x=1:5 結(jié)果顯示: x= 1 2 3 4 5,118,利用size( )函數(shù)可測取一個矩陣的維數(shù),該函數(shù)的調(diào)用格式為 n, m=size(A) 其中 A為要測試的矩陣名,而返回的兩個參數(shù)n和m分別為A矩陣的行數(shù)和列數(shù)。 當要測試的變量是一個向量時,當然仍可由size( )函數(shù)來得出其大小,更簡潔地,用戶可以使用length( )函數(shù)來求出,該函數(shù)的調(diào)用格式為 n=length(x) 其中 x為要測試的向量名,而返回
63、的n為向量x的元素個數(shù)。,119,如果對一個矩陣A用length(A)函數(shù)測試,則返回該矩陣行列的最大值,即該函數(shù)等效于max(size(A))。,120,2) 矩陣的元素 MATLAB的矩陣元素可用任何表達式來描述,它既可以是實數(shù),也可以是復數(shù),例如 B= -1/3 1.3; sqrt(3) (1+2+3)*i,B -0.3333 1.3000 1.7321 0+6.0000i MATLAB允許把矩陣作為元素來建立新的矩陣,例如,利用A矩陣通過下面的語句 C= A;10,11,12,121,MATLAB還允許對一個矩陣的單個元素進行賦值和操作,例如如果想將A矩陣的第2行第3列的元素賦
64、為100,則可通過下面的語句來完成 A(2,3)=100,A= 12 3 4 5 100 78 9 這時將只改變此元素的值,而不影響其它元素的值。,122,如果給出的行數(shù)或列數(shù)大于原來矩陣的范圍,則MATLAB將自動擴展原來的矩陣,并將擴展后未賦值的矩陣元素置為0。例如如果想把矩陣A的第4 行第5列元素的值定義為8,就可以通過下面語句來完成。 A(4,5)=8,A= 1 2 3 0 0 4 5 100 0 0 7 8 9 0 0 0 0 0 0 8,123,3) 特殊矩陣的實現(xiàn) 在MATLAB中特殊矩陣可以利用函數(shù)來建立。 (1) 單位矩陣函數(shù)eye( ) 基本格式 Aeye(n)
65、 產(chǎn)生一個n階的單位矩陣A 或 Aeye(size(B)) 產(chǎn)生與B矩陣同階的單位矩陣A,124,(2)零矩陣函數(shù)zeros( ) (3) 1矩陣函數(shù)ones( ) (4) 隨機元素矩陣函數(shù)rand( ) (5)對角矩陣函數(shù)diag( ) (6) 伴隨矩陣函數(shù)compan( ) (7) 上三角矩陣函數(shù)triu( )和下三角矩 陣函數(shù)tril( ),125,2. 矩陣的基本運算,矩陣運算是MATLAB的基礎(chǔ),MATLAB的矩陣運算功能十分強大,并且運算的形式和一般的數(shù)學表示十分相似。 1)矩陣的轉(zhuǎn)置 矩陣轉(zhuǎn)置的運算符為“ ”。例如 A=1 2 3;4 5 6;B= A,A= 1
66、 4 2 5 3 6,126,2)矩陣的加和減,矩陣的加減法的運算符為“”和“”。矩陣只有同階方可進行加減運算,標量可以和矩陣進行加減運算但應對矩陣的每個元素施加運算。例如 A=1 2 3;4 5 6; B=A+1,B= 2 3 4 5 6 7,127,3)矩陣的乘法,矩陣的乘法運算符為“*”。 當兩個矩陣中前一矩陣的列數(shù)和后一矩陣的行數(shù)相同時,可以進行乘法進行運算,這與數(shù)學上的形式是一致的。例 CA*B; 在MATLAB中還可進行矩陣和標量相乘,其結(jié)果為標量與矩陣中的每個元素分別相乘。,128,4)矩陣的除法,矩陣的除法有兩種運算符“”和“/”,分別表示左除和右除。 一般地講,x= AB是A*x=B的解,x=B/A是x*A=B的解,通常ABB/A, 而AB=inv(A)*B, B/A= B*inv(A)。,129,5)矩陣的乘方,矩陣的乘方運算符為“”。 一個方陣的乘方運算可以用AP來表示 。P為正整數(shù),則A的P次冪即為A矩陣自乘P次。如果P為負整數(shù),則可以將A自乘 P次,然后對結(jié)果進行求逆運算,就可得出該乘方結(jié)果。如果P是一個分數(shù),例如Pmn,其中n和m均為整數(shù),則首先應該將
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。