MATLAB_速成教程_第1頁
MATLAB_速成教程_第2頁
MATLAB_速成教程_第3頁
MATLAB_速成教程_第4頁
MATLAB_速成教程_第5頁
已閱讀5頁,還剩93頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、1,matlab 速成,2,1 matlab 操作基礎(chǔ),2 變量與函數(shù),3 數(shù)組,4 矩陣,6 matlab 編程,7 matlab 繪圖,5 多項式,3,第1章 matlab操作基礎(chǔ)1.1 matlab概述1.2 matlab的運行環(huán)境與安裝1.3 matlab集成環(huán)境1.4 matlab幫助系統(tǒng),4,1.1 matlab概述,1.1.1 matlab的發(fā)展 1984年,matlab第1版(dos版) 1992年,matlab4.0版 1997年,matlab 5.0版 1999年,matlab 5.3版 2000年,matlab 6.0版 2002年,matlab 6.5版 2004年,m

2、atlab 7.0版 2005年, matlab 7.1版 2006年(上半年),matlab 2006a (7.2版) 2006年(下半年) ,matlab 2006b (7.3版) 2007年(上半年),matlab 2007a (7.4版) 2007年(下半年) ,matlab 2007b (7.5版) 2008年(上半年),matlab 2008a (7.6版) 2008年(下半年) , matlab 2008b (7.7版) 2009年(上半年),matlab 2009a (7.8版) 2009年(下半年) , matlab 2009b (7.9版,1.1.2 matlab的主要功能

3、1數(shù)值計算和符號計算功能matlab以矩陣作為數(shù)據(jù)操作的基本單位,還提供了十分豐富的數(shù)值計算函數(shù)。matlab和著名的符號計算語言maple相結(jié)合,使得matlab具有符號計算功能,5,1.1.2 matlab的主要特點,1)具有豐富的數(shù)學(xué)功能,包括矩陣各種運算。如:正交變換、三角分解、特征值、常見的特殊矩陣等,包括各種數(shù)學(xué)運算功能。如:數(shù)值微分、數(shù)值積分、插值、求極值、方程求根、fft 、常微分方程的數(shù)值解等,包括各種特殊函數(shù)。如:貝塞爾函數(shù)、勒讓德函數(shù)、伽碼函數(shù)、貝塔函數(shù)、橢圓函數(shù)等,6,2)具有很好的圖視系統(tǒng),可方便地畫出兩維和三維圖形,圖形用戶界面gui制作工具,可以制作用戶菜單和控件

4、。使用者可以根據(jù)自己的需求編寫出滿意的圖形界面,高級圖形處理。如:色彩控制、句柄圖形、動畫等,7,3)可以直接處理聲言和圖形文件,4)具有若干功能強大的應(yīng)用工具箱,聲音文件。如: wav文件(例:wavread,sound等,圖形文件。如: bmp 、gif 、 pcx 、tif 、jpeg等文件,如:simulink、comm、dsp、 signal等16種工具箱,8,5)使用方便,具有很好的擴張功能,6)具有很好的幫助功能,可以m文件轉(zhuǎn)變?yōu)楠毩⒂谄脚_的exe可執(zhí)行文件,使用matlab語言編寫的程序可以直接運行,無需編譯,提供十分詳細(xì)的幫助文件(pdf 、html 、demo文件,聯(lián)機查詢

5、指令:help指令(例:help elfun,help exp,help simulink),lookfor關(guān)鍵詞(例: lookfor fourier,matlab的應(yīng)用接口程序api是matlab提供的十分重要的組件 ,由 一系列接口指令組成 。用戶就可在fortran或c中 , 把matlab當(dāng)作計算引擎使用,9,1.1.3 初識matlab,例1-1 繪制正弦曲線和余弦曲線。x=0:0.5:360*pi/180;plot(x,sin(x),x,cos(x); 例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。p=3,7,9,0,-23; %建立多項式系數(shù)向量x=roots(

6、p) %求根,例1-3 求積分 quad(x.*log(1+x),0,1); 例1-4 求解線性方程組。a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b,10,1.2 matlab的運行環(huán)境與安裝,1.2.1 matlab的運行環(huán)境硬件環(huán)境:(1) cpu (2) 內(nèi)存(3) 硬盤(4) cd-rom驅(qū)動器和鼠標(biāo)。軟件環(huán)境:(1) windows 98/nt/2000 或windows xp(2) 其他軟件根據(jù)需要選用,11,1.2.2 matlab的安裝安裝matlab 6.5系統(tǒng),需運行系統(tǒng)自帶的安裝程序setup.exe,可以按照安裝提示依次操作,

7、12,1.3 matlab集成環(huán)境,1.3.1 啟動與退出matlab集成環(huán)境1matlab系統(tǒng)的啟動與一般的windows程序一樣,啟動matlab系統(tǒng)有3種常見方法:(1)使用windows“開始”菜單。(2)運行matlab系統(tǒng)啟動程序matlab.exe。(3) 利用快捷方式,13,當(dāng)matlab安裝完畢并首次啟動時,展現(xiàn)在屏幕上的界面為matlab的默認(rèn)界面,如右圖所示,14,啟動matlab后,將進入matlab 6.5集成環(huán)境。matlab 6.5集成環(huán)境包括matlab主窗口、命令窗口(command window)、工作空間窗口(workspace)、命令歷史窗口(comma

8、nd history)、當(dāng)前目錄窗口(current directory)和啟動平臺窗口(lauch pad,15,2matlab系統(tǒng)的退出要退出matlab系統(tǒng),也有3種常見方法:(1) 在matlab主窗口file菜單中選擇exit matlab命令。(2) 在matlab命令窗口輸入exit或quit命令。(3) 單擊matlab主窗口的“關(guān)閉”按鈕,16,1.3.2 主窗口matlab主窗口是matlab的主要工作界面。主窗口除了嵌入一些子窗口外,還主要包括菜單欄和工具欄。1菜單欄在matlab 6.5主窗口的菜單欄,共包含file、edit、view、web、window和help

9、6個菜單項,17,1) file菜單項:file菜單項實現(xiàn)有關(guān)文件的操作。(2) edit菜單項:edit菜單項用于命令窗口的編輯操作。(3) view菜單項:view菜單項用于設(shè)置matlab集成環(huán)境的顯示方式,18,4) web菜單項:web菜單項用于設(shè)置matlab的web操作。(5) window菜單項:主窗口菜單欄上的window菜單,只包含一個子菜單close all,用于關(guān)閉所有打開的編輯器窗口,包括m-file、figure、model和gui窗口。(6) help菜單項:help菜單項用于提供幫助信息,19,2工具欄matlab 6.5主窗口的工具欄共提供了10個命令按鈕。這

10、些命令按鈕均有對應(yīng)的菜單命令,但比菜單命令使用起來更快捷、方便,20,1.3.3 命令窗口 在命令窗口中輸入matlab的命令和數(shù)據(jù)后按回車鍵,立即執(zhí)行運算并顯示結(jié)果。 matlab在命令窗口中的語句形式為: 變量表達式; 說明:命令窗口中的每個命令行前會出現(xiàn)提示符“”,沒有“”符號的行則是顯示的結(jié)果,21,例1-1 在命令窗口中輸入不同的命令和數(shù)值,并查看其顯示方式。 a=0.5 a = 0.5000 b=sin b = sin if a1 c=true %如果a1則c為true end c = 1,練習(xí),22,一般來說,一個命令行輸入一條命令,命令行以回車結(jié)束。但一個命令行也可以輸入若干條

11、命令,各命令之間以逗號分隔。若一命令后帶有分號,matlab不顯示命令的結(jié)果。 例如p=15,m=35,23,如果一個命令行很長,一個物理行之內(nèi)寫不下,可以在第一個物理行之后加上3個小黑點并按下回車鍵,然后接著下一個物理行繼續(xù)寫命令的其他部分。3個小黑點稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。 在matlab里,有很多的控制鍵和方向鍵可用于命令行的編輯。調(diào)出下一行命令,調(diào)出上一行命令,24,表1-7常用標(biāo)點練習(xí): a=1 2;. 3 4 a=hello%字符串,25,數(shù)值計算結(jié)果的顯示格式 : 一種方法是在參數(shù)設(shè)置對話框 的“numeric format”欄設(shè)置數(shù)據(jù)的顯示格式。 另一種

12、方法是直接在命令窗口中使用“format”命令來進行數(shù)值顯示格式的設(shè)置: format 格式描述,26,例1-3 使用format函數(shù)在命令窗口中顯示運算結(jié)果。 a=sin(60*pi/180) a = 0.8660 format long a a = 0.86602540378444 format short e a a = 8.6603e-001 程序分析: long格式為15位數(shù)字顯示,short e為5位科學(xué)計數(shù)顯示,練習(xí),27,1.3.4 工作空間窗口工作空間是matlab用于存儲各種變量和結(jié)果的內(nèi)存空間。在該窗口中顯示工作空間中所有變量的名稱、大小、字節(jié)數(shù)和變量類型說明,可對變量進

13、行觀察、編輯、保存和刪除,28,用來設(shè)置當(dāng)前目錄,并顯示當(dāng)前目錄下的m文件、mat文件、mdl文件等文件信息,窗口中包括文件類型(file type)、文件大小(size)、最后修改(last modified)時間和文件的說明信息(description)等,1.3.5 當(dāng)前目錄窗口和搜索路徑 1當(dāng)前目錄窗口,29,查看工作目錄下文件的相關(guān)信息的常用命令如下: what:列出當(dāng)前目錄下的m、mat、mex文件清單。(ops) dir:顯示當(dāng)前目錄或指定當(dāng)前目錄下的文件。 cd 路徑:改變或顯示當(dāng)前工作目錄;路徑可省略,省略時為顯示當(dāng)前工作目錄;cd .表示回到上一級目錄(空格.)。 type

14、:顯示文件內(nèi)容。 delete:刪除文件。 which 文件名:指出m文件、mex文件、工作空間變量、內(nèi)置函數(shù)或simulink模型所在的目錄。(box,練習(xí),30,2matlab的搜索路徑 當(dāng)用戶在matlab命令窗口輸入一條命令后,matlab按照一定次序?qū)ふ蚁嚓P(guān)的文件。基本的搜索過程是:(1) 檢查該命令是不是一個變量。(2) 檢查該命令是不是一個內(nèi)部函數(shù)。(3) 檢查該命令是否當(dāng)前目錄下的m文件。(4) 檢查該命令是否matlab搜索路徑中其他目錄下的m文件,31,用戶可以將自己的工作目錄列入matlab搜索路徑,從而將用戶目錄納入matlab系統(tǒng)統(tǒng)一管理。設(shè)置搜索路徑的方法有: (1

15、) 用path命令設(shè)置搜索路徑。例如,將用戶目錄c:mydir加到搜索路徑下,可在命令窗口輸入命令:path(path,c:mydir,32,2) 用對話框設(shè)置搜索路徑 在matlab的file菜單中選set path命令或在命令窗口執(zhí)行pathtool命令,將出現(xiàn)搜索路徑設(shè)置對話框。通過add folder或add with subfolder命令按鈕將指定路徑添加到搜索路徑列表中。在修改完搜索路徑后,則需要保存搜索路徑,33,1.3.6 命令歷史記錄窗口 在默認(rèn)設(shè)置下,歷史記錄窗口中會自動保留自安裝起所有用過的命令的歷史記錄,并且還標(biāo)明了使用時間,從而方便用戶查詢。而且,通過雙擊命令可進行

16、歷史命令的再運行。如果要清除這些歷史記錄,可以選擇edit菜單中的clear command history命令,34,在默認(rèn)設(shè)置下,該窗口會顯示自安裝以來所有使用過命令的歷史記錄,并標(biāo)明每次開啟matlab的時間,35,1.3.7 啟動平臺窗口和start按鈕 matlab 6.5的啟動平臺窗口可以幫助用戶方便地打開和調(diào)用matlab的各種程序、函數(shù)和幫助文件。matlab 6.5主窗口左下角還有一個start按鈕,單擊該按鈕會彈出一個菜單,選擇其中的命令可以執(zhí)行matlab產(chǎn)品的各種工具,并且可以查閱matlab包含的各種資源,36,1.3.8 matlab文件格式,matlab 的常用文

17、件有.m、.fig、.mdl、 .mat、.mex、.prj、.p等類型 。 1. 程序文件 程序文件即m文件(m-file),其文件的擴展名為.m。 2. 圖形文件 圖形文件(figure)的擴展名為.fig。 3. 模型文件 模型文件(model)擴展名為.mdl,可以在“file”菜單中創(chuàng)建model時生成.mdl文件,37,4. 數(shù)據(jù)文件 數(shù)據(jù)文件即mat文件,其文件的擴展名為.mat。 (1)把工作空間中的數(shù)據(jù)存入mat文件 save 文件名 變量1 變量2 參數(shù) (2)從數(shù)據(jù)文件中裝載變量到工作空間 load 文件名 變量1 變量2 還可以通過打開import data窗口來從ma

18、t文件中將變量裝載到workspace,38,5. 可執(zhí)行文件 可執(zhí)行文件即mex文件,其文件的擴展名為.mex。 6. 項目文件 項目文件的擴展名為.prj。 7. p碼文件 p碼文件即偽代碼文件,是m文件被調(diào)用后在內(nèi)存中生成的內(nèi)部偽代碼,39,1.4 matlab幫助系統(tǒng),1.4.1 幫助窗口進入幫助窗口可以通過以下3種方法:(1) 單擊matlab主窗口工具欄中的help按鈕。(2) 在命令窗口中輸入helpwin、helpdesk或doc。(3) 選擇help菜單中的“matlab help”選項,40,1.4.2 幫助命令matlab幫助命令包括help、lookfor以及模糊查詢。

19、1help命令在matlab 6.5命令窗口中直接輸入help命令將會顯示當(dāng)前幫助系統(tǒng)中所包含的所有項目,即搜索路徑中所有的目錄名稱。同樣,可以通過help加函數(shù)名來顯示該函數(shù)的幫助說明,41,2lookfor命令 help命令只搜索出那些關(guān)鍵字完全匹配的結(jié)果,lookfor命令對搜索范圍內(nèi)的m文件進行關(guān)鍵字搜索,條件比較寬松。lookfor命令只對m文件的第一行進行關(guān)鍵字搜索。若在lookfor命令加上-all選項,則可對m文件進行全文搜索,42,3模糊查詢 matlab 6.0以上的版本提供了一種類似模糊查詢的命令查詢方法,用戶只需要輸入命令的前幾個字母,然后按tab鍵,系統(tǒng)就會列出所有以

20、這幾個字母開頭的命令,43,1.4.3 使用幫助瀏覽器 幫助主題(contents)、索引(index) 、搜索(search)和演示(demos)四個面板來查找?guī)椭畔ⅲ?contents面板為可展開的樹形結(jié)構(gòu),向用戶提供全方位系統(tǒng)幫助的向?qū)D; index面板是matlab提供的術(shù)語索引表,可以查找命令、函數(shù)和專用術(shù)語等。 search面板是通過關(guān)鍵詞來查找全文中與之匹配的章節(jié)條目,index只在專用術(shù)語表中查找而search的搜索是在整個html文件中進行的,因此其覆蓋面更寬。 demos面板為matlab提供了demo演示,44,45,1.4.4 遠程幫助系統(tǒng) 在mathworks公司

21、的主頁(http:/)上可以找到很多有用的信息,國內(nèi)的一些網(wǎng)站也有豐富的信息資源,46,練習(xí),在命令窗口中輸入以下命令,并查看顯示的圖形。 a=1 2 3 4 b=5 6 7 8 c=a+b*i plot(c,47,練習(xí),在matlab中_用于括住字符串。 a. , b. ; c. d.,答案: c,48,練習(xí),在matlab的命令窗口中執(zhí)行_命令,使數(shù)值5.3顯示為5.300000000000000e+000。 a. format long b. format long e c. format short d. format short e,答案: b,49,練習(xí),在matlab的命令窗口中

22、執(zhí)行“x”,關(guān)于matlab的搜索順序,下面說法正確的是_ a. 搜索路徑窗口中所有路徑的先后順序是隨意的; b首先到搜索路徑窗口中的路徑中去搜索“x”; c首先在工作空間搜索“x”; d首先在工作空間搜索“x.m”文件,答案: c,50,2.1變量 matlab中變量的命名規(guī)則: (1)變量名必須是不含空格的單個詞; (2)變量名區(qū)分大小寫; (3)變量名最多不超過63個字符; (4)變量名必須以字母打頭,之后可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標(biāo)點符號,第2章 變量與函數(shù),51,特殊變量表,特殊變量,取,值,ans,用于結(jié)果的缺省變量名,pi,圓周率,eps,flops,浮點運

23、算數(shù),inf,無窮大,如,1/0,nan,不定量,如,0/0,i,j,i=j,nargin,所用函數(shù)的輸入變量數(shù)目,nargout,所用函數(shù)的輸出變量數(shù)目,realmin,realmax,正的極小值2.2204e-16,最大的正實數(shù)1.7977e+308,最小的正實數(shù)2.2251e-308,52,matlab最常用的變量有數(shù)值數(shù)組(double array)和字符串(char array)兩類,所有數(shù)值數(shù)組變量均以雙精度(double)方式存儲,a=2+3i a = 2.0000 + 3.0000i a1=i am a teacher a1 = i am a teacher a=1 2 ;3

24、4 a = 1 2 3 4,占64位 (8字節(jié)),其中11個指數(shù)位,53個數(shù)值位和一個符號位. 表示的數(shù)據(jù)范圍,matlab按下面顯示規(guī)則顯示數(shù)據(jù): 1)在缺省情況下,當(dāng)結(jié)果為整數(shù),作為整數(shù)顯示;當(dāng)結(jié)果為實數(shù),以小數(shù)后4位的精度近似顯示。 2)如果結(jié)果中的有效數(shù)字超出了這一范圍,以科學(xué)計數(shù)法顯示結(jié)果。 format命令改變顯示格式,常用的的格式有 long (16位) bank(2個十進制位) hex(十六進制) short(缺省) short e(5位加指數(shù)) +(符號) long e(16位加指數(shù)) rat(有理數(shù)近似) 詳細(xì)見:help format doc format,53,2.2數(shù)

25、學(xué)運算符號及標(biāo)點符號,例如 a=1 2 3; b=4 5 6; c=5; a+b ans = 5 7 9 a+c ans = 6 7 8 a*c ans = 5 10 15 a.*c ans = 5 10 15 a./b ans = 0.2500 0.4000 0.5000 a.b ans = 4.0000 2.5000 2.0000 a.b ans = 1 32 729,54,2.3 復(fù)數(shù)和復(fù)數(shù)矩陣,matlab 把復(fù)數(shù)作為一個整體處理(而不必像其他程序語言,將實部和虛部分開處理)。虛數(shù)單位用預(yù)定義變量i或j表示。 復(fù)數(shù)z=a+bi 直角坐標(biāo)表示和極坐標(biāo)表示之間轉(zhuǎn)換的matlab指令如下:

26、real(z) 給出復(fù)數(shù)z的實部 imag(z) 給出復(fù)數(shù)z的虛部 abs(z) 給出復(fù)數(shù)z的模 angle(z) 給出復(fù)數(shù)z的相角,55,2.4 數(shù)學(xué)函數(shù),注意: x也可以是數(shù)組,如 x=0:pi/5:2*pi , sin(x,56,matlab的函數(shù)文件也以 .m 格式保存。 但是這類文件的第一行必須是一特殊字符function開始,格式為 function 因變量名=函數(shù)名(自變量名) 函數(shù)值的獲得必須通過具體的運算實現(xiàn),并賦給因變量,2.5 m文件,m文件的建立方法 1. 在matlab中,點:file-new-m-file 2. 在編輯窗口中輸入程序內(nèi)容 3. 點file-save,

27、存盤,matlab的應(yīng)用程序以 .m 文件格式保存。分m文件和m函數(shù)兩種:m文件即命令文件,是用戶為解決問題自己編制的程序;m函數(shù)即函數(shù)文件,是一種子程序,一般由其它程序調(diào)用,函數(shù)或程序怎么建立、保存,57,例:定義函數(shù) f(x)=2x2+5x 的步驟,function f=fun(x) f=2*(x2)+5*x,1. 建立函數(shù)文件:fun.m,2. 可以直接使用函數(shù)fun.m,例如:計算 f(3.2), 只需在matlab命令窗口鍵入命令: x=3.2 fun(x,不需要c語言類似的編譯過程,58,3.1 創(chuàng)建簡單的數(shù)組,第3章 數(shù) 組,x=a b c d e f 創(chuàng)建包含指定元素的行向量,

28、x=first:last 創(chuàng)建從first開始,加1計數(shù),到last結(jié)束的行向量,x=first:increment:last 創(chuàng)建從first開始,加increment計數(shù),last結(jié)束的行向量,x=linspace(first,last,n) 創(chuàng)建從first開始,到last結(jié)束,有n個元素的行向量 y=1:7 y = 1 2 3 4 5 6 7,59,例如,z=3:2:9 z = 3 5 7 9 v=y,z v = 1 2 3 4 5 6 7 3 5 7 9 u=linspace(2,9,11) u = columns 1 through 6 2.0000 2.7000 3.4000 4

29、.1000 4.8000 5.5000 columns 7 through 11 6.2000 6.9000 7.6000 8.3000 9.0000,60,3.2 對數(shù)組元素的訪問,3)直接使用元素編址序號. x(a b c d) 表示提取數(shù)組x的第a、b、c、d個元素構(gòu)成一個新的數(shù)組 x(a) x(b) x(c) x(d,2)訪問一塊元素: x(a :b :c)表示訪問數(shù)組x的從第a個元素開始,以步長為b到第c個元素(但不超過c),b可以為負(fù)數(shù),b缺損時為1,1)訪問一個元素: x(i)表示訪問數(shù)組x的第i個元素,例如: x=1:2:9 x = 1 3 5 7 9 y=x(2:1:5) y

30、 = 3 5 7 9 z=x(1 3 5) z = 1 5 9,61,前面例子中的數(shù)組都是一行數(shù)列,是行方向分布的. 稱之為行向量. 數(shù)組也可以是列向量,它的數(shù)組操作和運算與行向量是一樣的,唯一的區(qū)別是結(jié)果以列形式顯示,產(chǎn)生列向量有兩種方法: 直接產(chǎn)生 例 c=1;2;3;4 轉(zhuǎn)置產(chǎn)生 例 b=1 2 3 4; c=b 說明:以空格或逗號分隔的元素指定的是不同列的元素,而以分號分隔的元素指定了不同行的元素,3.3 數(shù)組的方向,62,3.4 數(shù)組的運算,1)標(biāo)量-數(shù)組運算 數(shù)組對標(biāo)量的加、減、乘、除、乘方是數(shù)組的每個元素對該標(biāo)量施加相應(yīng)的加、減、乘、除、乘方運算,設(shè):a=a1,a2,an, c=

31、標(biāo)量,則:a+c=a1+c,a2+c,an+c a.*c=a1*c,a2*c,an*c a./c= a1/c,a2/c,an/c(右除) a.c= c/a1,c/a2,c/an (左除) a.c= a1c,a2c,anc c.a= ca1,ca2,can,63,2)數(shù)組-數(shù)組運算 當(dāng)兩個數(shù)組有相同維數(shù)時,加、減、乘、除、冪運算可按元素對元素方式進行的,不同大小或維數(shù)的數(shù)組是不能進行運算的,設(shè):a=a1,a2,an, b=b1,b2,bn,則:a+b= a1+b1,a2+b2,an+bn a.*b= a1*b1,a2*b2,an*bn a./b= a1/b1,a2/b2,an/bn a.b=b1

32、/a1,b2/a2,bn/an a.b=a1b1,a2b2,anbn,64,例2-14 使用數(shù)組算術(shù)運算法則進行向量的運算。 t=0:pi/3:2*pi;%t為行向量 x=sin(t)*cos(t) ? error using = mtimes inner matrix dimensions must agree. x=sin(t).*cos(t) x = 0 0.4330 -0.4330 -0.0000 0.4330 -0.4330 -0.0000 y=sin(t)./cos(t) y = 0 1.7321 -1.7321 -0.0000 1.7321 -1.7321 -0.0000,65,

33、第4章 矩 陣,逗號或空格用于分隔某一行的元素,分號用于區(qū)分不同的行. 除了分號,在輸入矩陣時,按enter鍵也表示開始一新行. 輸入矩陣時,嚴(yán)格要求所有行有相同的列. 例 m=1 2 3 4 ;5 6 7 8;9 10 11 12 p=1 1 1 1 2 2 2 2 3 3 3 3,4.1 矩陣的建立,66,特殊矩陣的建立,d=eye(m,n) 產(chǎn)生一個m行、n列的單位矩陣,c=ones(m,n) 產(chǎn)生一個m行、n列的元素全為1的矩陣,b=zeros(m,n) 產(chǎn)生一個m行、n列的零矩陣,a= 產(chǎn)生一個空矩陣,當(dāng)對一項操作無結(jié)果時, 返回空矩陣,空矩陣的大小為零,67,4.2 矩陣中元素的操

34、作,1)矩陣a的第r行:a(r,:,2)矩陣a的第r列:a(:,r,4)取矩陣a的第i1i2行、第j1j2列構(gòu)成新矩陣:a(i1:i2, j1:j2,5)以逆序提取矩陣a的第i1i2行,構(gòu)成新矩陣:a(i2:-1:i1,:,6)以逆序提取矩陣a的第j1j2列,構(gòu)成新矩陣:a(:, j2:-1:j1,7)刪除a的第i1i2行,構(gòu)成新矩陣:a(i1:i2,:)=,8)刪除a的第j1j2列,構(gòu)成新矩陣:a(:, j1:j2)=,3)依次提取矩陣a的每一列,將a拉伸為一個列向量:a(:,68,2)矩陣-矩陣運算 a)元素對元素的運算: 與數(shù)組-數(shù)組運算相同 .* ./ .,4.3 矩陣的運算,1)標(biāo)量

35、-矩陣運算 與標(biāo)量-數(shù)組運算規(guī)則相同,b)矩陣對矩陣運算: 矩陣加減法:a+b a-b 矩陣乘法:a*b,矩陣除法: 矩陣左除:ax = b,求 x 。matlab 求解:x=ab 若a為非奇異方陣,則 x=a-1b 最小二乘解(若a不是方陣) 矩陣右除:xa = b,求 x。 matlab求解:x=b/a 若a為非奇異方陣,則 x=ba-1 最小二乘解(若a不是方陣,69,例2-12 用矩陣除法求方程組的解,已知方程組: 解:x=ab是方程a*x=b的解,將該方程變換成a*x=b的形式。其中: a=2 -3 1;1 -1 1;1 3 1; b=8;7;6; x=ab,練習(xí),70,4.4 矩陣

36、分析4.4.1 對角陣與三角陣1對角陣只有對角線上有非0元素的矩陣稱為對角矩陣,對角線上的元素相等的對角矩陣稱為數(shù)量矩陣,對角線上的元素都為1的對角矩陣稱為單位矩陣,71,提取矩陣的對角線元素設(shè)a為mn矩陣,diag(a)函數(shù)用于提取矩陣a主對角線元素,產(chǎn)生一個具有min(m,n)個元素的列向量。diag(a)函數(shù)還有一種形式diag(a,k),其功能是提取第k條對角線的元素。 構(gòu)造對角矩陣設(shè)v為具有m個元素的向量,diag(v)將產(chǎn)生一個mm對角矩陣,其主對角線元素即為向量v的元素。diag(v)函數(shù)也有另一種形式diag(v,k),其功能是產(chǎn)生一個nn(n=m+k)對角陣,其第k條對角線的

37、元素即為向量v的元素,72,例2-10 先建立55矩陣a,然后將a的第一行元素乘以1,第二行乘以2,第五行乘以5,a=17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;.11,18,25,2,19;d=diag(1:5);d*a %用d左乘a,對a的每行 乘以一個指定常數(shù),73,2三角陣三角陣又進一步分為上三角陣和下三角陣,所謂上三角陣,即矩陣的對角線以下的元素全為0的一種矩陣,而下三角陣則是對角線以上的元素全為0的一種矩陣,74,上三角矩陣求矩陣a的上三角陣的matlab函數(shù)是triu(a)。triu(a)函數(shù)也有另一種形式triu(a,k

38、),其功能是求矩陣a的第k條對角線以上的元素。例如,提取矩陣a的第2條對角線以上的元素,形成新的矩陣b。 下三角矩陣在matlab中,提取矩陣a的下三角矩陣的函數(shù)是tril(a)和tril(a,k),其用法與提取上三角矩陣的函數(shù)triu(a)和triu(a,k)完全相同,75,4.4.2 矩陣的轉(zhuǎn)置與旋轉(zhuǎn)1矩陣的轉(zhuǎn)置轉(zhuǎn)置運算符是單撇號()。2矩陣的旋轉(zhuǎn)利用函數(shù)rot90(a,k)將矩陣a旋轉(zhuǎn)90的k倍,當(dāng)k為1時可省略,76,3矩陣的左右翻轉(zhuǎn)對矩陣實施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,依次類推。matlab對矩陣a實施左右翻轉(zhuǎn)的函數(shù)是fliplr(a) 4矩陣的

39、上下翻轉(zhuǎn)matlab對矩陣a實施上下翻轉(zhuǎn)的函數(shù)是flipud(a,77,4.4.3 矩陣的逆對于一個方陣a,如果存在一個與其同階的方陣b,使得:ab=ba=i (i為單位矩陣)則稱b為a的逆矩陣,當(dāng)然,a也是b的逆矩陣。求一個矩陣的逆是一件非常煩瑣的工作,容易出錯,但在matlab中,求一個矩陣的逆非常容易。求方陣a的逆矩陣可調(diào)用函數(shù)inv(a)。例2-11 用求逆矩陣的方法解線性方程組。ax=b其解為:x=a-1b,78,4.4.4 方陣的行列式把一個方陣看作一個行列式,并對其按行列式的規(guī)則求值,這個值就稱為矩陣所對應(yīng)的行列式的值。在matlab中,求方陣a所對應(yīng)的行列式的值的函數(shù)是det(

40、a,79,4.4.5 矩陣的秩與跡1矩陣的秩矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在matlab中,求矩陣秩的函數(shù)是rank(a)。2矩陣的跡矩陣的跡等于矩陣的對角線元素之和,也等于矩陣的特征值之和。在matlab中,求矩陣的跡的函數(shù)是trace(a,80,4.5關(guān)系運算和邏輯運算4.5.1 邏輯運算,matlab 中邏輯型(logical)數(shù)據(jù)只有“1”和“0”,分別表示true和false兩種狀態(tài),邏輯型變量只占1個字節(jié)。 函數(shù)logical可以用來將數(shù)值型轉(zhuǎn)換為邏輯型,任何非零的數(shù)值都轉(zhuǎn)換為邏輯1,數(shù)值0轉(zhuǎn)換為邏輯0,81,4.5.2 關(guān)系運算,matlab 常用的關(guān)系操作符有、=、 = =(等于)、 =(不等于)。 關(guān)系運算規(guī)則: 如果比較的兩個變量都是標(biāo)量,則結(jié)果為1(true)或0(false); 如果比較的兩個變量都是數(shù)組,則必須尺寸大小相同,結(jié)果也是同樣大小的數(shù)組; 如果比較的是一個數(shù)組和一個標(biāo)量,則把數(shù)組的每個元素分別與標(biāo)量比較,結(jié)果為與數(shù)組大小相同的數(shù)組,82,4.5.3 邏輯運算,1. 元素的邏輯運算 元素的邏輯運算是將數(shù)組中的元素一一進行邏輯運算,常用的邏輯運算符:s2, ;s3 str2 = matlab 7.3 字符串 顯示matlab 2. 字符數(shù)組的

溫馨提示

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

評論

0/150

提交評論