![第2章01觀測數(shù)據(jù)的分析與處理09-1_第1頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/8d459cc0-a0f6-4ceb-8c57-600225ecf606/8d459cc0-a0f6-4ceb-8c57-600225ecf6061.gif)
![第2章01觀測數(shù)據(jù)的分析與處理09-1_第2頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/8d459cc0-a0f6-4ceb-8c57-600225ecf606/8d459cc0-a0f6-4ceb-8c57-600225ecf6062.gif)
![第2章01觀測數(shù)據(jù)的分析與處理09-1_第3頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/8d459cc0-a0f6-4ceb-8c57-600225ecf606/8d459cc0-a0f6-4ceb-8c57-600225ecf6063.gif)
![第2章01觀測數(shù)據(jù)的分析與處理09-1_第4頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/8d459cc0-a0f6-4ceb-8c57-600225ecf606/8d459cc0-a0f6-4ceb-8c57-600225ecf6064.gif)
![第2章01觀測數(shù)據(jù)的分析與處理09-1_第5頁](http://file3.renrendoc.com/fileroot_temp3/2021-12/11/8d459cc0-a0f6-4ceb-8c57-600225ecf606/8d459cc0-a0f6-4ceb-8c57-600225ecf6065.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第二章第二章 觀測數(shù)據(jù)的分析與處理觀測數(shù)據(jù)的分析與處理21 MATLAB語言語言 22 回歸分析回歸分析 2.1MATLAB語言語言 2.1.1 MATLABMATLAB語言簡介語言簡介 2.1.2 MATLABMATLAB基本操作命令基本操作命令 2.1.3 控制流語句控制流語句 2.1.4 繪圖功能繪圖功能2.1.5 M文件文件 2.1.1 MATLAB2.1.1 MATLAB語言簡介語言簡介 在1980年前后,美國的cleve Moler博士在New Mexico大學(xué)講授線性代數(shù)課程時(shí),發(fā)現(xiàn)應(yīng)用其它高級(jí)語言編程極 為 不 便 , 便 構(gòu) 思 并 開 發(fā) 了 M A T L A B ( M
2、 A T r i x LABoratory,即矩陣實(shí)驗(yàn)室),它是集命令翻譯、科學(xué)計(jì)算于一身的一套交互式軟件系統(tǒng)。1984年推出了該軟件的正式版本。在MATLAB下,矩陣的運(yùn)算變得異常的容易,后來的版本中又增添了豐富多彩的圖形圖像處理及多媒體功能,使得MATLAB的應(yīng)用范圍越來越廣泛,Moler博士等一批數(shù)學(xué)家與軟件專家組建了一個(gè)名為MathWorks的軟件開發(fā)公司,專門擴(kuò)展并改進(jìn)MATLAB,并于1999年推出了5.3版本,該版本的功能已經(jīng)非常強(qiáng)大,現(xiàn)在還有人使用。目前最高版本為R2015a R2015a ( (版本版本 8.5) (https:/ (https:/ (2015年3月)。 MA
3、TLAB是一種高性能數(shù)值計(jì)算語言。它有計(jì)算、可視化和程序設(shè)計(jì)三大功能,使用時(shí),用戶可以用自己熟悉的數(shù)學(xué)符號(hào)來表達(dá)要求解的問題及其答案。 目前的MATLAB 已經(jīng)成為國際上最為流行的軟件之一。在大學(xué)中,它已成為數(shù)學(xué)、工學(xué)和理學(xué)等專業(yè)各類課程的標(biāo)準(zhǔn)教學(xué)工具。在工業(yè)領(lǐng)域,它是高效率地進(jìn)行科研、開發(fā)和分析的首選工具。它除了傳統(tǒng)的交互式編程之外,還提供了豐富可靠的矩陣運(yùn)算、圖形繪制、數(shù)據(jù)處理、圖像處理、方便的windows編程等便利工具,出現(xiàn)了各種以MATLAB為基礎(chǔ)的實(shí)用工具箱(包含有許多MATLAB函數(shù),利用這些函數(shù)能對(duì)某專門領(lǐng)域的各類問題進(jìn)行求解。),這些工具箱涉及自動(dòng)控制、圖像信號(hào)處理、神經(jīng)網(wǎng)絡(luò)
4、、模糊邏輯、小波分析、仿真、數(shù)理統(tǒng)計(jì)、工藝計(jì)算和優(yōu)化設(shè)計(jì)等領(lǐng)域。總之,MATLAB具有一般高級(jí)語言難以比擬的優(yōu)勢。 2.1.2 MATLAB2.1.2 MATLAB基本操作命令基本操作命令 MATLAB語言可以認(rèn)為是一種解釋性語言,用戶可以在MATLAB的命令(行)窗口(窗口標(biāo)題為”MATLAB Command Windows”)中鍵入一個(gè)命令或一個(gè)用MATLAB語言編寫的可執(zhí)行文件(M文件,MATLAB應(yīng)用程序)名,這樣MATLAB軟件對(duì)此命令或程序中的各條語句進(jìn)行翻譯,然后在MATLAB環(huán)境中對(duì)它進(jìn)行處理,最后返回運(yùn)算結(jié)果。 MATLAB語言由早期專門用于矩陣運(yùn)算的計(jì)算機(jī)語言發(fā)展而來,這正
5、如其名稱-“矩陣實(shí)驗(yàn)室”(Matrix,Laboratory)的含義一樣。它最基本、也是最重要的功能就是“進(jìn)行實(shí)數(shù)矩陣或復(fù)數(shù)矩陣運(yùn)算”。因向量可作為矩陣的一列或一行,標(biāo)量(一個(gè)數(shù))有時(shí)則作為只含一個(gè)元素的矩陣,故向量和標(biāo)量都可以作為特殊矩陣來處理。MATLAB的操作和命令對(duì)于矩陣來說,并不完全等同于我們平時(shí)使用的形式,而是有著它自己的規(guī)定。 MATLAB除了矩陣運(yùn)算(Matrix Operations)之外,還另外一種重要的運(yùn)算功能,即所謂的數(shù)組運(yùn)算(Array Operations)。在非正式場合,數(shù)組和矩陣這兩個(gè)術(shù)語可以互換使用。更精確地講,矩陣是表示線性變換的二維數(shù)值數(shù)組。以矩陣為對(duì)象定
6、義的數(shù)學(xué)操作就構(gòu)成了線性代數(shù)學(xué)科。離開線性代數(shù)領(lǐng)域,矩陣就變成了二維數(shù)組。對(duì)數(shù)組的任何算術(shù)運(yùn)算是元素對(duì)元素的運(yùn)算(Arithmetic operations on arrays are done element-by-element)。 基本知識(shí)基本知識(shí) 矩陣運(yùn)算矩陣運(yùn)算 向量和矩陣的操作向量和矩陣的操作 數(shù)組運(yùn)算數(shù)組運(yùn)算 基本知識(shí)基本知識(shí)1) 簡單矩陣的輸入 2) 矩陣元素 3) 復(fù)數(shù)和復(fù)數(shù)矩陣 4) MATLAB語句和變量 5) 固定變
7、量 6) 獲取MATLAB的工作空間信息 7) 數(shù)據(jù)的存儲(chǔ)和調(diào)用(保存和加載工作空間) 8) 算術(shù)運(yùn)算符 9) 數(shù)據(jù)顯示格式 10) 函數(shù)11) 幫助命令 簡單矩陣的輸入簡單矩陣的輸入 直接輸入矩陣的元素; 利用內(nèi)部語句或函數(shù)產(chǎn)生矩陣; 利用M文件產(chǎn)生矩陣; 利用外部數(shù)據(jù)文件裝入到指定矩陣。直接輸入矩陣元素直接輸入矩陣元素 MATLAB語言對(duì)矩陣的維數(shù)及類型沒有限制,即用戶無需定義變量的類型和維數(shù),MATLAB會(huì)自動(dòng)獲取所需的存儲(chǔ)空間。 輸入矩陣最便捷的方式為直接輸入矩陣的元素,其約定如下: I 元素之間用空格或逗號(hào)間隔; II 用中括號(hào)()把所有元素括起來; III 用分號(hào)(;)指定行結(jié)束(
8、即行與行之間用分號(hào)隔開)。 例如,在MATLAB的工作空間中,輸入:a1 2 3; 4 5 6; 7 8 9則其輸出結(jié)果為: a 1 2 3 4 5 6 7 8 9矩陣A一直保存在工作空間中,以供后面使用,直至修改它。 大矩陣可以分成幾行進(jìn)行輸入,用回車符代替分號(hào)。例如輸入上述矩陣a: a 1 2 3 4 5 67 7 8 9 利用內(nèi)部語句或函數(shù)產(chǎn)生矩陣?yán)脙?nèi)部語句或函數(shù)產(chǎn)生矩陣 利用內(nèi)部語句和函數(shù)可以快速產(chǎn)生矩陣,可獲得一些特別有用的矩陣,如全零陣、單位陣、隨機(jī)陣等。zerosAll zeros(元素全為0)onesAll ones(元素全為1)randUniformly distribut
9、ed random elements(元素為服從均勻分布的隨機(jī)數(shù))randn Normally distributed random elements(元素為服從正態(tài)分布的隨機(jī)數(shù))利用利用M M文件產(chǎn)生矩陣文件產(chǎn)生矩陣 可以由M文件(以.m為后綴的磁盤文件)產(chǎn)生矩陣,例如假設(shè)genam存放在MATLAB能搜索到的一個(gè)子目錄下,其文件的內(nèi)容為: a1 2 3 4 5 6 7 8 9 則在MATLAB命令窗口中輸入gena也可產(chǎn)生矩陣a。 利用外部數(shù)據(jù)文件裝入到指定矩陣?yán)猛獠繑?shù)據(jù)文件裝入到指定矩陣 利用load命令或fread命令可以讀取MATLAB在早期會(huì)話中所產(chǎn)生的矩陣(二進(jìn)制文件,擴(kuò)展名通
10、常為“.mat”),也可讀取由其它應(yīng)用程序產(chǎn)生的數(shù)據(jù)(文本文件,文件的內(nèi)容為一矩形數(shù)值表,其中的每一行代表矩陣的一行,各個(gè)數(shù)值用空格隔開)。例如,先創(chuàng)建一個(gè)四行文本文件: 16.0 3.0 2.0 13.0 5.0 10.0 11.0 8.0 9.0 6.0 7.0 12.0 4.0 15.0 14.0 1.0用“magik.dat”為文件名把這個(gè)文件存放到一MATLAB能搜索到的目錄下。然后鍵入如下命令:load magik.datMATLAB將讀取這個(gè)文件并創(chuàng)建一個(gè)含有上述矩陣的變量“magik”。 矩陣元素矩陣元素 在MATLAB中,矩陣元素可以采用任意形式的表達(dá)式,例如: x-13 s
11、qrt(3) (1十2十3)* 45其結(jié)果為: x13000 17321 48000 可以由小矩陣構(gòu)成大矩陣可以由小矩陣構(gòu)成大矩陣,如: r 10 11 12 a aaa; rr其結(jié)果為: a= 1 2 3 4 5 6 7 8 9 10 11 12也可以從大矩陣中抽取一小矩陣也可以從大矩陣中抽取一小矩陣,例如: b ba(1a(1:3 3, :) )則結(jié)果為: b 1 2 3 4 5 6 7 8 9命令中第命令中第2 2個(gè)冒號(hào)個(gè)冒號(hào)(:)(:)表示所有的列表示所有的列,即從a中抽取l-3行的所有列,以構(gòu)成新的矩陣b。又如: ca(:,:, 1:2) 則其結(jié)果為: c l 2 4 5 7 8 1
12、0 11命令中的第1個(gè)冒號(hào)(:)表示所有的行。 在在MATLABMATLAB中中”:”一個(gè)重要的字符,如一個(gè)重要的字符,如x x1 1:4 4即產(chǎn)生即產(chǎn)生一個(gè)一個(gè)l-4l-4單位增量的單位增量的行向量行向量x1 2 3 4 也可以產(chǎn)生單位增量小于也可以產(chǎn)生單位增量小于1 1的的行向量行向量,方法是把增量放,方法是把增量放在起始和結(jié)尾量的中間,并用冒號(hào)分割開來。在起始和結(jié)尾量的中間,并用冒號(hào)分割開來。如: y y0 0:pipi4 4:pipi即產(chǎn)生一個(gè)從0到的行向量,單位增量是407854,所以得 y0 0.7854 1570 8 23562 314l 6 也可以產(chǎn)生單位增量為負(fù)數(shù)的行向量,如
13、:z7:-1:2,即得 z7 6 5 4 3 2 冒號(hào)用于產(chǎn)生數(shù)列冒號(hào)用于產(chǎn)生數(shù)列虛數(shù)以i或j為后綴,5i,3.14j,3+4i,a+bj 復(fù)數(shù)和復(fù)數(shù)矩陣復(fù)數(shù)和復(fù)數(shù)矩陣變量的命名變量的命名 和其它任意一種計(jì)算機(jī)高級(jí)語言一樣,MATLAB語言的命名有一套規(guī)則,如表2-3所示。 表2-3 MATIAB語言中變量的命名規(guī)則 MATLAB語句與變量語句與變量命名規(guī)則注釋變量名對(duì)大小寫敏感Fruit,fruit,FrUit是不同的變量每個(gè)變量名最多可以包含19個(gè)字符 變量名的首字符必須是字母標(biāo)點(diǎn)符號(hào)不能出現(xiàn)在變量名中常用格式常用格式:變量=表達(dá)式;返回結(jié)果:變量=結(jié)果例如:輸入a=4/2a=2.0000
14、輸入4/2ans=2.0000ans:答案eps:浮點(diǎn)計(jì)算相對(duì)精度,2e-52pi:圓周率inf:無窮大或無窮小NaN:非數(shù)值(Not_a_number) 固定變量固定變量工作空間(Workspace)是可以通過命令行窗口進(jìn)行存取的內(nèi)存區(qū)域(The workspace is the area of memory accessible from the MATLAB command line.),在其中包含了一組可以在命令窗口中進(jìn)行調(diào)整的參數(shù)(或變量),可以用who或whos命令進(jìn)行查看,可以用clear命令進(jìn)行刪除,也可用工作空間瀏覽器對(duì)工作空間中的變量進(jìn)行瀏覽、調(diào)整和刪除等操作。內(nèi)存瀏覽器(
15、工作空間瀏覽器)MATLAB有一個(gè)專門用于MATLAB內(nèi)存變量操作的圖形用戶界面,即內(nèi)存變量瀏覽器(Workspace Browser)。 獲取獲取MATLAB的工作空間信息的工作空間信息內(nèi)存(工作空間)瀏覽器工作的作用內(nèi)存(工作空間)瀏覽器工作的作用 顯示內(nèi)存中所有變量的屬性; 當(dāng)用鼠標(biāo)“點(diǎn)亮”對(duì)話框中某變量后,若再點(diǎn)動(dòng)Delete鍵,則該變量將被清除; 當(dāng)用鼠標(biāo)“點(diǎn)亮”對(duì)話框中某變量(如X)后,若再點(diǎn)動(dòng)Open鍵,將出現(xiàn)編輯器;內(nèi)存變量編輯器的作用內(nèi)存變量編輯器的作用 直接觀察變量中的具體元素 ; 修改變量中的某元素。操作方法是:用鼠標(biāo)“點(diǎn)動(dòng)”待修改的元素,使該元素的方框變黑,就可進(jìn)行修改
16、 ; 輸入較大的數(shù)組 ;利用內(nèi)存變量編輯器輸入較大數(shù)組利用內(nèi)存變量編輯器輸入較大數(shù)組 在指令窗里,向一個(gè)新變量賦“空”陣 ; 在內(nèi)存瀏覽器中,雙擊該變量,打開變量編輯器 ; 在變量編輯器左下方的2個(gè)填充欄中填寫待建矩陣的“行數(shù)”和“列數(shù)”,于是在編輯窗中就出現(xiàn)空白表格。表格的每個(gè)方格對(duì)應(yīng)矩陣的一個(gè)元素。在方格中填寫元素值 ;數(shù)據(jù)的存取與調(diào)用(保存和加載工作空間)數(shù)據(jù)的存取與調(diào)用(保存和加載工作空間) 在MATLAB的工作空間中可以方便地將數(shù)據(jù)存成文件,也可以隨時(shí)調(diào)用數(shù)據(jù)文件。選擇工作空間中File菜單項(xiàng)的子菜單項(xiàng)Save Workspace as. 同樣,選擇工作空間中File菜單項(xiàng)的Impo
17、rt Data子菜單項(xiàng),可以方便地調(diào)用存儲(chǔ)的數(shù)據(jù)文件。 數(shù)據(jù)的存儲(chǔ)和調(diào)用,除了菜單操作之外,還可以直接在工作空間中輸入命令。鍵入命令save,則將工作空間中所有變量存入到磁盤上的MATLAB的工作空間文件(擴(kuò)展名為.mat)中,當(dāng)MATLAB再被運(yùn)行時(shí),鍵入命令load,則將這些變量從工作空間文件(例如MATLAB.mat文件)中調(diào)出并重新裝入到MATLAB的工作空間中去。 算術(shù)運(yùn)算符算術(shù)運(yùn)算符 矩陣運(yùn)算符; 數(shù)組運(yùn)算符;1當(dāng)前目錄窗口當(dāng)前目錄是指MATLAB運(yùn)行文件時(shí)的工作目錄,只有在當(dāng)前目錄或搜索路徑下的文件、函數(shù)可以被運(yùn)行或調(diào)用。在當(dāng)前目錄窗口中可以顯示或改變當(dāng)前目錄,還可以顯示當(dāng)前目錄
18、下的文件并提供搜索功能。將用戶目錄設(shè)置成當(dāng)前目錄也可使用cd命令。例如,將用戶目錄c:mydir設(shè)置為當(dāng)前目錄,可在命令窗口輸入命令:cd c:mydir當(dāng)前目錄窗口和搜索路徑 2MATLAB的搜索路徑當(dāng)用戶在MATLAB命令窗口輸入一條命令后,MATLAB按照一定次序?qū)ふ蚁嚓P(guān)的文件。基本的搜索過程是:(1) 檢查該命令是不是一個(gè)變量。(2) 檢查該命令是不是一個(gè)內(nèi)部函數(shù)。(3) 檢查該命令是否當(dāng)前目錄下的M文件。(4) 檢查該命令是否MATLAB搜索路徑中其他目錄下的M文件。 用戶可以將自己的工作目錄列入MATLAB搜索路徑,從而將用戶目錄納入MATLAB系統(tǒng)統(tǒng)一管理。設(shè)置搜索路徑的方法有:
19、 (1) 用path命令設(shè)置搜索路徑。例如,將用戶目錄c:mydir加到搜索路徑下,可在命令窗口輸入命令:path(path,c:mydir) (2) 用對(duì)話框設(shè)置搜索路徑 在MATLAB的File菜單中選Set Path命令或在命令窗口執(zhí)行pathtool命令,將出現(xiàn)搜索路徑設(shè)置對(duì)話框。通過Add Folder或Add with Subfolder命令按鈕將指定路徑添加到搜索路徑列表中。在修改完搜索路徑后,則需要保存搜索路徑。矩陣運(yùn)算符矩陣運(yùn)算符 +,-,*,/(右除法)(左除法)(乘方) 數(shù)組運(yùn)算符數(shù)組運(yùn)算符 + 加(Addition)- 減(Subtraction).* 乘(Elemen
20、t-by-element multiplication)./ 除(Element-by-element division). 左除(Element-by-element left division). 乘方(Element-by-element power). 非共軛轉(zhuǎn)罩(Unconjugated array transpose) 數(shù)據(jù)顯示格式數(shù)據(jù)顯示格式 任何MATLAB語句的執(zhí)行結(jié)果都可在屏幕上顯示,同時(shí)賦值給指定的變量,沒有指定變量時(shí)賦值給一個(gè)特殊的變量ans,數(shù)據(jù)顯示格式可由format命令來控制。format只影響結(jié)果的顯示,不影響其計(jì)算與存儲(chǔ)。MATLAB總是以雙精度執(zhí)行所有運(yùn)算。
21、如果矩陣元素是整數(shù),則矩陣顯示沒有小數(shù)。如: x-1 0 1,顯示結(jié)果為 x-1 0 1 。如果矩陣元素不是整數(shù),則輸出形式有: (1)缺省格式,又稱為短格式,只顯示包含4位小數(shù)的十進(jìn)制數(shù)。 (2)位數(shù)很多時(shí)使用科學(xué)表示法。 MATLAB命令數(shù)值范圍注釋format long35.833 333 333 333 34長格式format short e3.583 3e+01短格式e方式format long e35.833 333 333 333 34e+01長格式e方式format hex4041eaaaaaaaaaab16進(jìn)制格式format bank35.83銀行格式format +緊密格
22、式,用”+”、”-”或空格來示意地表示數(shù)字format rat215/6有理格式format short35.833 3短格式函數(shù)函數(shù) 分類:分類:(1) 內(nèi)部函數(shù):在系統(tǒng)內(nèi)核中; (2) 工具箱中的函數(shù):以M文件的形式存在,源代碼可見;(3) 用戶自己增加的函數(shù)。 幫助命令幫助命令 幫助命令(help); 查找命令(lookfor) ; doc命令 從菜單上獲取幫助 helphelp HELP On-line help, display text at command line. HELP, by itself, lists all primary help topics. Each pri
23、mary topic corresponds to a directory name on the MATLABPATH. HELP TOPIC gives help on the specified topic. The topic can be a command name, a directory name, or a MATLABPATH relative partial pathname (see HELP PARTIALPATH). If it is a command name, HELP displays information on that command. If it i
24、s a directory name, HELP displays the Table-Of-Contents for the specified directory. For example, help general and help matlab/general both list the Table-Of-Contents for the directory toolbox/matlab/general. HELP FUN displays the help for the function FUN. lookforlookfor 關(guān)鍵詞查詢命令 。LOOKFOR Search all
25、 M-files for keyword. LOOKFOR XYZ looks for the string XYZ in the first comment line (the H1 line) of the HELP text in all M-files found on MATLABPATH. For all files in which a match occurs, LOOKFOR displays the H1 line. docdoc DOC Display HTML documentation in the Help browser.DOC, by itself, displ
26、ays the start page for the online doc. DOC FUNCTION displays the HTML documentation for the MATLAB function FUNCTION. If FUNCTION is overloaded, doc lists the overloaded functions in the MATLAB command window. DOC TOOLBOX/FUNCTION displays the HTML documentation for the specified toolbox function.從菜
27、單上獲取幫助MATLAB還提供了Windows下的查詢方法,這和一般Windows程序的聯(lián)機(jī)幫助系統(tǒng)是統(tǒng)一的。 矩陣運(yùn)算矩陣運(yùn)算1) 轉(zhuǎn)置 2) 加減 3) 乘法 4) 除法 5) 矩陣的乘方 6) 矩陣的超越函數(shù) 轉(zhuǎn)置x=1 2 3y=xy=12 3加減兩矩陣的對(duì)應(yīng)元素相加減。乘法矩陣乘法用”*”表示,當(dāng)兩矩陣中前一矩陣的列數(shù)和后一矩陣的行數(shù)相同時(shí),可以進(jìn)行乘法運(yùn)算,這與數(shù)學(xué)上的形式是一致的,兩個(gè)相同維數(shù)向量的內(nèi)積(數(shù)學(xué)上稱為點(diǎn)積,標(biāo)量乘)也可以用這種乘法實(shí)現(xiàn)。例如:x-1 0 2,y-2 -1 1,則運(yùn)算x*y和y* x都將得到結(jié)果:ans4 除法在MATL
28、AB中用兩種矩陣除法符號(hào)”和”分別表示左除和右除。AB等效于A的逆左乘B矩陣,也就是inv(A)* B,而BA等效于A矩陣的逆右乘B矩陣。 通常xAB是A * xB的解,xAB是x*AB的解。一般情況下AB不等于 AB。 矩陣的乘方AP表示A的P次方。如果A是一個(gè)方陣,P是一個(gè)標(biāo)量,且P是大于1的整數(shù),則A的P次冪即為A自乘P次。如果P不是整數(shù),則計(jì)算涉及特征值和特征向量的問題。例如若 V,Deig(A),則APV*DPV 其中V和D分別為矩陣A的特征向量矩陣和特征值矩陣。如果如果P是矩陣而是矩陣而A是標(biāo)量,以及是標(biāo)量,以及A,P都是矩陣,則都是矩陣,則AP都是都是不成立的不成立的。 矩陣的超
29、越函數(shù)在MATLAB中exp,sqrt等命令也可作用到矩陣上,但這種運(yùn)算只是定義在矩陣的單個(gè)元素上,即分別對(duì)矩陣的每一個(gè)元素進(jìn)行計(jì)算。 超越數(shù)學(xué)函數(shù)可以在函數(shù)后加上m而成為矩陣的超越函數(shù),例如expm(A), sqrtm(A), logm(A)分別為矩陣指數(shù)、矩陣開方和矩陣對(duì)數(shù)。這種運(yùn)算用funm(A,exp)等也可以實(shí)現(xiàn),但它們所用的算法不同。矩陣的超越函數(shù)要求運(yùn)算矩陣必須為方陣。 向量和向量和矩陣的操作矩陣的操作1) 引用矩陣元素 2) 空矩陣 3) 刪除向量或矩陣中的元素 引用矩陣元素MATLAB的下標(biāo)具有很重要的功能,可以在對(duì)矩陣的行、列子矩陣處理時(shí)使用
30、,也可以用來產(chǎn)生向量。使用下標(biāo)和向量,會(huì)使運(yùn)算更為清晰和方便。單個(gè)的矩陣元素可在括號(hào)中用下標(biāo)來表達(dá)。例如,已知其中元素A(3,3)9,A(1,3)4,A(3,1)3等等。若用語句A(3,3)A(1,3)十A(3,1),利用原矩陣的元素產(chǎn)生新元素(即為A(3,1)十A(1,3)7)替代A矩陣中第三行第三列的元素A(3,3),則產(chǎn)生的新的A矩陣,其中A(3,3)=7. 下標(biāo)可以是一個(gè)向量,例如若x和v都是向量,則x(v)也是一個(gè)向量:x(v(1) x(v(2) x(v(n)。對(duì)于矩陣來說,向量下標(biāo)可以將矩陣中鄰近或不鄰近元素構(gòu)成一新的子矩陣;假設(shè)A是一個(gè)1010的矩陣,則A(1:5,3)指A中由前
31、5行對(duì)應(yīng)第三列元素組成的51子矩陣。又如A(1:5,7:10)是前5行對(duì)應(yīng)最后4列組成的54子矩陣。使用使用”:”代替下標(biāo),可以表示所有的行或列。代替下標(biāo),可以表示所有的行或列。如:A(:3)代表第三列元素組成的子矩陣,A (1:5,:)代表由前5行所有元素組成的子矩陣。 對(duì)于子矩陣的賦值語句,”:”有明顯的優(yōu)越性。如 A(A(:,:,33,5 5,10)10)B(B(:,:,1 1:3)3)表示將B矩陣的前三列,賦值給A矩陣的第三、第五和第十列。 通常如果v和w是具有整數(shù)性質(zhì)的向量,則A(v,w)通過取出行下標(biāo)v和列下標(biāo)w對(duì)應(yīng)的A的元素而形成新的矩陣。于是,A(A(:,:,1010:-1-1
32、:1)1)即為由原來A矩陣中取10至l負(fù)增長的列的元素組成一個(gè)新的矩陣,其行數(shù)仍為原來A矩陣的行數(shù),列數(shù)為10。 思考題思考題A(1,3,2,4)代表矩陣)代表矩陣A中那些元素?中那些元素?空矩陣語句X將一個(gè)00的矩陣賦給X,使用這個(gè)矩陣,不會(huì)引起出錯(cuò)情況。X與clear X不同,clear是將X清除出工作空間,而空矩陣則存在于工作空間,只是具有“空尺寸”而已,當(dāng)用size測試表明其為空矩陣時(shí),exist可以測出其確實(shí)存在。如果給出空矩陣,確定的矩陣函數(shù)如det(),cond(),prod(),sum()等會(huì)返回一個(gè)值。例如,當(dāng)給定空矩陣時(shí),prod()、det()、和sum()將分別返回1、
33、1和0。空矩陣在數(shù)學(xué)上講它本身是空的,我們不能對(duì)其進(jìn)行一般意義上的處理,但可以發(fā)現(xiàn)這個(gè)概念的確是很有用的。 刪除向量或矩陣中的元素從關(guān)系運(yùn)算中建立包含有等刪除元素下標(biāo)的子矩陣,假設(shè)A是一個(gè)mn矩陣,L是一個(gè)k維的向量,則A(L,:)=將把L中的元素視為A的行號(hào),并將A中的這些行刪除。例如:A = 1 2 3 4 5 6 7 8 9 L = 1 3 A(L,:)= A = 4 5 6 數(shù)組運(yùn)算數(shù)組運(yùn)算1) 乘、除和乘方 2) 邏輯運(yùn)算 3) 基本數(shù)學(xué)函數(shù) 數(shù)組運(yùn)算是元素對(duì)元素的運(yùn)算。數(shù)組元素的下標(biāo)編號(hào)或索引號(hào)從1開始,對(duì)多維數(shù)組元素的引用可以采用單下標(biāo)或全下標(biāo)。以
34、三維數(shù)組為例,其單下標(biāo)編號(hào)順序?yàn)橄攘?、后行、再?與第三維相對(duì)應(yīng))。例如對(duì)于一個(gè)維數(shù)為3x2x4 的三維數(shù)組A(1,2,2)和A(10)對(duì)應(yīng)同個(gè)數(shù)組元素。乘、除和乘方.*./.舉例(1)依次輸入如下指令:n = (0:9); pows = n n.2 2.n 則結(jié)果如下: pows = 0 0 1 1 1 2 2 4 4 3 9 8 4 16 16 5 25 32 6 36 64 7 49 128 8 64 256 9 81 512(2) 對(duì)數(shù)組進(jìn)行基本數(shù)學(xué)函數(shù)運(yùn)算也是元素對(duì)元素的運(yùn)算 依次輸入如下指令:format short gx = (1:0.1:2);logs = x log10(x)
35、其結(jié)果為: logs = 1.0 0 1.1 0.04139 1.2 0.07918 1.3 0.11394 1.4 0.14613 1.5 0.17609 1.6 0.20412 1.7 0.23045 1.8 0.25527 1.9 0.27875 2.0 0.30103 邏輯運(yùn)算any allfinda = 10 20 30 40 50 60 70 80 90 find(a50) ans = 3 6 8 9基本數(shù)學(xué)函數(shù) 函數(shù)名 功能 函數(shù)名 功能 sin正弦函數(shù) acoth 反雙曲余切函數(shù) sinh雙曲正弦函數(shù) exp 指數(shù)函數(shù) asin反正弦函數(shù) log 自然對(duì)數(shù)函數(shù) asinh反雙曲
36、正弦函數(shù) log10 常用(以10為底)對(duì)數(shù)函數(shù) cos余弦函數(shù)log2 以2為底對(duì)數(shù)函數(shù) cosh雙曲余弦函數(shù)ow2 以2為底的冪函數(shù) acos反余弦函數(shù)sqrt 平方根函數(shù) acosh反雙曲余弦函數(shù) nextpow2 求不小于變量的最小2指數(shù) tan正切函數(shù) abs 模函數(shù) tanh雙曲正切函數(shù) angle 相角函數(shù) atan反正切函數(shù) conj 復(fù)共軛函數(shù) atan2四象限反正切函數(shù) imag 復(fù)矩陣虛部函數(shù) atanh反雙曲正切函數(shù) real 復(fù)矩陣實(shí)部函數(shù) sec正割函數(shù) unwrap 打開相角函數(shù) sech雙曲正割函數(shù) isreal 實(shí)陣判斷函數(shù) asec反正割函數(shù) cplxpai
37、r 調(diào)整數(shù)為共軛對(duì) asech反雙曲正割函數(shù) fix 朝零方向舍入函數(shù) csc余割函數(shù) floor 朝負(fù)方向舍入函數(shù) csch雙曲余割函數(shù) ceil 朝正方向舍入函數(shù) acsc反余割函數(shù) round 四舍五入函數(shù) acsch反雙曲余割函數(shù) mod (帶符號(hào))求余函數(shù) cot余切函數(shù) rem 無符號(hào)求余函數(shù) coth雙曲余切函數(shù) sign 符號(hào)函數(shù) acot反余切函數(shù) 2.1.3 2.1.3 控制流語句控制流語句 為了使程序更富有靈活性,功能更強(qiáng)大,流程控制是不可或缺的。MATLAB提供了四種基本的流程控制方法。 if,else,elseif 根據(jù)邏輯條件執(zhí)行一系列運(yùn)算 switch, case
38、,otherwise 根據(jù)條件值來選擇執(zhí)行的項(xiàng)目 while 根據(jù)邏輯條件來決定循環(huán)的執(zhí)行次數(shù) for 執(zhí)行固定次數(shù)的循環(huán) ifif、elseelse與與elseifelseif語句語句 if用來檢查邏輯運(yùn)算、邏輯函數(shù)、邏輯變量值等邏輯表達(dá)式的真假,若為真則執(zhí)行接下來的指令或運(yùn)算。寫法如下: ifif邏輯表達(dá)式運(yùn)算指令 endend 如果想讓運(yùn)算指令在相反的條件下執(zhí)行,則可以使用else。寫法如下: ifif邏輯表達(dá)式 運(yùn)算指令一 elseelse 運(yùn)算指令二 endend 當(dāng)條件符合時(shí),MATLAB會(huì)執(zhí)行運(yùn)算指令,而這組判別式的結(jié)束則用end來表示。另外,如果邏輯表達(dá)式為矩陣的話,MATLA
39、B會(huì)在矩陣內(nèi)的全部元素都為TRUE時(shí)才執(zhí)行運(yùn)算指令一。 在MATLAB中也可以利用elseif來寫嵌套判斷式。寫法如下: ifif邏輯條件一 運(yùn)算指令一 elseif邏輯條件二 運(yùn)算指令二 elseif邏輯條件三 運(yùn)算指令三 elseelse 運(yùn)算指令四endendswitchswitch語句語句 switch 分支條件(數(shù)值或字符串)case 數(shù)值(或字符串) 運(yùn)算指令一case 數(shù)值(或字符串) 運(yùn)算指令二 otherwise 運(yùn)算指令N end 基本的switch語句包含下列元素:switch:switch語句的開始,緊接著分支條件。分支條件可以是一個(gè)函數(shù)、變量或者表達(dá)式。 case:依
40、照分支條件的值,不同的case可以定義不同的運(yùn)算指令。而緊接在case后面的就是此case的分支條件。之后接著一個(gè)或一串運(yùn)算指令。 otherwise:若不符合所有case的條件,則程序就會(huì)執(zhí)行otherwise下面的表達(dá)式。 end:switch語句的結(jié)束。 注意注意:matlab的switch-case語句與C語言的switch-case語句不同,如果第一個(gè)case語句為真,則只執(zhí)行運(yùn)算指令一,不再執(zhí)行后續(xù)的case語句。所以不需要break語句。(Note for C Programmers Unlike the C language switch statement, MATLABs
41、switch does not fall through. If the first case statement is true, the other case statements do not execute. So, break statements are not required) whilewhile語句語句 while(循環(huán)條件)運(yùn)算指令end forfor語句語句 為什么MATLAB要提供兩種循環(huán)語句? 答案很簡單,如果我們事先不知道循環(huán)需要執(zhí)行幾次的話,就利用while語句,反之可以用for語句。for的語法如下: for(計(jì)數(shù)器=初始值:增量:終止值) 運(yùn)算指令 end該
42、循環(huán)會(huì)依照計(jì)數(shù)器的值來決定運(yùn)算指令的循環(huán)次數(shù)。其方法是:一開始計(jì)數(shù)器設(shè)定為初始值,并判斷是否大于終止值,如果沒有則執(zhí)行運(yùn)算指令;下一次將計(jì)數(shù)器加上增量,重復(fù)上次的判斷直到計(jì)數(shù)器大于終止值時(shí)跳出循環(huán)。其中,如果不給定增量,MATLAB會(huì)自動(dòng)取為1。 2.1.4 2.1.4 繪圖功能繪圖功能 MATLAB采用了許多先進(jìn)技術(shù),以提供功能強(qiáng)大的圖形系統(tǒng)。圖形系統(tǒng)是建立在諸如線、面等圖形對(duì)象集合的基礎(chǔ)上的,用戶可通過設(shè)置對(duì)象特征來控制圖形的產(chǎn)生。然而由于MATLAB提供了豐富的二維、三維圖形函數(shù),因此大多數(shù)情況下,用戶無需使用這些低級(jí)的圖形函數(shù)。 MATLAB提供了在二維平面上顯示圖形和標(biāo)注圖形的許多函
43、數(shù)。本節(jié)將詳細(xì)介紹這些函數(shù),并給出一些典型的應(yīng)用示例。 基本繪圖函數(shù)基本繪圖函數(shù) MATLAB提供了下列一些繪圖函數(shù)和圖形標(biāo)注函數(shù): plot針對(duì)向量或矩陣的列繪制出XY曲線; fplot 根據(jù)函數(shù)或函數(shù)表達(dá)式繪制出函數(shù)曲線; loglog在對(duì)數(shù)坐標(biāo)系中繪制XY曲線; semilogx以X軸為對(duì)數(shù)坐標(biāo),Y軸為線性坐標(biāo),繪制XY曲線; semilogy以Y軸為對(duì)數(shù)坐標(biāo),X軸為線性坐標(biāo),繪制XY曲線; title -在圖形上加上標(biāo)題; xlabel給X軸加上標(biāo)注; ylabel給Y軸加上標(biāo)注; text在指定位置上顯示文本字符串; gtext利用鼠標(biāo)在圖形上放置文本字符串; grid顯示網(wǎng)格線。其
44、中前4個(gè)函數(shù)為繪圖命令,它們基本相同,其區(qū)別僅在于坐標(biāo)軸的設(shè)定;后6個(gè)函數(shù)為標(biāo)注命令,可在圖形中加上合適的注解。特殊繪圖函數(shù)特殊繪圖函數(shù) MATLAB還提供了一些繪制二維圖形的特殊函數(shù): barbar繪制條形圖繪制條形圖; compass繪制復(fù)數(shù)的幅相圖; errorbar繪制誤差條形圖; feather沿著水平軸等間隔地繪制復(fù)數(shù)的幅相圖; fplot計(jì)算某函數(shù)并繪制出結(jié)果曲線; histhist繪制直方圖繪制直方圖; polar在極坐標(biāo)系中繪圖; quiver在梯度或矢量場中繪圖; rose繪制角度直方圖; stairs繪制類似于條形圖的圖形,但不含內(nèi)部線條; fill繪制多邊形填充圖。 繪
45、制簡單的曲線繪制簡單的曲線 MATLAB中最常用的繪圖函數(shù)為plot。它可以在二維平面上繪制曲線,根據(jù)其參數(shù)的不同可繪制出不同的曲線。 plot 1plot(y) 當(dāng)y為一向量時(shí),它以y的序號(hào)作為x軸,按向量y的值繪制曲線。 2plot(X,Y) X、Y均為向量,這時(shí)以向量x作為x軸,向量Y作y 軸,繪制出典型的二維曲線。X=x(i),Y=y(i),則plot(X,Y)先描出點(diǎn)(x(i),y(i),然后用直線依次相連 。 3plot(X,Y1,cs,X,Y2,cs,.) 以公共的X向量作為x軸,分別以Y1,Y2,繪制出多條曲線,每條曲線的外形可由相應(yīng)的字符cs來指定。其中c為表示曲線顏色的字符
46、,s表示線型格式。 符 號(hào) 顏 色 符 號(hào) 線型格式 y m c r g b w k 黃色 洋紅色 青色 紅色 綠色 藍(lán)色 白色 黑色 .oX+*-:-.- 點(diǎn) 圓 叉號(hào) 加號(hào) 星號(hào) 實(shí)線 點(diǎn)線 點(diǎn)劃線 虛線 曲線顏色與線型格式 例如在xY平面內(nèi)繪制兩條曲線y1sin(x+025)和y2sin(x+05),其程序非常簡單。 x0:pi100:2*pi; y1sin(x+25); y2sin(x+5); plot(x,y1,r-,x,y2,g) 利用title等語句可加上適當(dāng)?shù)淖⑨?,如采用命令?title( the plot of sin(x) ) xIabel(x) ylabel(ysin(
47、x+angle) fplot MATLAB 60提供了一個(gè)非常實(shí)用的函數(shù)fplot,用于繪制指定坐標(biāo)范圍的函數(shù)圖像。使用此函數(shù)有以下幾種格式: (1)fplot( function ,limits),在指范圍內(nèi)繪制函數(shù)圖像,字符串型參數(shù)function用于指定函數(shù)名稱(該函數(shù)可以是MATLAB自帶的,也可以是用戶自己定義的。)或函數(shù)表達(dá)式,limits用于指定坐標(biāo)范圍,例如:fplot(sin,-6*pi, 6*pi)。 (2)fplot(function,limits,LineSpec),參數(shù)ULineSpec用于指定線型,例如以下指令: fplot(sin,-4,4,-.r*); 字符串-
48、.r指定畫線樣式為短線加一個(gè)點(diǎn),顏色為紅色,點(diǎn)的樣式為*號(hào). bar, hist和和stairholdhold命令命令 hold on命令可保留已繪制的圖形,即后續(xù)的繪圖命令產(chǎn)生的曲線會(huì)疊加在已有的圖形上。當(dāng)然,如果新數(shù)據(jù)的范圍超出了原曲線數(shù)據(jù)的范圍,則會(huì)自動(dòng)調(diào)節(jié)x、Y的坐標(biāo)。Hold off命令可使后續(xù)繪圖命令產(chǎn)生一個(gè)新的圖形,這是MALTLAB的缺省情況。 因此,利用hold on命令,可以在同一張圖上,繪制出由多條plot函數(shù)命令產(chǎn)生的多條曲線。例如: t0:pi100:2*pi; xsin(t); y1sin(t + 025) ; y2sin(t + 05); plot(x); hol
49、d on; plot(y1,) plot(y2,) hold off figurefigure命令命令 figure 根據(jù)默認(rèn)屬性創(chuàng)建一個(gè)新圖形對(duì)象窗口并使該窗口位于所有窗口的最上層。 figure(n) 如果第n號(hào)圖形存在,使第n號(hào)圖形對(duì)象窗口并使該窗口位于所有窗口的最上層并準(zhǔn)備接受圖形輸出;否則,根據(jù)默認(rèn)屬性創(chuàng)建一個(gè)n號(hào)新圖形對(duì)象窗口并使該窗口位于所有窗口的最上層并準(zhǔn)備接受圖形輸出。 subplotsubplot命令命令 命令s u b p l o t 用于在同一個(gè)圖形窗口中繪制幾個(gè)圖形。s u b p l o t 本身并不繪制任何圖形,但是,它決定了如何分割圖形窗口以及下一幅圖將被畫在哪
50、個(gè)子窗口中。 2.1.5 M2.1.5 M文件文件 通常,MATLAB運(yùn)行在單命令驅(qū)動(dòng)模式下,即用戶可以通過鍵盤鍵入一條一條的MATLAB命令,每鍵入一條命令,MATLAB就立即執(zhí)行該命令并顯示出執(zhí)行結(jié)果。如: X1; y=x*3 y 3 有時(shí),單靠一條一條地輸入命令難以實(shí)現(xiàn)復(fù)雜功能,為了代替在M AT L A B 命令窗口中一條一條地輸入M AT L A B 命令語句,可以把這些命令寫入一個(gè)文本文件,這個(gè)文本文件的擴(kuò)展名必須為.M,該文件可用一個(gè)編輯器創(chuàng)建。每當(dāng)用戶輸入這個(gè)文件名和它的自變量時(shí),這些命令就由M AT L A B 執(zhí)行。M AT L A B 從文件而不是從終端讀取命令,當(dāng)文件中
51、最后一個(gè)命令被執(zhí)行時(shí),M AT L A B 能再從終端讀取命令。M AT L A B 將首先在當(dāng)前工作目錄下尋找此文件,如果它不在當(dāng)前目錄下,那么在該路徑下的所有目錄中搜索。該路徑保持在m a t l a b p a t h 中。如果想執(zhí)行一個(gè)沒有放在可以自動(dòng)搜索處的一個(gè)文件,你可使用命令r u n 。 M 文件是一種文件:f i l e n a m e . mf i l e n a m e . m即,它必須有后綴.m .m 。 一個(gè)M 文件包含許多連續(xù)的M AT L A B 命令,它也可以引用其他的M 文件,可以遞歸,也就是說可以自己引用自己。由MATLAB語言編寫的磁盤文件稱為M文件,其擴(kuò)展名為m。例如,besselm就是一個(gè)由一系列MATLAB語句編寫的M文件,它可用來產(chǎn)生Besse1(貝塞爾)函數(shù)。從功能上看,M文件可分為兩類: 底稿文件和函數(shù)文件。調(diào)用底稿文件會(huì)自動(dòng)執(zhí)行一系列命令直至給出結(jié)果;函數(shù)文件則為 MATLAB提供了擴(kuò)充性,通過函數(shù)文件,可以產(chǎn)生完成一特定功
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)保理念下的現(xiàn)代家居設(shè)計(jì)風(fēng)格
- 現(xiàn)代飲食文化與胃腸健康的平衡
- 生產(chǎn)環(huán)境下的操作規(guī)范與質(zhì)量控制
- 現(xiàn)代企業(yè)網(wǎng)絡(luò)攻擊的防范與應(yīng)對(duì)
- 現(xiàn)代企業(yè)決策分析與科學(xué)決策
- 2023三年級(jí)語文下冊(cè) 第八單元 口語交際:趣味故事會(huì)配套說課稿 新人教版
- Unit5 Humans and nature Lesson 1 A sea story 說課稿-2024-2025學(xué)年高中英語北師大版(2019)必修第二冊(cè)001
- 2024-2025學(xué)年新教材高中數(shù)學(xué) 第五章 三角函數(shù) 5.7 三角函數(shù)的應(yīng)用(2)說課稿 新人教A版必修第一冊(cè)
- 2023八年級(jí)數(shù)學(xué)下冊(cè) 第18章 平行四邊形18.1 平行四邊形的性質(zhì)第2課時(shí) 平行四邊形的性質(zhì)定理3說課稿 (新版)華東師大版
- 2023二年級(jí)語文上冊(cè) 第二單元 2 樹之歌配套說課稿 新人教版
- (人衛(wèi)版第九版?zhèn)魅静W(xué)總論(一))課件
- 壓力性損傷護(hù)理質(zhì)控細(xì)則及集束化管理措施
- 《批判性思維原理和方法》全套教學(xué)課件
- 產(chǎn)后康復(fù)-腹直肌分離
- 丙烯-危險(xiǎn)化學(xué)品安全周知卡
- 粉條加工廠建設(shè)項(xiàng)目可行性研究報(bào)告
- 《配電網(wǎng)設(shè)施可靠性評(píng)價(jià)指標(biāo)導(dǎo)則》
- 2024年國家電網(wǎng)招聘之通信類題庫附參考答案(考試直接用)
- CJJ 169-2012城鎮(zhèn)道路路面設(shè)計(jì)規(guī)范
- 食品企業(yè)日管控周排查月調(diào)度記錄及其報(bào)告格式參考
- 產(chǎn)品質(zhì)量法解讀課件1
評(píng)論
0/150
提交評(píng)論