版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、MATLAB基礎(chǔ)與應(yīng)用,任課教師: 高德寶 聯(lián)系方式2011年3月,黑龍江八一農(nóng)墾大學(xué)文理學(xué)院數(shù)學(xué)系,參考教材 MATLAB 7.x 基礎(chǔ)教程 西安電子科技大學(xué)出版社 張笑天 楊?yuàn)^強(qiáng) 編著 2008年4月第一版; 高等應(yīng)用數(shù)學(xué)問題的MATLAB求解(第2版) 清華大學(xué)出版社 薛定宇 陳陽泉 編著 2008年 MATLAB實(shí)用教程(第2版) 電子工業(yè)出版社 蘇金明 阮沈勇 編著 2008年02月出版,黑龍江八一農(nóng)墾大學(xué)文理學(xué)院數(shù)學(xué)系,主要內(nèi)容,一、matlab的基本使用方法(4學(xué)時(shí)) 二、matlab的數(shù)值計(jì)算(6學(xué)時(shí)) 三、 matlab的符號(hào)運(yùn)算(6學(xué)時(shí)) 四、 m
2、atlab計(jì)算的可視化(4學(xué)時(shí)) 五、 matlab程序設(shè)計(jì)(8學(xué)時(shí)) 六、 matlab圖形用戶界面設(shè)計(jì)(4學(xué)時(shí)),第1章MATLAB基本使用方法,一、了解MATLAB的發(fā)展、應(yīng)用、功能、特點(diǎn)和系統(tǒng)構(gòu)成 二、重點(diǎn)介紹MATLAB的語言環(huán)境、基本運(yùn)算、變量和常用函數(shù),MATLAB概述,MATLAB是MathWorks公司開發(fā)的科學(xué)與工程計(jì)算軟件,它以矩陣運(yùn)算為基礎(chǔ),把計(jì)算、繪圖及動(dòng)態(tài)系統(tǒng)仿真等功能有機(jī)地融合在一起。同時(shí),它又具有程序設(shè)計(jì)語言的基本特征。目前,MATLAB在工程計(jì)算與數(shù)值分析、控制系統(tǒng)設(shè)計(jì)與仿真、信號(hào)處理、圖像處理、金融建模設(shè)計(jì)與分析等學(xué)科領(lǐng)域都有著十分廣泛的應(yīng)用。,1.1 MA
3、TLAB發(fā)展,matlab語言是由美國的Clever Moler博士于1980年開發(fā)的 設(shè)計(jì)者的初衷是為解決“線性代數(shù)”課程的矩陣運(yùn)算問題 取名MATLAB即Matrix Laboratory 矩陣實(shí)驗(yàn)室的意思,Cleve Moler,1.1 MATLAB發(fā)展,Cleve Moler編寫的使用Linpack 和Eispack的接口程序MATLAB 1993MATLAB 4.0版 1997MATLAB 5.0版 2000年10月MATLAB 6.0版 2004年7月MATLAB 7.0版 2005年9月MATLAB 7.1版 隨后每年發(fā)布兩次以年份命名的版本,如R2006a(MATLAB 7.2
4、)、R2006b(MATLAB 7.3)、R2007a(MATLAB 7.4)、R2007b(MATLAB 7.5)、R2008a(MATLAB 7.6)、R2008b(MATLAB 7.7)、R2009a(MATLAB 7.8)、R2009b(MATLAB 7.9)、R2010a(MATLAB 7.10)和最新版本的R2010b。,1.2 MATLAB的應(yīng)用,數(shù)值分析 數(shù)值和符號(hào)計(jì)算 工程與科學(xué)繪圖 控制系統(tǒng)的設(shè)計(jì)與仿真 通訊系統(tǒng)設(shè)計(jì)與仿真 數(shù)字圖像處理技術(shù) 數(shù)字信號(hào)處理技術(shù) 財(cái)務(wù)與金融工程,1.3 MATLAB語言的功能,強(qiáng)大的數(shù)值(矩陣)運(yùn)算功能 廣泛的符號(hào)運(yùn)算功能 高級(jí)與低級(jí)兼?zhèn)涞膱D形
5、功能(計(jì)算結(jié)果的可視化功能) 可靠的容錯(cuò)功能 應(yīng)用靈活的兼容與接口功能 信息量豐富的聯(lián)機(jī)檢索功能,MATLAB語言的功能(續(xù)),1.3.1.矩陣運(yùn)算功能 變量 矩陣,運(yùn)算 矩陣的運(yùn)算 例如:C = A + B ,A,B,C都是矩陣,是矩陣的加運(yùn)算 即使一個(gè)常數(shù),Y=5,MATLAB也看做是一個(gè)11的矩陣 再例如,求解線性方程組: 在MATLAB命令窗口輸入命令:,MATLAB語言的功能(續(xù)),1.3.2.符號(hào)運(yùn)算功能 符號(hào)運(yùn)算即用字符串進(jìn)行數(shù)學(xué)分析 允許變量不賦值而參與運(yùn)算 用于解代數(shù)方程、微積分、復(fù)合導(dǎo)數(shù)、積分、二重積分、有理函數(shù)、微分方程、泰勒級(jí)數(shù)展開等等,可求得解析符號(hào)解 例如:求解線性
6、方程組: 也可以通過符號(hào)計(jì)算求方程的解。,MATLAB語言的功能(續(xù)),1.3.3.高級(jí)與低級(jí)兼?zhèn)涞膱D形功能(計(jì)算結(jié)果的可視化) 具有高層繪圖功能二維、三維繪圖 具有底層繪圖功能句柄繪圖 使用plot函數(shù)可隨時(shí)將計(jì)算結(jié)果可視化,1.3.3高級(jí)與低級(jí)兼?zhèn)涞膱D形功能(計(jì)算結(jié)果的可視化),例如,分別繪制函數(shù)y=300sinx/x和y=x2的曲線 x=-20:0.1:20; plot(x,300*sin(x)./x,:,x,x.2);,MATLAB語言的功能(續(xù)),1.3.4.圖形化程序編制功能 動(dòng)態(tài)系統(tǒng)進(jìn)行建模、仿真和分析的軟件包 用結(jié)構(gòu)圖編程,而不用程序。編程只需拖幾個(gè)方塊、連幾條線,即可實(shí)現(xiàn)編程
7、功能 如下頁圖所示:,MATLAB語言功能(續(xù)),1.3.5.豐富的MATLAB工具箱 Matlab工具箱主要分為:功能性工具箱和學(xué)科性工具箱 功能性工具箱主要用來擴(kuò)充其符號(hào)計(jì)算功能、可視建模功能、文字處理功能等;,學(xué)科性工具箱專業(yè)性比較強(qiáng),主要包括: 控制系統(tǒng)工具箱(Control System Toolbox)、信號(hào)處理工具箱(Signal Processing Toolbox)、神經(jīng)元網(wǎng)絡(luò)工具箱(Neural Network Toolbox)、最優(yōu)化工具箱(Optimization Toolbox)、金融工具箱(Financial Toolbox)、統(tǒng)計(jì)工具箱(Statistics To
8、olbox)、圖象處理工具箱(Image Processing Toolbox)等等。,MATLAB語言功能(續(xù)),1.3.6.MATLAB的兼容功能 可與C語言、FORTURE語言跨平臺(tái)兼容 用函數(shù)CMEX、FMEX實(shí)現(xiàn),MATLAB語言功能(續(xù)),1.3.7.MATLAB的容錯(cuò)功能 非法操作時(shí),給出提示,并不影響其操作 ans(-1) ? Index exceeds matrix dimensions.,MATLAB語言功能(續(xù)),1.3.8. MATLAB的開放式可擴(kuò)充結(jié)構(gòu) MATLAB 所有函數(shù)都是開放的。 除內(nèi)部函數(shù)外,所有MATLAB基本文件和各種工具箱文件都是可讀可改的源文件,用
9、戶可通過對(duì)源文件的修改或加入自己編寫的文件來構(gòu)成新的專用工具箱。 正因?yàn)榇斯δ?,使得MATLAB的應(yīng)用越來越廣泛。,MATLAB語言功能(續(xù)),1.3.9.強(qiáng)大的聯(lián)機(jī)檢索幫助系統(tǒng) 可隨時(shí)檢索MATLAB函數(shù) 可隨時(shí)查詢MATLAB函數(shù)的使用方法,1.4 MATLAB系統(tǒng)的特點(diǎn),1.4.1.提供了大量的現(xiàn)成的工具 豐富的函數(shù)和工具箱 圖形和用戶界面 仿真功能塊庫 1.4.2.具有強(qiáng)大的可視化功能 方便的2D和3D繪圖工具 面向圖形對(duì)象的操作 強(qiáng)大的電影和程序動(dòng)畫的制作 連續(xù)與離散數(shù)據(jù)的圖形表現(xiàn),1.4 MATLAB系統(tǒng)的特點(diǎn)(續(xù)),1.4.3.速度快 矢量化運(yùn)算 應(yīng)用編程接口 M文件編譯器 預(yù)處
10、理p文件 實(shí)時(shí)代碼生成及外部運(yùn)行模式 1.4.4.具有良好的工作平臺(tái) 具有與C、FORTRAN與C+程序的接口 與WOED(word)有共享界面,1.4 MATLAB系統(tǒng)的特點(diǎn)(續(xù)),1.4.5.開放和可擴(kuò)展 自定義數(shù)據(jù)類型(面向?qū)ο缶幊蹋?C/C+數(shù)學(xué)庫和圖形庫 建立獨(dú)立可任意發(fā)布的外部應(yīng)用 圖形界面設(shè)計(jì) 針對(duì)目標(biāo)自定義實(shí)時(shí)應(yīng)用模板,1.5 MATLAB的集成開發(fā)環(huán)境,1.5.1 MATLAB操作界面 1主窗口,Matlab菜單欄 包括七個(gè)菜單項(xiàng),其中“File”菜單實(shí)現(xiàn)有關(guān)文件的操作。,“Edit”菜單用于命令窗口的編輯操作,“Debug”菜單用于程序調(diào)試,“Parallel”菜單用于設(shè)置
11、并行計(jì)算的運(yùn)行環(huán)境,“Desktop”菜單用于設(shè)置MATLAB集成環(huán)境的顯示方式,“Windows”菜單用于關(guān)閉所有打開的編輯窗口或者選擇活動(dòng)窗口,“Help”菜單用于提供幫助信息,1.5.1 MATLAB操作界面,2命令窗口 命令窗口(Command Window)用于輸入命令并顯示除圖形以外的所有執(zhí)行結(jié)果。 一般來說,一個(gè)命令行輸入一條命令,命令行以回車結(jié)束。但一個(gè)命令行也可以輸入若干條命令,各命令之間以逗號(hào)分隔,若前一命令后帶有分號(hào),則逗號(hào)可以省略。例如: x=720,y=86 x = 720 y = 86 x=720;y=86 y = 86,如果一個(gè)命令行很長,一個(gè)物理行之內(nèi)寫不下,可
12、以在第1個(gè)物理行之后加上3個(gè)小黑點(diǎn)并按下回車鍵,然后接著下一個(gè)物理行繼續(xù)寫命令的其他部分。3個(gè)小黑點(diǎn)稱為續(xù)行符,即把下面的物理行看作該行的邏輯繼續(xù)。例如: z=1+1/(1*2)+1/(1*2*3)+1/(1*2*3*4)+ 1/(1*2*3*4*5),3工作空間窗口 工作空間(Workspace)是MATLAB用于存儲(chǔ)各種變量和結(jié)果的內(nèi)存空間。,4當(dāng)前目錄窗口 對(duì)文件進(jìn)行有效的組織和管理 當(dāng)前目錄(Current Directory)是指MATLAB運(yùn)行時(shí)的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)才可以被運(yùn)行或調(diào)用。如果沒有特殊指明,數(shù)據(jù)文件也將存放在當(dāng)前目錄下。,5命令歷史窗口 自
13、動(dòng)保留自安裝起所有用過的命令的歷史記錄,并且還標(biāo)明了使用時(shí)間,從而方便用戶查詢。而且,通過雙擊命令可進(jìn)行歷史命令的再運(yùn)行。如果要清除這些歷史記錄,可以選擇“Edit”菜單中的“Clear Command History”命令或選擇該窗口的快捷菜單中的“Clear Command History”命令。,6.Start按鈕 在MATLAB左下角還有一個(gè)Start按鈕,提供快速訪問MATLAB的各種工具和查閱MATLAB包含的各種資源的命令菜單。,1.5.2 MATLAB的搜索路徑,MATLAB的文件是通過不同的路徑進(jìn)行組織和管理的。當(dāng)用戶在命令窗口輸入一條命令后,MATLAB將按照下列順序搜索所
14、輸入的命令。 1.默認(rèn)搜索過程 檢查該命令是不是一個(gè)變量。 檢查該命令是不是一個(gè)內(nèi)部函數(shù)。 檢查該命令是否為當(dāng)前目錄下的M文件。 檢查該命令是否為MATLAB搜索路徑中其他目錄下的 M文件。,2設(shè)置搜索路徑 (1)用path命令設(shè)置搜索路徑 例如,將用戶目錄c:mydir加到搜索路徑下: path(path,e:matlabwork) (2)用對(duì)話框設(shè)置搜索路徑 在MATLAB的File菜單中選擇Set Path命令或在命令窗口執(zhí)行pathtool命令,1.5.3 MATLAB的幫助功能,1.5.3.1 幫助界面 進(jìn)入MATLAB幫助界面可以通過以下3種方法。 單擊MATLAB主窗口工具欄中的
15、Help按鈕。 在命令窗口中輸入“helpwin”、“helpdesk”或“doc”命令。 選擇Help菜單中的“Product Help”選項(xiàng)。,1.5.3.2 幫助命令 1help命令 help命令是查詢函數(shù)語法的最基本方法,查詢信息直接顯示在命令窗口。在命令窗口中直接輸入help命令將會(huì)顯示當(dāng)前幫助系統(tǒng)中所包含的所有項(xiàng)目,即搜索路徑中所有的目錄名稱。 同樣,可以通過help加函數(shù)名來顯示該函數(shù)的幫助說明。,例如,為了顯示magic函數(shù)的使用方法與功能 help magic MAGIC Magic square. MAGIC(N) is an N-by-N matrix construct
16、ed from the integers 1 through N2 with equal row, column, and diagonal sums. Produces valid magic squares for all N 0 except N = 2. Reference page in Help browser doc magic,2lookfor命令 help命令可以幫助用戶了解函數(shù)的用法。若需要查找一個(gè)不知道其確切名稱的函數(shù)名時(shí),help命令就不能滿足,這時(shí)可用lookfor命令查找根據(jù)用戶提供的關(guān)鍵字搜索相關(guān)函數(shù)。,例如,輸入命令lookfor fourier fft - D
17、iscrete Fourier transform. fft2 - Two-dimensional discrete Fourier Transform. fftn - N-dimensional discrete Fourier Transform. ifft - Inverse discrete Fourier transform. ifft2 - Two-dimensional inverse discrete Fourier transform. ifftn - N-dimensional inverse discrete Fourier transform.,3其他幫助命令,1.5.
18、3.3 演示系統(tǒng) 在幫助窗口中選擇演示系統(tǒng)(Demos)選項(xiàng)卡,然后在其中選擇相應(yīng)的演示模塊,或者在命令窗口輸入“demos”,或者選擇主窗口“Help”菜單中的“Demos”子菜單,打開的演示系統(tǒng)如圖1.8所示。,1.6 MATLAB的變量和數(shù)據(jù)操作,1.6.1 變量與賦值 1變量命名 在MATLAB 7.X中,變量名是以字母開頭,后接字母、數(shù)字或下畫線的字符序列,最多63個(gè)字符。例如 x、x_1、xy12 在MATLAB中,變量名區(qū)分字母的大小寫。例如addr、Addr和ADDR表示3個(gè)不同的變量。,2賦值語句 MATLAB賦值語句有兩種格式: (1)變量=表達(dá)式; (2)表達(dá)式 在第1種
19、語句形式下,MATLAB將右邊表達(dá)式的值賦給左邊的變量,而在第2種語句形式下,將表達(dá)式的值賦給MATLAB的預(yù)定義變量ans。 在語句的最后加分號(hào),那么,MATLAB僅僅執(zhí)行賦值操作,不再顯示運(yùn)算的結(jié)果。 注釋以%開頭,【例如】當(dāng)x= 時(shí),計(jì)算表達(dá)式 的值,并將結(jié)果賦給變量y,然后顯示出結(jié)果。 在MATLAB命令窗口分別輸入命令: x=sqrt(1+pi); y=(exp(x)+log(abs(sin(x)2-sin(x*x)/(x-5*i) y = 0.5690 + 1.3980i 其中,pi和i都是MATLAB定義的變量,分別代表圓周率和虛數(shù)單位。,3預(yù)定義變量,1.6.2 變量的管理 1
20、內(nèi)存變量的顯示與刪除 顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。 who whos whos在給出駐留變量名的同時(shí),還給出它們的維數(shù)、所占字節(jié)數(shù)以及變量的類型。,刪除MATLAB工作空間中的變量,但預(yù)定義變量不能刪除。 clear MATLAB工作空間窗口專門用于內(nèi)存變量的管理。 變量編輯器,對(duì)于較大矩陣的輸入,可采用變量編輯器.具體操作方法如下: (一) 在命令窗口中向一個(gè)新變量賦空陣; (二)在工作空間瀏覽器中雙擊該變量,打開變量編輯器; (三)在變量編輯器的空白表格中填寫元素值,表格的每一個(gè)方格對(duì)應(yīng)矩陣的一個(gè)元素.,2內(nèi)存變量文件 利用MAT文件可以把當(dāng)前MATLAB工作空間中的
21、一些有用變量長久地保留下來。 MAT文件是MATLAB保存數(shù)據(jù)的一種標(biāo)準(zhǔn)格式二進(jìn)制文件,擴(kuò)展名一定是.mat。 MAT文件的生成和裝入由save和load命令來完成 save文件名 變量名表 -append-ascii load文件名 變量名表 -ascii,例如: 假定變量a和b存在于MATLAB工作空間中,輸入以下命令便可將a和b保存于當(dāng)前目錄的mydata.mat文件中: save mydata a b 把mydata.mat中的內(nèi)容裝入MATLAB工作空間: load mydata,1.6.3 數(shù)據(jù)的輸出格式 用“format”命令設(shè)置數(shù)據(jù)輸出格式 format 格式符 “format
22、”命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計(jì)算和存儲(chǔ)。,例如輸入為 x=4/3 1.2345e-6 在各種不同的格式符下的輸出為 短格式(short):1.3333 0.0000 短格式e方式(short e):1.333e+00 1.2345e-06 長格式(long):1.33333333333333 0.00000123450000 長格式e方式(long e):1.33333333333333e+000 1.23450000000000e-006 銀行格式(bank):1.33 0.00 十六進(jìn)制格式(hex):3ff5555555555555 3eb4b6231abfd271 +格式(
23、+):+,1.7 MATLAB矩陣及其基本運(yùn)算,1.7.1 矩陣的生成 在MATLAB中,生成矩陣時(shí)無須對(duì)矩陣的維數(shù)和類型進(jìn)行說明,MATLAB會(huì)根據(jù)用戶所輸入的內(nèi)容自動(dòng)進(jìn)行配置。 1直接輸入法 將矩陣的所有元素用方括號(hào)括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。例如,輸入命令:,A=1 2 3;4 5 6;7 8 9; A=1 2 3;4 5 6;7 8 9 A= 1 2 3 4 5 6 7 8 9 在輸入矩陣的元素時(shí),也可以分成幾行輸入,用回車鍵代替分號(hào),即 A=1 2 3 4 5 6 7 8 9,矩陣元素也可以是表達(dá)式,MATLAB將
24、自動(dòng)計(jì)算結(jié)果。例如: B=10,5-sqrt(7),sin(pi/2);7,4*8,abs(-7) B = 10.0000 2.3542 1.0000 7.0000 32.0000 7.0000,在MATLAB中,矩陣元素可以是復(fù)數(shù)。例如,建立復(fù)數(shù)矩陣: B=1,2+7i,5*sqrt(2)*i;3,2/5,3.5+6i B = 1.0000 2.0000 + 7.0000i 0 + 7.0711i 3.0000 0.4000 3.5000 + 6.0000i 也可以分別建立實(shí)部矩陣和虛部矩陣,再合起來構(gòu)成復(fù)數(shù)矩陣。例如: R=1,2,3;4,5,6; I=1.1,2.2,3.3;4.4,5.
25、5,6.6; ri=R+i*I,2利用M文件建立矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件 【例如】利用M文件建立mydata矩陣。 (1)啟動(dòng)有關(guān)文本編輯程序或MATLAB的M-file編輯器,并輸入待建矩陣: mydata=1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9; 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9; 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9;,(2)把輸入的內(nèi)容存盤(設(shè)文件名為matfund.m)。 (3)在MATLAB命令窗口中輸入matfund,即運(yùn)行該M文件,就會(huì)自動(dòng)
26、建立一個(gè)名為mydata的矩陣,可供以后使用。,3利用數(shù)據(jù)文件建立指定矩陣 用戶能夠通過load命令,將外部數(shù)據(jù)文件中的內(nèi)容調(diào)入到工作空間中創(chuàng)建矩陣,外部文件的擴(kuò)展名為.dat。 例如,利用文本編輯器創(chuàng)建一個(gè)數(shù)據(jù)文件test.dat,包含下列數(shù)據(jù): 2 4 6 8 6 3 5 6 7 3 2 5 1 2 5 在命令窗口輸入: load test.dat test 運(yùn)行結(jié)果為test = 2 4 6 8 6 3 5 6 7 3 2 5 1 2 5,4利用已建好的矩陣建立更大的矩陣 大矩陣可由已建好的小矩陣拼接而成。例如: A=1,2,3;4,5,6;7,8,9; B=11:13;14:16;17
27、:19; C=A,B;B,A C = 1 2 3 11 12 13 4 5 6 14 15 16 7 8 9 17 18 19 11 12 13 1 2 3 14 15 16 4 5 6 17 18 19 7 8 9,1.7.2 冒號(hào)表達(dá)式 在MATLAB中利用冒號(hào)可以產(chǎn)生行向量。冒號(hào)表達(dá)式的一般格式為 a:b:c 其中,a為初始值,b為步長,c為終止值(ca)。冒號(hào)表達(dá)式可產(chǎn)生一個(gè)由a開始到c結(jié)束,以步長b自增的行向量。例如: t=0:2:10 t = 0 2 4 6 8 10,在MATLAB中,還可以用linspace函數(shù)產(chǎn)生行向量。其調(diào)用格式為 linspace(a,b,n) 其中a和b
28、是生成向量的第1個(gè)和最后一個(gè)元素,n是元素總數(shù)。 當(dāng)n省略時(shí),自動(dòng)產(chǎn)生100個(gè)元素。顯然,linspace(a,b,n)與a:(ba)/(n1):b等價(jià)。例如: x=linspace(0,10,6) x = 0 2 4 6 8 10,1.7.3 矩陣的拆分 1矩陣元素 對(duì)矩陣的單個(gè)元素進(jìn)行賦值操作。例如,如果想將矩陣A的第2行第3列的元素賦為76,則可以通過下面語句來完成: A(2,3)=76 這時(shí)將只改變?cè)撛氐闹担挥绊懫渌氐闹怠?如果給出的行下標(biāo)或列下標(biāo)大于原來矩陣的行數(shù)和列數(shù),則MATLAB將自動(dòng)擴(kuò)展原來的矩陣,并將擴(kuò)展后未賦值的矩陣元素置為零。,例如: A=1,2,3;4,5,
29、6; A(4,6)=100 A = 1 2 3 0 0 0 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100,在MATLAB中,也可以采用矩陣元素的序號(hào)來引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。矩陣元素按列編號(hào),先第1列,再第2列,依次類推。例如: A=10,20,30;40,50,60; A(3) ans = 20,序號(hào)(Index)與下標(biāo)(Subscript)是一一對(duì)應(yīng)的,以mn矩陣A為例,矩陣元素A(i, j)的序號(hào)為(j1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。 例如:sub2ind(size(A),1,3
30、) ans = 5 size(A)函數(shù)返回包含兩個(gè)元素的向量,分別是矩陣A的行數(shù)和列數(shù) ,即A是2行3列的矩陣,其中第1行第3列元素的序號(hào)為5。,I,j=ind2sub(size(A),5) I = 1 j = 3 length(A):給出行數(shù)和列數(shù)中的較大者,即length(A)max(size(A) Ndims(A):給出A的維數(shù),Reshape(A,m,n):在矩陣總元素保持不變的前提下,將矩陣 A重新排成mn的二維矩陣。 例如: X=linspace(0,11,12)*pi; %產(chǎn)生有12個(gè)元素的行向量x Y=reshape(X,3,4) %利用向量x建立34矩陣y Y = 0 9.4
31、248 18.8496 28.2743 3.1416 12.5664 21.9911 31.4159 6.2832 15.7080 25.1327 34.5575,2.矩陣的拆分,(1)利用冒號(hào)表達(dá)式獲得子矩陣 A(m,n)表示取A矩陣第m行、第n列的元素,A(m,:)表示取A矩陣第m行的全部元素,A(:,n)表示取A矩陣的第n列全部元素。 例如 A=1:2:5; B=A;2*A,3*A B = 1 3 5 2 6 10 3 9 15,B(2,:) ans = 2 6 10 B(:,3) ans = 5 10 15, A(m1:m2,:)表示取A矩陣第m1m2行的全部元素,A(:,n1:n2)
32、表示取A矩陣第n1n2列的全部元素,A(m1:m2,n1:n2)表示取A矩陣第m1m2行內(nèi),并在第n1n2列中的所有元素。例如: A=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20 A = 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20,A(2:3,4:5) ans = 9 10 14 15 A(2:3,1:2:5) ans = 6 8 10 11 13 15, A(:)將矩陣A每一列元素堆疊起來,成為一個(gè)列向量,這也是MATLAB變量的內(nèi)部存儲(chǔ)方式。例如: A=-45 65 71;27
33、 35 91 A = -45 65 71 27 35 91 B=A(:) B = -45 27 65 35 71 91,利用一般向量和end運(yùn)算符來表示矩陣下標(biāo),從而獲得子矩陣。End表示某一維的末尾元素下標(biāo)。例如: A=1 2 3 4 5;6 7 8 9 10;11 12 13 14 15;16 17 18 19 20; A(end,:) %取A最后一行元素 ans = 16 17 18 19 20 A(1,4,3:end) %取A第1,4兩行中第3列到最后一列的元素 ans = 3 4 5 18 19 20,(2)利用空矩陣刪除矩陣的元素 在MATLAB中,空矩陣是指無任何元素的矩陣,表示
34、形式為。給變量x賦空矩陣的語句為 x= 將某些元素從矩陣中刪除,采用將其置為空矩陣的方法就是一種有效的方法。例如: A=1 2 3 4 5 6;7 8 9 10 11 12;13 14 15 16 17 18; A(:,2 4)= A = 1 3 5 6 7 9 11 12 13 15 17 18 其中第2條命令將刪除A的第2列和第4列元素。,1.7.4 算術(shù)運(yùn)算 1基本算術(shù)運(yùn)算 MATLAB的基本算術(shù)運(yùn)算有:+(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。 (1)矩陣加減運(yùn)算 運(yùn)算規(guī)則是:若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。如果A與B的維
35、數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。,一個(gè)標(biāo)量也可以和其他不同維數(shù)的矩陣進(jìn)行加減運(yùn)算。例如: x=2,-1,0;3,2,-4; y=x-1 y = 1 -2 -1 2 1 -5 y=y+x y = 3 -3 -1 5 3 -9,(2)矩陣乘法 矩陣A和B進(jìn)行乘法運(yùn)算,要求A的列數(shù)與B的行數(shù)相等,或稱A和B兩矩陣維數(shù)相容。如果兩者的維數(shù)不相容,則將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣是不可乘的。例如: A=1,2,3;4,5,6; B=A*A ? Error using = mtimes Inner matrix dimensions must agree. 在MAT
36、LAB中,還可以進(jìn)行矩陣和標(biāo)量相乘,標(biāo)量可以是乘數(shù)也可以是被乘數(shù)。矩陣和標(biāo)量相乘是矩陣中的每個(gè)元素與此標(biāo)量相乘。,(3)矩陣除法 在MATLAB中,有兩種矩陣除法運(yùn)算:和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運(yùn)算可以實(shí)現(xiàn)。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。,例如: a=1 2 3;4 2 6;7 4 9; b=4 3 2;7 5 1;12 7 92; c1=ba c1 = 6.0755 -3.3396 2.6038 -7.6792 5.0566 -2.4340 -0.1321 0.0943 -
37、0.0566 c2=b/a c2 = -0.1667 -3.3333 2.5000 -0.8333 -7.6667 5.5000 12.8333 63.6667 -36.5000,(4)矩陣的乘方 一個(gè)矩陣的乘方運(yùn)算可以表示成Ax,要求A為方陣,x為標(biāo)量。例如: A=1 2 3;4 5 6;7 8 0; A2 ans = 30 36 15 66 81 42 39 54 69,2點(diǎn)運(yùn)算 兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維參數(shù)相同。點(diǎn)運(yùn)算符有.*、./、.和.。例如: A=1,2,3;4,5,6;7,8,9; B=-1,0,1;1,-1,0;0,1,1; C=A.*B
38、C = -1 0 3 4 -5 0 0 8 9,如果A、B兩矩陣具有相同的維數(shù),則A./B表示A矩陣除以B矩陣的對(duì)應(yīng)元素。B.A等價(jià)于A./B。 x=1 2 3;4 5 6; y=-2 1 3;-1 1 4; z1=x./y z1 = -0.5000 2.0000 1.0000 -4.0000 5.0000 1.5000 z2=y.x z2 = -0.5000 2.0000 1.0000 -4.0000 5.0000 1.5000,若兩個(gè)矩陣的維數(shù)一致,則A.B表示兩矩陣對(duì)應(yīng)元素進(jìn)行乘方運(yùn)算。例如: x=1 2 3; y=4 5 6; z=x.y z = 1 32 729,指數(shù)也可以是標(biāo)量。例
39、如: x=1 2 3;4 5 6; z=x.2 z = 1 4 9 16 25 36,底也可以是標(biāo)量。例如 x=1 2 3; y=4 5 6; z1=2.x,y z1 = 2 4 8 16 32 64 z2=2.x;y z2 = 2 4 8 16 32 64,3MATLAB常用數(shù)學(xué)函數(shù),(1)函數(shù)的自變量規(guī)定為矩陣變量,運(yùn)算法則是將函數(shù)逐項(xiàng)作用于矩陣的元素上,因而運(yùn)算的結(jié)果是一個(gè)與自變量同維數(shù)的矩陣。例如: y=sin(0:pi/2:2*pi) y = 0 1.0000 0.0000 -1.0000 -0.0000 y=abs(y) y = 0 1.0000 0.0000 1.0000 0.0
40、000,(2)abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。 x=-3.14,3+4i; abs(x) ans = 3.1400 5.0000,(3)用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。例如: x=fix(13.37),floor(13.37),ceil(13.37),round(13.37) x = 13 13 14 13 x=fix(-13.67),floor(-13.67),ceil(-13.67),round(-13.67) x = -13 -14 -13 -14,(4)rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,
41、y)要求x,y必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。當(dāng)y0時(shí),rem(x, y)=xy.*fix(x./y),而mod(x,y)=x y.*floor(x./y),當(dāng)y=0時(shí),rem(x, 0)=NaN,而mod(x,0)=x。顯然,當(dāng)x,y同號(hào)時(shí),rem(x,y)與mod(x,y)相等。rem(x,y)的符號(hào)與x相同,而mod(x, y)的符號(hào)與y相同。,例如: x=5; y=3; rem(x,y),mod(x,y) ans = 2 2 x=-5; y=3; rem(x,y),mod(x,y) ans = -2 1,1.7.5 關(guān)系運(yùn)算 MATLAB提供了6種關(guān)系運(yùn)算符:(大于)、=(大于或等于)、=(等于)、=(不等于)。 (1)當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。例如: A=5 A = 5 A=A=10 A = 0,(2)當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較是對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素的比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。,例如: A=1 2 3;4 5 6; B=3 1 4;5 2 10; AB ans = 0 1 0 0 1 0 C=A=B C = 1 1
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026福建水投集團(tuán)漳州區(qū)域水務(wù)公司第一批招聘23人參考考試題庫附答案解析
- 2026年度濟(jì)寧市兗州區(qū)事業(yè)單位公開招聘初級(jí)綜合類崗位人員備考考試試題附答案解析
- 2026廣東中山市東鳳鎮(zhèn)佛奧幼兒園教職工招聘2人備考考試題庫附答案解析
- 2026黑龍江黑河市康寧醫(yī)院(黑河市精神病人福利院)招聘5人備考考試試題附答案解析
- 種植業(yè)自律生產(chǎn)制度
- 安全生產(chǎn)雙隨機(jī)檢查制度
- 紙板生產(chǎn)線安全制度
- 生產(chǎn)數(shù)據(jù)立體化管理制度
- 酒類生產(chǎn)如何管理制度
- 安全生產(chǎn)責(zé)任制抽查制度
- 話語體系構(gòu)建的文化自信與敘事創(chuàng)新課題申報(bào)書
- 2026年春蘇教版新教材小學(xué)科學(xué)二年級(jí)下冊(cè)(全冊(cè))教學(xué)設(shè)計(jì)(附教材目錄P97)
- 2026年基因測(cè)序技術(shù)臨床應(yīng)用報(bào)告及未來五至十年生物科技報(bào)告
- 服裝銷售年底總結(jié)
- 文物安全保護(hù)責(zé)任書范本
- 廣東省惠州市某中學(xué)2025-2026學(xué)年七年級(jí)歷史上學(xué)期期中考試題(含答案)
- 2025公文寫作考試真題及答案
- 停電施工方案優(yōu)化(3篇)
- DB64∕T 1279-2025 鹽堿地綜合改良技術(shù)規(guī)程
- 2025年度耳鼻喉科工作總結(jié)及2026年工作計(jì)劃
- 2024年執(zhí)業(yè)藥師《藥學(xué)專業(yè)知識(shí)(一)》試題及答案
評(píng)論
0/150
提交評(píng)論