第二章MATLAB的數(shù)值運(yùn)算_第1頁
第二章MATLAB的數(shù)值運(yùn)算_第2頁
第二章MATLAB的數(shù)值運(yùn)算_第3頁
第二章MATLAB的數(shù)值運(yùn)算_第4頁
第二章MATLAB的數(shù)值運(yùn)算_第5頁
已閱讀5頁,還剩43頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第二章 MATLAB的數(shù)值運(yùn)算v2.1 變量與數(shù)據(jù)操作 v2.2 MATLAB矩陣和數(shù)組v2.3 MATLAB的運(yùn)算 v2.4 矩陣分析v2.5 字符串2.1 變量與數(shù)據(jù)操作v標(biāo)量:是指11的矩陣,即為只含一個(gè)數(shù)的矩陣。v向量:是指1n或n1的矩陣,即只有一行或者一列的矩陣。v矩陣:是一個(gè)矩形的數(shù)組,即二維數(shù)組,其中向量和標(biāo)量都是矩陣的特例,00矩陣為空矩陣( )。v數(shù)組:是指n維的數(shù)組,為矩陣的延伸,其中矩陣和向量都是數(shù)組的特例。v2.1.1變量與賦值1、變量的命名規(guī)則 A變量名必須是不含空格的單個(gè)單詞; B變量名區(qū)分大小寫; C. 變量名最多不超過63個(gè)字符; D變量名必須以字母打頭,之后

2、可以是任意字母、數(shù)字或下劃線,變量名中不允許使用標(biāo)點(diǎn)符號(hào)。 2 特殊變量特殊變量特殊變量取值取值ans運(yùn)算結(jié)果的默認(rèn)變量名pi圓周率eps計(jì)算機(jī)的最小數(shù)flops浮點(diǎn)運(yùn)算數(shù)inf無窮大,如1/0NaN或nan非數(shù),如0/0、/、0i或 ji=j=nargin函數(shù)的輸入變量數(shù)目nargout函數(shù)的輸出變量數(shù)目realmin最小的可用正實(shí)數(shù)realmax最大的可用正實(shí)數(shù)3賦值語句(1) 變量=表達(dá)式(2) 表達(dá)式其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,其結(jié)果是一個(gè)矩陣。例 建立變量和賦值v x=1+2i;v y=3-sqrt(17); 其中其中pi和和i都是都是MATLAB預(yù)先定義的變量,

3、分預(yù)先定義的變量,分別代表代表圓周率別代表代表圓周率和虛數(shù)單位。和虛數(shù)單位。v2.1.2 內(nèi)存變量的管理MATLAB工作空間窗口專門用于內(nèi)存變量的管工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊些變量后,再單擊Open按鈕,將進(jìn)入變量編按鈕,將進(jìn)入變量編輯器。通過變量編輯器可以直接觀察變量中輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。的具體元素

4、,也可修改變量中的具體元素。clear命令用于刪除MATLAB工作空間中的變量。who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。 v2.1.3 MATLAB常用數(shù)學(xué)函數(shù)v函數(shù)使用說明:v(1) 三角函數(shù)以弧度為單位計(jì)算。v(2) abs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。v(3) 用于取整的函數(shù)有fix、floor、ceil、 round,要注意它們的區(qū)別。舉例。2.2 MATLAB矩陣和數(shù)組v2.2.1矩陣的創(chuàng)建與保存矩陣的創(chuàng)建可以

5、通過以下幾種形式創(chuàng)建v以直接形式列出元素形式輸入v通過語句和函數(shù)產(chǎn)生v從外部文件導(dǎo)入v建立在M文件中1直接輸入法直接輸入法 最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接輸最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元入矩陣的元素。具體方法如下:將矩陣的元素用方括號(hào)括起來,按矩陣行的順序輸入各素用方括號(hào)括起來,按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔隔,不同行的元素之間用分號(hào)分隔例 簡(jiǎn)單矩陣 的輸入方法例 創(chuàng)建如下矩陣987654321A2/2113/ ) 32(54380eA2. 由函數(shù)創(chuàng)建

6、和修改矩陣vzeros:產(chǎn)生全0矩陣(零矩陣)。vones:產(chǎn)生全1矩陣(幺矩陣)。veye:產(chǎn)生單位矩陣。vrand:產(chǎn)生01間均勻分布的隨機(jī)矩陣。vrandn:產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。例例 分別建立分別建立33、32和與矩陣和與矩陣A同樣大小的同樣大小的零矩陣。零矩陣。例例 建立隨機(jī)矩陣:建立隨機(jī)矩陣:(1) 在區(qū)間在區(qū)間20,50內(nèi)均勻分布的內(nèi)均勻分布的5階隨機(jī)矩陣。階隨機(jī)矩陣。(2) 均值為均值為0.6、方差為、方差為0.1的的5階正態(tài)分布隨機(jī)階正態(tài)分布隨機(jī)矩陣矩陣 v3. 從外部數(shù)據(jù)文件調(diào)入矩陣 在MATLAB中,還可以從外部文件讀入數(shù)據(jù)生成矩陣。這些文件可以是

7、存儲(chǔ)MATLAB已經(jīng)生成的二進(jìn)制文件,還可以是包含數(shù)值數(shù)據(jù)的文本文件。在文本文件中,數(shù)據(jù)必須排成一個(gè)矩形表,數(shù)據(jù)之間用空格分隔。文件的每行僅包含矩陣的每一行,并且每行的元素個(gè)數(shù)必須相等。舉例。4.利用M文件中的函數(shù)生成矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。M文件是一種包含MATLAB代碼的文本文件,這種文件的擴(kuò)展名是“.m”。它包含的內(nèi)容就是在MATLAB命令行鍵入矩陣生成的命令。舉例。v2.2.2 數(shù)組、向量的建立與保存v1、一維、二維數(shù)組的建立 在MATLAB中數(shù)組可以看成是行向量,即只有一列的矩陣。前面介紹的所有矩陣的建立方法對(duì)于一、二維數(shù)組同樣適用,這里不再過多

8、介紹 v2、向量的建立(1)利用冒號(hào)生成向量(2)利用MATLAB指令建立向量 A、linspace用來生成線性等分向量, B、logspace用來生成對(duì)數(shù)等分向量說明logspace (a,b,n)生成生成10a到到10b之間分布的之間分布的n個(gè)個(gè)向量,向量,n的默認(rèn)值為的默認(rèn)值為50linspace (a,b,n)則是生成則是生成a和和b之間分布的之間分布的n個(gè)個(gè)向量,向量,n的默認(rèn)值為的默認(rèn)值為1002.2.3 矩陣的基本操作矩陣的基本操作1矩陣元素矩陣元素提取與修改A、使用全下標(biāo)索引T(i,j)i和j分別表示索引或提取元素在矩陣中的行數(shù)和列數(shù)B、采用矩陣元素的序號(hào) 矩陣元素的序號(hào)就是相

9、應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。 2.矩陣拆分 A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。 A(i:i+m,:)表示取A矩陣第ii+m行的全部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩陣第ii+m行內(nèi),并在第kk+m列中的所有元素 。2.3 MATLAB運(yùn)算v2.3.1算術(shù)運(yùn)算1矩陣運(yùn)算在MATLAB的系統(tǒng)中提供了一些矩陣運(yùn)算符。(加)、(減)、*(乘)、/(右除)、(左除)、(乘方) v注意

10、:A、矩陣的加法和減法運(yùn)算中,參與運(yùn)算的矩陣維數(shù)必須相同B、矩陣乘法運(yùn)算中乘號(hào)左邊的矩陣列數(shù)必須和乘號(hào)右邊的矩陣行數(shù)必須相同C、矩陣除法中,一定要注意區(qū)分矩陣的左除()和右除(/)的區(qū)別。如果A矩陣是非奇異方陣,則AB和B/A運(yùn)算可以實(shí)現(xiàn) 。AB等效于A的逆左乘B矩陣,也就是inv(A)*B,而B/A等效于A矩陣的逆右乘B矩陣,也就是B*inv(A)。 對(duì)于矩陣運(yùn)算,一般ABB/A。D、對(duì)于矩陣的乘方運(yùn)算Ax,要求A為方陣,x為標(biāo)量。 2數(shù)組運(yùn)算數(shù)組的運(yùn)算符為(加)、(減)、.*(乘)、./(右除)、.(左除)、.(乘方) (1) 數(shù)組對(duì)標(biāo)量的加、減、乘、除運(yùn)算就是對(duì)數(shù)組的每個(gè)元素分別施加運(yùn)算

11、。(2)數(shù)組對(duì)數(shù)組的運(yùn)算在MATLAB中,當(dāng)兩個(gè)數(shù)組具有相同的維數(shù)時(shí),加減乘除運(yùn)算是元素對(duì)元素的方式進(jìn)行的。 v注意A、數(shù)組的加法、減法和矩陣的運(yùn)算符是相同的都是“+”和“”。 B、數(shù)組的乘除運(yùn)算和矩陣是完全不同的,運(yùn)算符為(.*)和點(diǎn)除(./)。運(yùn)算符的點(diǎn)號(hào)不能少,否則將不按數(shù)組的運(yùn)算規(guī)則進(jìn)行。 C、注意區(qū)分?jǐn)?shù)組的左除和右除。它們的關(guān)系如下:a./b=b.a D、數(shù)組的冪運(yùn)算符號(hào)為“.”,用來表示數(shù)組元素對(duì)元素的冪運(yùn)算 v矩陣運(yùn)算和數(shù)組運(yùn)算的對(duì)比3向量運(yùn)算(1) 向量的點(diǎn)積運(yùn)算v在MATLAB中,向量的點(diǎn)積由函數(shù)“dot”來實(shí)現(xiàn),“dot”函數(shù)的調(diào)用格式如下:vCdot(A,B)表示返回向量

12、A和向量B的點(diǎn)積,結(jié)果放在向量C中。需要說明的是,向量A與B必須長(zhǎng)度相同。另外,當(dāng)A與B都是列向量時(shí),dot(A,B)等同于A*B (2) 向量的叉積運(yùn)算在MATLAB中,向量的叉積由函數(shù)“cross”實(shí)現(xiàn)。cross的調(diào)用格式如下:Ccross(A,B)表示返回向量A與B的叉積,即CAB。需要說明的是,向量A與B向量必須是3個(gè)元素的向量。 2.3.2 關(guān)系運(yùn)算MATLAB提供了6種關(guān)系運(yùn)算符:(小于Lt)、(大于Gt)、=(大于或等于Ge)、=(等于eq)、=(不等于Ne)。 關(guān)系運(yùn)算的運(yùn)算法則(1) 當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。(2)

13、 當(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組成。(3) 當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。v例:產(chǎn)生5階隨機(jī)方陣A,其元素為10,90區(qū)間的隨機(jī)整數(shù),然后判斷A的元素能否被3整除。2.3.3 邏輯運(yùn)算MATLAB提供了3種邏輯運(yùn)算符:&(與and)、|(或or)和(非not)。 邏輯運(yùn)算的運(yùn)算法則

14、為:(1) 在邏輯運(yùn)算中,確認(rèn)非零元素為真,用1表示,零元素為假,用0表示。(2) 設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和b,那么,a&b a,b全為非零時(shí),運(yùn)算結(jié)果為1,否則為0。a|b a,b中只要有一個(gè)非零,運(yùn)算結(jié)果為1。a 當(dāng)a是零時(shí),運(yùn)算結(jié)果為1;當(dāng)a非零時(shí),運(yùn)算結(jié)果為0。(3) 若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣,其元素由1或0組成。(4) 若參與邏輯運(yùn)算的一個(gè)是標(biāo)量,一個(gè)是矩陣,那么運(yùn)算將在標(biāo)量與矩陣中的每個(gè)元素之間按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與矩陣同維的矩陣,其元素由1或0組成。(5

15、) 邏輯非是單目運(yùn)算符,也服從矩陣運(yùn)算規(guī)則。 例 建立矩陣建立矩陣A,找出其中大于,找出其中大于4的元素的位置。的元素的位置。 v幾種運(yùn)算的優(yōu)先級(jí)比較在算術(shù)、關(guān)系、邏輯運(yùn)算中,算術(shù)運(yùn)算優(yōu)先級(jí)最高,邏輯運(yùn)算優(yōu)先級(jí)最低。(矩陣轉(zhuǎn)置)、(矩陣冪)和.(數(shù)組轉(zhuǎn)置)、.(數(shù)組冪) (邏輯非) *(乘)、/(左除)、(右除)和.*(點(diǎn)乘)、./(點(diǎn)左除)、.(點(diǎn)右除) +、-(加減): (冒號(hào)) 、=、= &(邏輯與) |(邏輯或) 2.4 矩陣分析2.4.1 對(duì)角陣與三角陣1對(duì)角陣(1) 提取矩陣的對(duì)角線元素設(shè)A為mn矩陣,diag(A)函數(shù)用于提取矩陣A主對(duì)角線元素,產(chǎn)生一個(gè)具有min(m,n

16、)個(gè)元素的列向量。diag(A)函數(shù)還有一種形式diag(A,k),其功能是提取第k條對(duì)角線的元素。(2) 構(gòu)造對(duì)角矩陣設(shè)V為具有m個(gè)元素的向量,diag(V)將產(chǎn)生一個(gè)mm對(duì)角矩陣,其主對(duì)角線元素即為向量V的元素。2三角陣 (1) 上三角矩陣求矩陣A的上三角陣的MATLAB函數(shù)是triu(A)。triu(A)函數(shù)也有另一種形式triu(A,k),其功能是求矩陣A的第k條對(duì)角線以上的元素。例如,提取矩陣A的第2條對(duì)角線以上的元素,形成新的矩陣B。(2) 下三角矩陣在MATLAB中,提取矩陣A的下三角矩陣的函數(shù)是tril(A)和tril(A,k),其用法與提取上三角矩陣的函數(shù)triu(A)和tr

17、iu(A,k)完全相同。2.4.2 矩陣的轉(zhuǎn)置與旋轉(zhuǎn) 1矩陣的轉(zhuǎn)置轉(zhuǎn)置運(yùn)算符是單撇號(hào)()。2矩陣的旋轉(zhuǎn)利用函數(shù)rot90(A,k)將矩陣A旋轉(zhuǎn)90的k倍,當(dāng)k為1時(shí)可省略。3矩陣的左右翻轉(zhuǎn)對(duì)矩陣實(shí)施左右翻轉(zhuǎn)是將原矩陣的第一列和最后一列調(diào)換,第二列和倒數(shù)第二列調(diào)換,依次類推。MATLAB對(duì)矩陣A實(shí)施左右翻轉(zhuǎn)的函數(shù)是fliplr(A)。4矩陣的上下翻轉(zhuǎn)MATLAB對(duì)矩陣A實(shí)施上下翻轉(zhuǎn)的函數(shù)是flipud(A)。 2.4.3 矩陣的逆對(duì)于一個(gè)方陣A,如果存在一個(gè)與其同階的方陣B,使得:AB=BA=I (I為單位矩陣)則稱B為A的逆矩陣,當(dāng)然,A也是B的逆矩陣。求一個(gè)矩陣的逆是一件非常煩瑣的工作,容易

18、出錯(cuò),但在MATLAB中,求一個(gè)矩陣的逆非常容易。求方陣A的逆矩陣可調(diào)用函數(shù)inv(A)。 2.4.4 方陣的行列式把一個(gè)方陣看作一個(gè)行列式,并對(duì)其按行列式的規(guī)則求值,這個(gè)值就稱為矩陣所對(duì)應(yīng)的行列式的值。在MATLAB中,求方陣A所對(duì)應(yīng)的行列式的值的函數(shù)是det(A)。2.4.5 矩陣的秩與跡1矩陣的秩矩陣線性無關(guān)的行數(shù)與列數(shù)稱為矩陣的秩。在MATLAB中,求矩陣秩的函數(shù)是rank(A)。2矩陣的跡矩陣的跡等于矩陣的對(duì)角線元素之和,也等于矩陣的特征值之和。在MATLAB中,求矩陣的跡的函數(shù)是trace(A)。2.4.6 矩陣的特征值與特征向量在MATLAB中,計(jì)算矩陣A的特征值和特征向量的函數(shù)是eig(A),常用的調(diào)用格式有3種:(1) E=eig(A):求矩陣A的全部特征值,構(gòu)成向量E。(2) V,D=eig(A):求矩陣A的全部特征值,構(gòu)成對(duì)角陣D,并求A的特征向量構(gòu)成V的列向量。2.5 字符串在MATLAB中,字符串是用單撇號(hào)括起來的字符序列。字符串是以ASCII碼形式存儲(chǔ)的。abs和double函數(shù)都可以用來獲取字符串矩陣所對(duì)應(yīng)的ASCII碼數(shù)值矩陣。相反,char函數(shù)可以把ASCII碼矩陣轉(zhuǎn)換為字符串矩陣。 1、字符串函數(shù)length:用來計(jì)算字符串的長(zhǎng)度(即組成字符的個(gè)數(shù))。

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論