第2章 MATLAB應(yīng)用基礎(chǔ)-1_第1頁(yè)
第2章 MATLAB應(yīng)用基礎(chǔ)-1_第2頁(yè)
第2章 MATLAB應(yīng)用基礎(chǔ)-1_第3頁(yè)
第2章 MATLAB應(yīng)用基礎(chǔ)-1_第4頁(yè)
第2章 MATLAB應(yīng)用基礎(chǔ)-1_第5頁(yè)
已閱讀5頁(yè),還剩74頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第2章章 MATLAB應(yīng)用基礎(chǔ)應(yīng)用基礎(chǔ)l 本章要點(diǎn)本章要點(diǎn)1n MATLAB 變量及其操作變量及其操作n MATLAB數(shù)組與矩陣數(shù)組與矩陣nMATLAB M文件文件nMATLAB 程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)l 主要內(nèi)容主要內(nèi)容n2.1 MATLAB變量及其操作變量及其操作n2.2 MATLAB數(shù)組與矩陣運(yùn)算數(shù)組與矩陣運(yùn)算n2.3 數(shù)學(xué)函數(shù)數(shù)學(xué)函數(shù)n2.4 M文件文件n2.5 程序控制結(jié)構(gòu)程序控制結(jié)構(gòu)2矩陣是矩陣是MATLAB最基本、最重要的數(shù)據(jù)對(duì)最基本、最重要的數(shù)據(jù)對(duì)象,象,MATLAB的大部分運(yùn)算或命令都是在矩的大部分運(yùn)算或命令都是在矩陣運(yùn)算的意義下執(zhí)行的,而且這種運(yùn)算定義陣運(yùn)算的意義下執(zhí)行

2、的,而且這種運(yùn)算定義在復(fù)數(shù)域上。向量和單個(gè)數(shù)據(jù)都可以作為矩在復(fù)數(shù)域上。向量和單個(gè)數(shù)據(jù)都可以作為矩陣的特例來(lái)處理。陣的特例來(lái)處理。l數(shù)值數(shù)據(jù):雙精度型、單精度數(shù)、帶符號(hào)整數(shù)值數(shù)據(jù):雙精度型、單精度數(shù)、帶符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)、復(fù)數(shù)數(shù)和無(wú)符號(hào)整數(shù)、復(fù)數(shù)l字符數(shù)據(jù)。字符數(shù)據(jù)。l結(jié)構(gòu)體結(jié)構(gòu)體(Structure)和單元和單元(Cell)數(shù)據(jù)類(lèi)型。數(shù)據(jù)類(lèi)型。l稀疏矩陣稀疏矩陣(Sparse)。l邏輯型數(shù)據(jù)。在邏輯型數(shù)據(jù)。在MATLAB中,以數(shù)值中,以數(shù)值1(非零非零)表示表示“真真”,以數(shù)值,以數(shù)值0表示表示“假假”。用。用logical()函數(shù)將任何非零的數(shù)值轉(zhuǎn)換為函數(shù)將任何非零的數(shù)值轉(zhuǎn)換為true,將

3、數(shù)值將數(shù)值0轉(zhuǎn)換為轉(zhuǎn)換為false3整數(shù)類(lèi)型:整數(shù)類(lèi)型:名名 稱(chēng)稱(chēng)表示表示范圍范圍轉(zhuǎn)換函轉(zhuǎn)換函數(shù)數(shù) 名名 稱(chēng)稱(chēng)表示范表示范圍圍轉(zhuǎn)換函轉(zhuǎn)換函數(shù)數(shù)有符號(hào)有符號(hào)1字節(jié)整數(shù)字節(jié)整數(shù)27271int8()無(wú) 符 號(hào) 1字節(jié)整數(shù)0281uint8()有符號(hào)有符號(hào)2字節(jié)整數(shù)字節(jié)整數(shù) 2152151int16()無(wú) 符 號(hào) 2字節(jié)整數(shù)02161uint16()有符號(hào)有符號(hào)4字節(jié)整數(shù)字節(jié)整數(shù) 2312311int32()無(wú) 符 號(hào) 4字節(jié)整數(shù)02321uint32()有符號(hào)有符號(hào)8字節(jié)整數(shù)字節(jié)整數(shù) 2632631int64()無(wú) 符 號(hào)無(wú) 符 號(hào) 8字節(jié)整數(shù)字節(jié)整數(shù)02641uint64()4浮點(diǎn)數(shù):浮點(diǎn)數(shù):名

4、名 稱(chēng)稱(chēng)存存 儲(chǔ)儲(chǔ) 空空 間間表表 示示 范范 圍圍轉(zhuǎn)轉(zhuǎn) 換換 函函 數(shù)數(shù)單精度浮點(diǎn)單精度浮點(diǎn)數(shù)數(shù)4字節(jié)3.4028210383.402821038single()雙精度浮點(diǎn)雙精度浮點(diǎn)數(shù)數(shù)8字節(jié)字節(jié)1.79769 103081.79769 10308double()5復(fù)數(shù):復(fù)數(shù): 用用i或或j產(chǎn)生復(fù)數(shù)產(chǎn)生復(fù)數(shù) 用用complex()函數(shù)產(chǎn)生復(fù)數(shù)函數(shù)產(chǎn)生復(fù)數(shù) 例:例:a = 5+10i x = 5; y = 10; c = x+y*i,b = complex(x,y)61變量命名變量命名在在MATLAB 7.11中,變量名是以字母開(kāi)頭,后接中,變量名是以字母開(kāi)頭,后接字母、數(shù)字或下劃線的字符序列

5、,最多字母、數(shù)字或下劃線的字符序列,最多63個(gè)字符個(gè)字符。在。在MATLAB中,變量名區(qū)分字母的大小寫(xiě)。中,變量名區(qū)分字母的大小寫(xiě)。 2x : 錯(cuò)誤錯(cuò)誤: 不應(yīng)為不應(yīng)為 MATLAB 表達(dá)式表達(dá)式 _x: 輸入字符不是輸入字符不是 MATLAB 語(yǔ)句或表達(dá)式中的有語(yǔ)句或表達(dá)式中的有效字符。效字符。 x:未定義函數(shù)或變量未定義函數(shù)或變量 x。 x=6 : x = 62.1 變量及其操作7注意:注意:1.變量名區(qū)分字母的大小寫(xiě)變量名區(qū)分字母的大小寫(xiě) 例如:例如:abc ABC aBc 代表三個(gè)不同的變量代表三個(gè)不同的變量 2. MATLAB提供的標(biāo)準(zhǔn)函數(shù)名以及命令名必提供的標(biāo)準(zhǔn)函數(shù)名以及命令名必須

6、用小寫(xiě)字母。須用小寫(xiě)字母。 例如:例如: sin(A)不能寫(xiě)成不能寫(xiě)成Sin(A)或或SIN(A)8 2賦值語(yǔ)句賦值語(yǔ)句(1) 變量變量=表達(dá)式表達(dá)式 : (2) 表達(dá)式:表達(dá)式: 表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來(lái)的式子表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來(lái)的式子,其結(jié)果是一個(gè)矩陣。,其結(jié)果是一個(gè)矩陣。 (1)將表達(dá)式的值賦給左邊的變量(2)將表達(dá)式的值賦給MATLAB預(yù)定義變量ans例:rho = (1+sqrt(5)/2 (1+sqrt(5)/2 rho = ans = 1.6180 1.6180注意:在注意:在MATLAB語(yǔ)句后面可以加上注釋?zhuān)⑨屢哉Z(yǔ)句后面可以加上注釋?zhuān)⑨屢?開(kāi)頭,

7、后面是注釋的內(nèi)容。開(kāi)頭,后面是注釋的內(nèi)容。9 3.一些特殊變量和常量一些特殊變量和常量 在在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。例如,用身定義的變量。例如,用pi表示圓周率表示圓周率的近似值的近似值,用,用i,j表示虛數(shù)單位。表示虛數(shù)單位。預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。免對(duì)這些變量重新賦值。1011 4.字符串字符串 字符串是用單撇號(hào)括起來(lái)的字符序列。字符串是用單撇號(hào)括起來(lái)的字符序列。 例: x = Liaocheng UniversityMATLAB將字符串當(dāng)作一個(gè)行

8、向量,每個(gè)元素對(duì)將字符串當(dāng)作一個(gè)行向量,每個(gè)元素對(duì)應(yīng)一個(gè)字符,其標(biāo)識(shí)方法和數(shù)值向量相同。應(yīng)一個(gè)字符,其標(biāo)識(shí)方法和數(shù)值向量相同。 例: x(1) ans = L可以用可以用建立多行字符串矩陣。建立多行字符串矩陣。要求各行字符數(shù)要相等。如果字符數(shù)不相等,可以用空格來(lái)調(diào)整。例:ch=Li Qiang; Wangfang; Sun junch =Li QiangWangfangSun jun12 也可以用函數(shù)也可以用函數(shù)char()建立建立多行字符串矩陣多行字符串矩陣。輸入的輸入的時(shí)候不時(shí)候不要求各行字符數(shù)要相等,自動(dòng)添加空格進(jìn)行調(diào)整例:ch=char(first; second)ch =firsts

9、econd13 字符串是以字符串是以ASCII碼形式存儲(chǔ)的。碼形式存儲(chǔ)的。 abs和和double函數(shù)都可以用來(lái)獲取字符串矩陣所對(duì)函數(shù)都可以用來(lái)獲取字符串矩陣所對(duì)應(yīng)的應(yīng)的ASCII碼數(shù)值矩陣。碼數(shù)值矩陣。例:abs(A), double(Liaocheng University)ans = 65ans = 76 105 97 111 99 104 101 110 103 32 85 110 105 118 101 114 115 105 116 12114 相反,相反,char函數(shù)可以把函數(shù)可以把ASCII碼矩陣轉(zhuǎn)換為字符碼矩陣轉(zhuǎn)換為字符串矩陣。串矩陣。 例如 顯示一個(gè)3行32列的ASCII

10、字符變量串:ascii = char(reshape(32:127,32,3)輸出結(jié)果為ascii = ! # $ % & ( ) * + , - . / 0 1 2 3 4 5 6 7 8 9 : ; ? A B C D E F G H I J K L M N O P Q R S T U V W X Y Z _ a b c d e f g h i j k l m n o p q r s t u v w x y z | 15重新調(diào)整矩陣的行數(shù)、重新調(diào)整矩陣的行數(shù)、列數(shù)、維數(shù)列數(shù)、維數(shù)表示轉(zhuǎn)置表示轉(zhuǎn)置常用函數(shù)常用函數(shù)eval和和disp調(diào)用格式:調(diào)用格式:eval(t),disp(t)其

11、中其中t為字符串為字符串。功能:功能: eval(t)把字符串把字符串的內(nèi)容作為對(duì)應(yīng)的的內(nèi)容作為對(duì)應(yīng)的MATLAB語(yǔ)句來(lái)執(zhí)行語(yǔ)句來(lái)執(zhí)行。例:a = eval(sqrt(3) %計(jì)算3的平方根,賦給a輸出:輸出:a = 1.7321注意:注意:若字符串中的字符含有單撇號(hào),則該單撇號(hào)若字符串中的字符含有單撇號(hào),則該單撇號(hào)字符字符應(yīng)用應(yīng)用兩個(gè)單撇號(hào)來(lái)表示。兩個(gè)單撇號(hào)來(lái)表示。例: Im a sdudent ans=Im a sdudentdisp(t):輸出字符串disp(Im a student ) 輸出 Im a student16對(duì)較長(zhǎng)的字符串可以用字符串向量表示,用對(duì)較長(zhǎng)的字符串可以用字符串向

12、量表示,用括起來(lái)括起來(lái)例:f=70;c = (f-32)/1.8; room temperature is num2str(c) degree ans = room temperature is 21.1111 degree注意:字符串向量中的每一項(xiàng)之間可以用空格或者逗號(hào),隔開(kāi) 17常用的字符串處理函數(shù):常用的字符串處理函數(shù):18函數(shù)名函數(shù)名含義含義abs字符串到ASCII碼轉(zhuǎn)換charASCII碼到字符的轉(zhuǎn)換mat2str將矩陣轉(zhuǎn)換成字符串num2str將數(shù)值轉(zhuǎn)換成字符串int2str將整數(shù)轉(zhuǎn)換成字符串常用的字符串處理函數(shù):常用的字符串處理函數(shù):19函數(shù)名函數(shù)名含義含義lower字符串變小寫(xiě)

13、str2num將字符串轉(zhuǎn)換成數(shù)值strcat字符串連接,同strcmp字符串比較upper字符串變大寫(xiě)講在結(jié)構(gòu)和單元矩陣之前:矩陣的建立講在結(jié)構(gòu)和單元矩陣之前:矩陣的建立1直接輸入法直接輸入法 最簡(jiǎn)單的建立矩陣的方法是采用矩陣構(gòu)造符“”從鍵盤(pán)直接輸入矩陣的元素。 構(gòu)造1n矩陣(行向量)時(shí),可以將各元素依次放入矩陣構(gòu)造符內(nèi),并且以空格或者逗號(hào)分隔;構(gòu)造mn矩陣時(shí),每行如上處理,并且行與行之間用分號(hào)分隔。例:a=1;b=2;c=3; x=5 b c;a*b,a+c,c/b2利用利用M文件建立矩陣文件建立矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。 3建立大矩陣建立大矩陣大矩陣可由

14、方括號(hào)中的小矩陣或向量建立起來(lái)。 例:A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC = 1 2 3 1 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 94 矩陣元素矩陣元素(1)通過(guò)下標(biāo)引用矩陣的元素,例如)通過(guò)下標(biāo)引用矩陣的元素,例如A(3,2)=200(2)采用矩陣元素的序號(hào)來(lái)引用矩陣元素。)采用矩陣元素的序號(hào)來(lái)引用矩陣元素。 矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類(lèi)推。例如A=1,2,

15、3;4,5,6;A(3)ans = 2序號(hào)序號(hào)(Index)與下標(biāo)與下標(biāo)(Subscript )是一一對(duì)應(yīng)的,以是一一對(duì)應(yīng)的,以mn矩陣矩陣A為例,矩陣元素為例,矩陣元素A(i,j)的序號(hào)為的序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和和ind2sub函數(shù)求函數(shù)求得。得。5. 結(jié)構(gòu)矩陣和單元矩陣結(jié)構(gòu)矩陣和單元矩陣一、結(jié)構(gòu)矩陣一、結(jié)構(gòu)矩陣 通過(guò)使用結(jié)構(gòu)(通過(guò)使用結(jié)構(gòu)(Structure)數(shù)據(jù)類(lèi)型把一組不同)數(shù)據(jù)類(lèi)型把一組不同類(lèi)型的數(shù)據(jù)同時(shí)又是在邏輯上相關(guān)的數(shù)據(jù)組成一個(gè)類(lèi)型的數(shù)據(jù)同時(shí)又是在邏輯上相關(guān)的數(shù)據(jù)組成一個(gè)有機(jī)的整體,以便于管理和引用。有機(jī)的整體,

16、以便于管理和引用。231 結(jié)構(gòu)結(jié)構(gòu)矩陣的建立與引用矩陣的建立與引用(1)建立)建立格式格式: 結(jié)構(gòu)矩陣名結(jié)構(gòu)矩陣名 . 成員名成員名表達(dá)式表達(dá)式 結(jié)構(gòu)矩陣名結(jié)構(gòu)矩陣名=struct(field1,field2,)例:例:ssssss = struct(type,big,little,color,red,x,3,4)s2 = struct(name,x1,x2,x3,age,21,23,19,id,1,2,3)數(shù)值不需要加單撇號(hào)24s(1).type = big;s(1).color = red;s(1).x = 3;s(2).type = little;s(2).color = red;s(2

17、).x = 4;結(jié)構(gòu)包含2個(gè)元素s(1),s(2),每個(gè)元素包含3個(gè)成員type,color,x(2)引用格式)引用格式: 結(jié)構(gòu)矩陣元素的成員:顯示這個(gè)成員的具體內(nèi)容。 s(1).type 結(jié)構(gòu)元素:顯示成員名和它的值,但成員如果是矩陣,則不顯示矩陣具體內(nèi)容,而只顯示矩陣的大小參數(shù)。 s(1) 結(jié)構(gòu)矩陣:顯示結(jié)構(gòu)矩陣的大小參數(shù)和成員名。 s252 結(jié)構(gòu)結(jié)構(gòu)矩陣成員的增加和刪除矩陣成員的增加和刪除 增加成員增加成員可給s中任意一個(gè)元素增加成員x4:例: s(1).x4 = 410075 其他結(jié)構(gòu)元素的成員均為空矩陣,可以用賦值語(yǔ)句給其賦確定的值刪除成員刪除成員使用rmfield函數(shù)刪除結(jié)構(gòu)的成員

18、例:刪除成員例:刪除成員x4:s=rmfield(s,x4);二、單元二、單元數(shù)據(jù)數(shù)據(jù) 定義:定義:?jiǎn)卧–ell)數(shù)據(jù)的概念與結(jié)構(gòu)有些類(lèi)似,也是把不同屬性的數(shù)據(jù)放在一個(gè)變量中。 區(qū)別:區(qū)別:結(jié)構(gòu)變量是一種嵌套形式數(shù)據(jù),即一個(gè)結(jié)構(gòu)矩陣包含若干個(gè)結(jié)構(gòu)元素,元素又包含若干成員。對(duì)成員的引用是:結(jié)構(gòu)變量名.成員名。而單而單元矩陣則像數(shù)值矩陣一樣將不同類(lèi)型的數(shù)據(jù)以矩元矩陣則像數(shù)值矩陣一樣將不同類(lèi)型的數(shù)據(jù)以矩陣行列的形式存儲(chǔ)數(shù)據(jù),并用帶有大括號(hào)下標(biāo)的陣行列的形式存儲(chǔ)數(shù)據(jù),并用帶有大括號(hào)下標(biāo)的形式引用單元矩陣元素。形式引用單元矩陣元素。1 1 建立與引用建立與引用(1)單元矩陣的建立 使用直接建立b=10

19、,liu,11,21;34,78;12,wang,1,2,3,4 使用函數(shù)cell建立 c= cell(m,n)或c= cell(m,n),創(chuàng)建m行n列空單元矩陣 c = cell(size(A)創(chuàng)建維數(shù)與矩陣A相同的空單元矩陣?yán)篵 = cell(2,3); A = ones(2,2),c = cell(size(A)(2)單元矩陣的引用用帶有花括號(hào)的下標(biāo)的形式對(duì)單元矩陣元素進(jìn)行引用輸入b2,2輸出結(jié)果是wangA = 1 1 1 1c = 2 2 顯示與刪除顯示與刪除v用celldisp(b)函數(shù)來(lái)顯示整個(gè)單元矩陣vb(index)= 來(lái)刪除矩陣的元素注意:注意:A) 當(dāng)單元矩陣中的一個(gè)元

20、素被刪除后,單元矩 陣自動(dòng)變成行向量。 B) b(3)= %將第三個(gè)元素刪除 b3= 給第三個(gè)元素設(shè)置為空矩陣。常用的結(jié)構(gòu)及單元的處理函數(shù):常用的結(jié)構(gòu)及單元的處理函數(shù):30函數(shù)名函數(shù)名含義含義struct建立或轉(zhuǎn)換結(jié)構(gòu)矩陣getfield獲取結(jié)構(gòu)成員的內(nèi)容rmfield刪除結(jié)構(gòu)成員isstruct判斷,是結(jié)構(gòu)時(shí)值為真fieldnames獲取結(jié)構(gòu)成員名setfields設(shè)定結(jié)構(gòu)成員的內(nèi)容isfield成員在結(jié)構(gòu)中時(shí)值為真常用的結(jié)構(gòu)及單元的處理函數(shù):常用的結(jié)構(gòu)及單元的處理函數(shù):31函數(shù)名函數(shù)名含義含義celldisp顯示單元矩陣內(nèi)容num2cell把數(shù)值矩陣轉(zhuǎn)換為單元矩陣cell2struct單元

21、矩陣轉(zhuǎn)換為結(jié)構(gòu)矩陣iscell判斷,是單元矩陣時(shí)值為真cellplot顯示單元矩陣的圖形描述deal把輸入分配給輸出struct2cell把結(jié)構(gòu)矩陣轉(zhuǎn)換為單元矩陣6. 幾幾個(gè)特殊的函數(shù)個(gè)特殊的函數(shù)who,whos,exist,all,any,find,format who:顯示當(dāng)前工作空間中所有變量的一個(gè)簡(jiǎn)單列表whos:則列出變量的大小、數(shù)據(jù)格式等詳細(xì)信息a = exist(item,.), 查詢當(dāng)前的工作空間內(nèi)是否存在某一條款item,返回的a值表示item為不同的類(lèi)型,如表所示。 返回標(biāo)號(hào)值返回標(biāo)號(hào)值a Item的類(lèi)型的類(lèi)型0不存在1為工作空間中存在的變量2為M文件或未知類(lèi)型文件3為ME

22、X文件存在于MATLAB搜索路徑上4為MDL文件存在于MATLAB搜索路徑上5為MATLAB內(nèi)構(gòu)函數(shù)6為一P文件存在于MATLAB搜索路徑上7為目錄8為JAVA類(lèi) B = any(A),測(cè)試數(shù)組矩陣,測(cè)試數(shù)組矩陣A是否有非零元素,如果是否有非零元素,如果有,則返回有,則返回1,否則返回,否則返回0.例: A = 0.53 0.67 0.01 0.38 0.07 0.42 0.69,any(A)產(chǎn)生1. B = all(A),測(cè)試數(shù)組矩陣,測(cè)試數(shù)組矩陣A是否所有的元素非零,如是否所有的元素非零,如果是,則返回果是,則返回1,否則會(huì)返回,否則會(huì)返回0.例:A = 0.53 0 0.01 0.38

23、0.07 0.42 0.69, all(A)產(chǎn)生0. k = find(X), 返回?cái)?shù)組返回?cái)?shù)組X含非零元素的指數(shù),如果沒(méi)含非零元素的指數(shù),如果沒(méi)有返回一個(gè)空矩陣。有返回一個(gè)空矩陣。 i,j = find(X), 返回?cái)?shù)組X含非零元素的行列指數(shù)。 通常find(X)將X看成是X(:),即一個(gè)按X各列連接起來(lái)的列向量。例如M = 2,3;0,-6k= find(M)i,j = find(M)M = 2 3 0 -6k = 1 3 4i = 1 1 2j = 1 2 2 formatformat typeformat(type),設(shè)置或改變數(shù)據(jù)輸出格式,其中type決定數(shù)據(jù)的輸出格式各種type及

24、其含義如表2.5所示。(教材Pg.15)2.2.1 冒號(hào)表達(dá)式冒號(hào)表達(dá)式 冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,一般格式是:冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向量,一般格式是: e1:e2:e3 e1為初始值,為初始值,e2為步長(zhǎng),為步長(zhǎng),e3為終止值,都為正整數(shù)為終止值,都為正整數(shù) j:k j,j+1,j+2,k j:i:k j,j+i,j+2*i,k A(:,j) 矩陣矩陣A的第的第j列列 A(i,:) 矩陣矩陣A的第的第i行行 A(:,j:k) 表示表示A(:,j) ,A(:,j+1) ,A(:,j+2),A(:,k) A(:,:) = A A(:) 將將A看成是列向量,表示看成是列向量,表示A的所有元素

25、的所有元素2.2 MATLAB數(shù)組與矩陣運(yùn)算用用linspace函數(shù)產(chǎn)生行向量。其調(diào)用格式為:函數(shù)產(chǎn)生行向量。其調(diào)用格式為:linspace(a,b,n)其中a和b是生成向量的第一個(gè)和最后一個(gè)元素,n是元素總數(shù)。省略n時(shí)自動(dòng)生成100個(gè)數(shù)。顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。例:a = linspace(1,10,10); a = 1:2:10 在對(duì)數(shù)空間建立向量在對(duì)數(shù)空間建立向量logspace(n1,n2,n) 在對(duì)數(shù)空間中行矢量的值從10n1到10n2,數(shù)據(jù)個(gè)數(shù)為n,省略時(shí)默認(rèn)n為50例:a = logpace(1,3,3);2.2.2 矩陣的建立矩

26、陣的建立1直接輸入法直接輸入法 最簡(jiǎn)單的建立矩陣的方法是采用矩陣構(gòu)造符“”從鍵盤(pán)直接輸入矩陣的元素。 構(gòu)造1n矩陣(行向量)時(shí),可以將各元素依次放入矩陣構(gòu)造符內(nèi),并且以空格或者逗號(hào)分隔;構(gòu)造mn矩陣時(shí),每行如上處理,并且行與行之間用分號(hào)分隔。例:a=1;b=2;c=3; x=5 b c;a*b,a+c,c/b2利用利用M文件建立矩陣文件建立矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。 3建立大矩陣建立大矩陣大矩陣可由方括號(hào)中的小矩陣或向量建立起來(lái)。 例:A=1 2 3;4 5 6;7 8 9;C=A,eye(size(A); ones(size(A),AC = 1 2 3 1

27、 0 0 4 5 6 0 1 0 7 8 9 0 0 1 1 1 1 1 2 3 1 1 1 4 5 6 1 1 1 7 8 92.2.3 矩陣的拆分矩陣的拆分1矩陣元素矩陣元素(1)通過(guò)下標(biāo)引用矩陣的元素,例如)通過(guò)下標(biāo)引用矩陣的元素,例如A(3,2)=200(2)采用矩陣元素的序號(hào)來(lái)引用矩陣元素。)采用矩陣元素的序號(hào)來(lái)引用矩陣元素。 矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類(lèi)推。例如A=1,2,3;4,5,6;A(3)ans = 2序號(hào)序號(hào)(Index)與下標(biāo)與下標(biāo)(Subscript )是一一對(duì)應(yīng)的,以是一一對(duì)應(yīng)的,以mn

28、矩陣矩陣A為例,矩陣元素為例,矩陣元素A(i,j)的序號(hào)為的序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和和ind2sub函數(shù)求函數(shù)求得。得。2矩陣拆分矩陣拆分 (1) 利用冒號(hào)表達(dá)式獲得子矩陣?yán)妹疤?hào)表達(dá)式獲得子矩陣 A(:,j)表示取表示取A矩陣的第矩陣的第j列全部元素;列全部元素;A(i,:)表示表示A矩陣第矩陣第i行的全部元素;行的全部元素;A(i,j)表示取表示取A矩陣矩陣第第i行、第行、第j列的元素。列的元素。 例:例:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 1

29、8 25 2 9 A(:,3),A(2,:), A(4,3)ans = 1 7 13 19 25ans = 23 5 7 14 16ans = 19 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),行內(nèi),并在第并在第kk+m列中的所有元素。列中的所有元素。 例:例:A = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19 21 3 11 18 25 2 9 A(1:3,

30、:),A(:,2:4),A(1:3,2:4)ans = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22ans = 24 1 8 5 7 14 6 13 20 12 19 21 18 25 2ans = 24 1 8 5 7 14 6 13 20 A(:)將矩陣將矩陣A每一列元素堆疊起來(lái),成為一個(gè)列每一列元素堆疊起來(lái),成為一個(gè)列向量,而這也是向量,而這也是MATLAB變量的內(nèi)部?jī)?chǔ)存方式。變量的內(nèi)部?jī)?chǔ)存方式。此外,還可利用一般向量和此外,還可利用一般向量和end運(yùn)算符來(lái)表示矩陣運(yùn)算符來(lái)表示矩陣下標(biāo),從而獲得子矩陣。下標(biāo),從而獲得子矩陣。end表示某一維的末尾元表示某一

31、維的末尾元素下標(biāo)。素下標(biāo)。 例:例:A = 8 1 6 3 5 7 4 9 2 A(:)ans = 8 3 4 1 5 9 6 7 2A(end-1:end,end-2:end)ans = 3 5 7 4 9 2 (2) 利用空矩陣刪除矩陣的元素利用空矩陣刪除矩陣的元素 在在MATLAB中,定義中,定義為空矩陣。給變量為空矩陣。給變量X賦空矩賦空矩陣的語(yǔ)句為陣的語(yǔ)句為X=。這樣。這樣X(jué)矩陣中原來(lái)的元素全部被刪矩陣中原來(lái)的元素全部被刪除了。除了。 可以將矩陣的某一行或者某一列賦值為空矩陣,可以將矩陣的某一行或者某一列賦值為空矩陣,將該行或該列刪除。將該行或該列刪除。 例:例:A = magic(

32、2), A(1,:) = A = 1 3 4 2 注意:注意:X=與與clear X不同,不同,clear是將是將X從工作空間中從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。A = 4 2 2.2.4 MATLAB數(shù)據(jù)的運(yùn)算數(shù)據(jù)的運(yùn)算 1基本算術(shù)運(yùn)算基本算術(shù)運(yùn)算 MATLAB的基本算術(shù)運(yùn)算有:的基本算術(shù)運(yùn)算有:(加加)、(減減)、*(乘乘)、/(右除右除)、(左除左除)、(乘方乘方)、(共軛轉(zhuǎn)置(共軛轉(zhuǎn)置)、()括號(hào))、()括號(hào) ()括號(hào),高優(yōu)先級(jí)別()括號(hào),高優(yōu)先級(jí)別注意:運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的注意:運(yùn)算是在矩陣意義下進(jìn)

33、行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。算術(shù)運(yùn)算只是一種特例。 (1) 矩陣加減運(yùn)算矩陣加減運(yùn)算 假定有兩個(gè)矩陣假定有兩個(gè)矩陣A和和B,則可以由,則可以由A+B和和A-B實(shí)現(xiàn)實(shí)現(xiàn)矩陣的加減運(yùn)算。矩陣的加減運(yùn)算。 運(yùn)算規(guī)則:運(yùn)算規(guī)則:維數(shù)必須相同,將矩陣維數(shù)必須相同,將矩陣A和和B的相應(yīng)元素的相應(yīng)元素相加減相加減 例:例:A = magic(2); B = ones(2); A-B (2) 矩陣乘法矩陣乘法 假定有兩個(gè)矩陣假定有兩個(gè)矩陣A和和B,若,若A為為mn矩陣,矩陣,B為為np矩陣,則矩陣,則C=A*B為為mp矩陣矩陣。例:例:A = magic(2); B = ones(2,3); A*B

34、 (3) 矩陣除法矩陣除法左除左除 右除右除/ AB等效于等效于A的逆左乘的逆左乘B矩陣,也就是矩陣,也就是inv(A)*B B/A等效于等效于A的逆右乘的逆右乘B矩陣,也就是矩陣,也就是B*inv(A)對(duì)于含有標(biāo)量的運(yùn)算,如對(duì)于含有標(biāo)量的運(yùn)算,如3/4和和43有相同的值,都有相同的值,都等于等于0.75。 又如,設(shè)又如,設(shè)a=10.5,25,則,則a/5=5a=2.1000 5.0000。 對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩對(duì)于矩陣來(lái)說(shuō),左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,一般陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,一般ABB/A。 (4) 矩陣的乘方矩陣

35、的乘方 一個(gè)矩陣的乘方運(yùn)算可以表示成一個(gè)矩陣的乘方運(yùn)算可以表示成Ax,要,要求求A為方陣,為方陣,x為標(biāo)量。為標(biāo)量。 例:例:A3表示A*A*A (5) 矩陣矩陣的轉(zhuǎn)置的轉(zhuǎn)置 表示共軛轉(zhuǎn)置表示共軛轉(zhuǎn)置 .表示轉(zhuǎn)置,但是不取共軛表示轉(zhuǎn)置,但是不取共軛 例:例:y = 1+i,2+i;3+i,4+4i, y,y.ans = 1.0000 - 1.0000i 3.0000 - 1.0000i 2.0000 - 1.0000i 4.0000 - 4.0000ians = 1.0000 + 1.0000i 3.0000 + 1.0000i 2.0000 + 1.0000i 4.0000 + 4.0000

36、i2點(diǎn)運(yùn)算點(diǎn)運(yùn)算 在在MATLAB中,有一種特殊的運(yùn)算,因中,有一種特殊的運(yùn)算,因?yàn)槠溥\(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn)為其運(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有,所以叫點(diǎn)運(yùn)算。點(diǎn)運(yùn)算符有.*、./、.和和.。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維數(shù)相同。進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維數(shù)相同。例:例:A = magic(2);B = 2,3;4,1A.*B,A./B,A.B,A.23關(guān)系關(guān)系運(yùn)算運(yùn)算MATLAB提供了提供了6種關(guān)系運(yùn)算符:種關(guān)系運(yùn)算符:(小于小于)、(大于大于)、=(大于或等于大于或等于)、=(等于等于)

37、、=(不等于不等于)。運(yùn)算法則:運(yùn)算法則: (1) 當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為,否則為0。 例:例:x=1,y=2 x=y,xy,x=y,x=y 1 0 1 0 0 1運(yùn)算法則:運(yùn)算法則:(2) 當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),當(dāng)參與比較的一個(gè)是標(biāo)量,而另一個(gè)是矩陣時(shí),則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則則把標(biāo)量與矩陣的每一個(gè)元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算逐個(gè)比較,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原

38、矩陣相同的矩陣,它的元素的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由由0或或1組成。組成。 例:例:x=1, y =magic(2) x=y, xy, x=y,x=yy = 1 3 4 2ans = 1 1 1 0 0 1 0 0 1 0 0 1 1 1 0 0 1 1 0 0 0 0 1 1ans = 1 1 1 0 0 1 0 0 1 0 0 1 1 0 0 1 1 0 0 1 0 0 1 1運(yùn)算法則:運(yùn)算法則: (3)當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較是對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐是對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則

39、逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或或1組成。組成。 例:例:x=1 2;3 4, y =magic(2) x=y, xy, x=y,x=yx = 1 2 3 4y = 1 3 4 24邏輯運(yùn)算邏輯運(yùn)算MATLAB提供了提供了3種邏輯運(yùn)算符:種邏輯運(yùn)算符:&(與與)、|(或或)和和(非非)。運(yùn)算法則:運(yùn)算法則: (1) 在邏輯運(yùn)算中,非零元素為真,用在邏輯運(yùn)算中,非零元素為真,用1表示,零表示,零元素為假,用元素為假,用0表示。表示。 (2)

40、 設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量設(shè)參與邏輯運(yùn)算的是兩個(gè)標(biāo)量a和和b,那么,那么, a&b : a,b全為非零時(shí),運(yùn)算結(jié)果為全為非零時(shí),運(yùn)算結(jié)果為1,否則為,否則為0 a|b : a,b中只要有一個(gè)非零,運(yùn)算結(jié)果為中只要有一個(gè)非零,運(yùn)算結(jié)果為1。 a 當(dāng)當(dāng)a是零時(shí),運(yùn)算結(jié)果為是零時(shí),運(yùn)算結(jié)果為1;當(dāng);當(dāng)a非零時(shí),運(yùn)非零時(shí),運(yùn)算結(jié)果為算結(jié)果為0。 例:例: a=0,b=3,a&b,a|b,a,b ans = 0 1 1 0運(yùn)算法則:運(yùn)算法則: (3) 若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)若參與邏輯運(yùn)算的是兩個(gè)同維矩陣,那么運(yùn)算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行算將對(duì)矩陣相同位置上的元素按標(biāo)量規(guī)則逐個(gè)進(jìn)行。最終運(yùn)算結(jié)果是一個(gè)與原矩陣同維的矩陣

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論