Matlab第一章_第1頁
Matlab第一章_第2頁
Matlab第一章_第3頁
Matlab第一章_第4頁
Matlab第一章_第5頁
已閱讀5頁,還剩112頁未讀, 繼續(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基礎(chǔ)知識(shí)包括: 數(shù)據(jù)類型; 基本矩陣操作; 運(yùn)算符; 字符串處理函數(shù)。 1數(shù)值類型 2邏輯類型 3字符和字符串類型 4結(jié)構(gòu)體類型 MATLAB中定義了很多種數(shù)據(jù)類型。 在MATLAB中有15種基本數(shù)據(jù)類型,每種基本數(shù)據(jù)類型均以數(shù)組/矩陣的形式出現(xiàn)。 本節(jié)討論MATLAB中主要的數(shù)據(jù)類型及其使用方法。 數(shù)值類型包含 整數(shù); 浮點(diǎn)數(shù); 復(fù)數(shù); Inf; NaN MATLAB支持1、2、4和8字節(jié)的有符號(hào)整數(shù)和無符號(hào)整數(shù)。數(shù)據(jù)類型的名稱、表示范圍和轉(zhuǎn)換函數(shù)如下表所示。 MATLAB有單精度和雙精度兩種浮點(diǎn)數(shù)。其名稱、存儲(chǔ)空間、表示范圍和轉(zhuǎn)換函數(shù)如下表所示。 復(fù)數(shù)包含實(shí)部和

2、虛部。在MATLAB中可以用i或者j來表示虛部。 Inf和-Inf分別表示正無窮大和負(fù)無窮 大。除法運(yùn)算中除數(shù)為0或者運(yùn)算結(jié)果溢 出都會(huì)導(dǎo)致inf或-inf的運(yùn)行結(jié)果。 在MATLAB中用NaN(Not a Number) 來表示一個(gè)既不是實(shí)數(shù)也不是復(fù)數(shù)的數(shù) 值,類似0/0,inf/inf均可產(chǎn)生NaN。 在MATLAB中邏輯類型包含true和false,分別由1和0表示。在MATLAB中用函數(shù)logical()將任何非零的數(shù)值轉(zhuǎn)換為true(即1),將數(shù)值0轉(zhuǎn)換為false(即0)。 在MATLAB中,數(shù)據(jù)類型(char)表示一個(gè)字符。一個(gè)char類型的1n數(shù)組稱為字符串string。 結(jié)構(gòu)

3、體類型是一種由若干屬性(field)組成的MATLAB數(shù)組,其中的每個(gè)屬性可以是任意數(shù)據(jù)類型。 下圖表示了一個(gè)結(jié)構(gòu)體(Personel),它包括3個(gè)屬性(Name、Score和Salary),其中Name是一個(gè)字符串,Score是一個(gè)數(shù)值,Salary是一個(gè)15的向量。 構(gòu)造一個(gè)結(jié)構(gòu)體(數(shù)組)有兩種方法。 利用賦值語句 通過賦值語句為結(jié)構(gòu)體中的每個(gè)指定屬性賦值,從而構(gòu)造結(jié)構(gòu)體。 比如例2.5. 例2.5中的結(jié)構(gòu)體可以看成是1*1的結(jié)構(gòu)體,可以將它擴(kuò)展為n*m的結(jié)構(gòu)體數(shù)組. 如例2.6 值得注意的是,結(jié)構(gòu)體數(shù)組中元素屬性的大小不要求一致,如salary. Matlab對(duì)未指定數(shù)據(jù)的屬性自動(dòng)賦值成

4、空矩陣.如例2.7 利用函數(shù)struct() 在MATLAB中,函數(shù)struct()的具體用法如下: 其中,strArray、field和val分別表示結(jié)構(gòu)體名、屬性名和相應(yīng)的屬性值。例2.8 通過結(jié)構(gòu)體數(shù)組的下標(biāo)引用,可以訪問任意元素的所有屬性,同時(shí)可以對(duì)屬性進(jìn)行賦值。例2.92.12 2.2.1 矩陣的構(gòu)造 2.2.2 矩陣大小的改變 2.2.3 矩陣下標(biāo)引用 2.2.4 矩陣信息的獲取 2.2.5 矩陣結(jié)構(gòu)的改變 2.2.6 稀疏矩陣 在MATLAB中,所有的數(shù)據(jù)均以二維、三維或高維矩陣的形式存儲(chǔ),每個(gè)矩陣的單元可以是數(shù)值類型、邏輯類型、字符類型或者其他任何數(shù)據(jù)類型。 對(duì)于標(biāo)量,可以用1

5、1矩陣來表示; 對(duì)于一組n個(gè)數(shù)據(jù),可以用1n矩陣來表示; 對(duì)于多維數(shù)組,可以用多維矩陣來表示。 矩陣是MATLAB進(jìn)行數(shù)據(jù)處理和運(yùn)算的基本元素. 在MATLAB中,用命令whos來顯示數(shù)據(jù)的類型、存儲(chǔ)空間等信息。如例2.13,2.14 1簡(jiǎn)單矩陣構(gòu)造 2特殊矩陣構(gòu)造 3向量構(gòu)造 最簡(jiǎn)單的方法是采用矩陣構(gòu)造符“”。構(gòu)造1n矩陣(行向量)時(shí),可以將各元素依次放入矩陣構(gòu)造符內(nèi),并且以空格或者逗號(hào)分隔;構(gòu)造mn矩陣時(shí),每行如上處理,并且行與行之間用分號(hào)分隔。例如2.152.16下列哪條指令能夠在Matlab中產(chǎn)生二維數(shù)組s= ( )(A) s=1,2,3,4,5,6,7,8,9; (B) s=1,4,

6、7;2,5,8;3,6,9; (C) s=1,2,3;4,5,6;7,8,9;(D) s=1 2 3 4 5 6 7 8 9;123456789 在MATLAB中還提供一些函數(shù)用來構(gòu)造特殊矩陣,這些函數(shù)如下表所示。 續(xù)表如例2.172.18產(chǎn)生4階全0方陣的命令_;產(chǎn)生3階全1方陣的命令為_。 最 簡(jiǎn) 單 的 方 法 是 采 用 向 量 構(gòu) 造 符“:”,其常用的用法如下。(1)a:b返回以a為起點(diǎn),以1為步長(zhǎng),且所有取值在a與b之間的向量。 例2.20(2)a:s:b 返回以a為起點(diǎn),以s為步長(zhǎng),且所有取值在a與b之間的向量。例2.212.22 1矩陣的合并 2矩陣行列的刪除 矩陣的合并就是

7、把兩個(gè)或者兩個(gè)以上的矩陣連接成一個(gè)新矩陣。矩陣構(gòu)造符 可用于構(gòu)造矩陣,并可以作為一個(gè)矩陣合并操作符。 表達(dá)式C=A B在水平方向合并矩陣A和B; 表達(dá)式C=A;B在豎直方向合并矩陣A和B。 矩陣合并時(shí)要符合維數(shù)的約束,以水平方向?yàn)槔?,具有相同行?shù)的兩個(gè)矩陣,合并為一個(gè)新矩陣 不具有相同行數(shù)的兩個(gè)矩陣,不允許合并為一個(gè)新矩陣 例2.24 除了矩陣合并符“”外,還可以使用矩陣合并函數(shù)。矩陣合并函數(shù)的描述和基本調(diào)用格式如下表所示。 例2.252.26 要?jiǎng)h除矩陣的某一行或者是某一列,只需將該行或者該列賦予一個(gè)空矩陣即可。例2.27 1訪問單個(gè)元素2線性引用元素3訪問多個(gè)元素 本小節(jié)將介紹通過矩陣下標(biāo)

8、來存取元素值的方法,包括訪問單個(gè)元素、線性引用元素和訪問多個(gè)元素等。 例2.282.29 對(duì)于矩陣A,線性引用元素的格式為 A(k)。通常這樣的引用用于行向量或列 向量,但也可用于二維矩陣。 MATLAB按列優(yōu)先排列的一個(gè)長(zhǎng)列向量格 式(線性引用元素)來存儲(chǔ)矩陣元素。例2.30 操作符“:”可以用來表示矩陣的多個(gè)元素。若A是二維矩陣,其主要用法如下: A(:,:) 返回矩陣A的所有元素。 A(i,:) 返回矩陣A第i行的所有元素。 A(i,k1:k2) 返回矩陣A第i行的自k1到k2 列的所有元素。 A(:,j) 返回矩陣A第j列的所有元素。 A(k1:k2,j) 返回矩陣A第j列的自k1到k

9、2 行的 所有元素。 若A是多維矩陣,也可以通過類似的方法實(shí)現(xiàn)對(duì)其訪問。 例2.312.32問. 在matlab命令窗口輸入 A=1,2,3;4,5,6; 運(yùn)行A(4)結(jié)果是 ? 運(yùn)行A(2,3)結(jié)果是? 寫出執(zhí)行以下代碼后C,D,E的值 A=1,2,3;4:6;7:9; C=A;10,11,12,D=C(1:3,2 3)E=C(2,1 2) 1矩陣尺寸信息 2元素的數(shù)據(jù)類型 3矩陣的數(shù)據(jù)結(jié)構(gòu) 本小節(jié)介紹如何獲取矩陣的信息,包括矩陣的尺寸、元素的數(shù)據(jù)類型和矩陣的數(shù)據(jù)結(jié)構(gòu)等。 矩陣尺寸函數(shù)可以得到矩陣的形狀和大小信息,這些函數(shù)如下表所示。例2.332.34 設(shè)x是一維數(shù)組,x的倒數(shù)第3個(gè)元素表示

10、為_ 查詢?cè)財(cái)?shù)據(jù)類型信息的部分函數(shù)如下表所示。 判斷矩陣是否為某種指定數(shù)據(jù)結(jié)構(gòu)的函數(shù)如下表所示。改變矩陣結(jié)構(gòu)的函數(shù)表 在MATLAB中,可以用滿矩陣存儲(chǔ)方式和稀疏矩陣存儲(chǔ)方式來存儲(chǔ)矩陣。MATLAB默認(rèn)的是滿矩陣的存儲(chǔ)方式. 若一個(gè)矩陣只有少數(shù)的元素非零,稱為稀疏矩陣。 如果稀疏矩陣采用滿矩陣的方式來儲(chǔ)存就會(huì)浪費(fèi)很多的儲(chǔ)存的空間,有時(shí)還減低計(jì)算的速度,MATLAB引入了稀疏矩陣的存儲(chǔ)方式來解決這個(gè)問題,即用矩陣非零元素及其對(duì)應(yīng)的下標(biāo)來表示。 1稀疏矩陣的創(chuàng)建 2查看稀疏矩陣 3稀疏矩陣的運(yùn)算規(guī)則 在MATLAB中,用函數(shù)sparse()實(shí)現(xiàn)滿矩陣到稀疏矩陣的轉(zhuǎn)換。例2.45 在MATLAB中

11、用函數(shù)full()實(shí)現(xiàn)稀疏矩陣 到滿矩陣的轉(zhuǎn)換。 在MATLAB中,還可以用函數(shù)sparse() 直接創(chuàng)建稀疏矩陣,其具體用法如下。 S = sparse(i,j,s,m,n),其中,i和j分別是稀疏矩陣非零元素的行和列下標(biāo),s為相應(yīng)的非零元素的值,m和n分別是矩陣的行數(shù)和列數(shù)。例2.46 MATLAB還提供一些函數(shù)用于創(chuàng)建特殊稀疏矩陣,這些函數(shù)如下表所示。 MATLAB提供一些函數(shù)用于查看稀疏矩陣的信息,如下表所示。 下面的例子都是基于MATLAB自帶的稀疏矩陣west0479。 在MATLAB中的各種命令和函數(shù)都可以用于稀疏矩陣的運(yùn)算,并且遵循如下的一些約定。(1)把矩陣變?yōu)闃?biāo)量或者定長(zhǎng)向

12、量的函數(shù)總 是給出滿矩陣;(2)對(duì)于標(biāo)量或者定長(zhǎng)向量變換到矩陣的函 數(shù),如函數(shù)zeros()、ones()、 eye()、rand()等總是給出滿矩陣;(3)從矩陣到矩陣的變換函數(shù)將以原矩陣的 形式出現(xiàn);(4)在參與矩陣擴(kuò)展的子矩陣(如 A B;C D)中,只要有一個(gè)是稀疏矩陣,那 么所得的結(jié)果也是稀疏矩陣;(5)在矩陣引用中,將仍以原矩陣形式給出 結(jié)果。 寫出下列指令運(yùn)行結(jié)果。A=zeros(2,4); A(:)=1:8; s=2 3 5;A(s)Sa=10 20 30A(s)=Sa2.3.1 算數(shù)運(yùn)算符2.3.2 關(guān)系運(yùn)算符2.3.3 邏輯運(yùn)算符2.3.4 運(yùn)算優(yōu)先級(jí) 在MATLAB中提供

13、了豐富的運(yùn)算符,包括算數(shù)、關(guān)系和邏輯等3種運(yùn)算符。 在MATLAB中,算數(shù)運(yùn)算符的用法和功能如下表所示。 續(xù)表補(bǔ)充說明AB的用法如下: 當(dāng)A和B都為矩陣時(shí),此運(yùn)算無定義; 當(dāng)A和B都是標(biāo)量時(shí),表示標(biāo)量A的B次 冪; 當(dāng)A是標(biāo)量且B為矩陣時(shí),表示標(biāo)量A的 B中各元素次冪; 當(dāng)A為方陣且B為正整數(shù)時(shí),表示矩陣A 的B次乘積; 當(dāng)A為方陣且B為負(fù)整數(shù)時(shí),表示矩陣A逆 的B次乘積; 當(dāng)A為可對(duì)角化的方陣且B為非整數(shù)時(shí),有 如下表達(dá)式: 例2.512.55 已知a=2:2:8, b=2:5,下面的運(yùn)算表達(dá)式中,出錯(cuò)的為 ( ) (A) a *b (B) a .*b (C) a*b (D) a-b MAT

14、LAB中關(guān)系運(yùn)算符的用法和功能如下表所示。 值得注意的是,關(guān)系運(yùn)算符只針對(duì)兩個(gè)相同長(zhǎng)度的矩陣,或其中之一是標(biāo)量的情況進(jìn)行運(yùn)算。 對(duì)于前者,是指兩個(gè)矩陣的對(duì)應(yīng)元素進(jìn)行比 較,返回具有相同長(zhǎng)度的矩陣; 對(duì)于后者,是指這個(gè)標(biāo)量與另一個(gè)矩陣的每元 素進(jìn)行運(yùn)算。 關(guān)系運(yùn)算的運(yùn)算結(jié)果只有0和1兩種情況,其中,0表示不滿足條件,1表示滿足條件。例2.56 已知A=1 2 3;4 5 0;7 8 9;B=1 0 3;1 5 0;0 1 2;寫出下列各指令運(yùn)行的結(jié)果。 A+B; A.*B; A=B ; MATLAB提供元素方式和比特方式等邏輯運(yùn)算符。元素方式邏輯運(yùn)算符的用法和功能如下表所示,其中例子采用如下矩陣

15、: 元素方式邏輯運(yùn)算符& 、 | 和 與函數(shù)and()、or()和not()是等價(jià)的。 比特方式邏輯運(yùn)算符只接受邏輯和非負(fù)整數(shù)類型的輸入變量,它是針對(duì)輸入變量的二進(jìn)制進(jìn)行邏輯運(yùn)算。 比特方式邏輯運(yùn)算符的用法和功能如下表所示,表中例子采用A = 28和B = 200,其對(duì)應(yīng)的二進(jìn)制分別為11100和11001000。 已知A=0 9 6;1 3 0;B=1 4 3;1 5 0;寫出下列各指令運(yùn)行的結(jié)果。 A & B 的運(yùn)行結(jié)果_; A | B 的運(yùn)行結(jié)果_。 運(yùn)算符的優(yōu)先級(jí)決定表達(dá)式求值順序; 具有相同優(yōu)先級(jí)的運(yùn)算符從左到右依次進(jìn) 行運(yùn)算; 不同優(yōu)先級(jí)的運(yùn)算符采用先進(jìn)行優(yōu)先高的

16、運(yùn)算。 由表中可以看到,括號(hào)的優(yōu)先級(jí)別最高,因此可以用括號(hào)來改變默認(rèn)的優(yōu)先等級(jí)。例2.572.58 試問MATLAB表達(dá)式2*232的結(jié)果是( ) A128 B4096 C. 262144 D256 2.4.1 字符串的構(gòu)造 2.4.2 字符串的比較 2.4.3 字符串的查找和替換 2.4.4 字符串與數(shù)值間的轉(zhuǎn)換 MATLAB提供了豐富的字符串操作,包括字符串的創(chuàng)建、合并、比較、查找以及與數(shù)值之間的轉(zhuǎn)換。 在MATLAB中,可以用一對(duì)單引號(hào)來表示字符串。例2.59 1字符串比較函數(shù) 2用關(guān)系運(yùn)算符比較字符串 在MATLAB中提供了對(duì)字符串、字符串?dāng)?shù)組和字符子串的比較功能。 在MATLAB中,

17、字符串比較函數(shù)如下表所示。 例2.642.65 在MATLAB中,可以對(duì)字符串運(yùn)用關(guān)系運(yùn)算符,但要求兩個(gè)字符串具有相同的長(zhǎng)度,或者其中一個(gè)是標(biāo)量。 MATLAB提供的一些字符串查找和替換函數(shù)如下表所示。 已知變量:A=ilovematlab;B=matlab, 請(qǐng)找出:(1) B在A中的位置。 (2) 把B放在A后面,形成C=ilovematlabmatlab MATLAB提供的一些數(shù)值轉(zhuǎn)換為字符串函數(shù)如下表所示。 續(xù)表 MATLAB提供的一些字符串轉(zhuǎn)換為數(shù)值函數(shù)如下表所示。 1計(jì)算復(fù)數(shù)3+4i與56i的乘積。2構(gòu)建結(jié)構(gòu)體Students,屬性包含Name、Age 和Email,數(shù)據(jù)包括Zha

18、ng,18, , 、 Wang,21, 和Li, ,構(gòu)建后讀取 所有Name屬性值,并且修改Zhang的Age屬 性值為19。3用滿矩陣和稀疏矩陣存儲(chǔ)方式分別構(gòu)造下述矩 陣:4采用向量構(gòu)造符得到向量1,5,9,41。5按水平和豎直方向分別合并下述兩個(gè)矩陣: 6 分別刪除第5題兩個(gè)結(jié)果的第2行。7 分別將第5題兩個(gè)結(jié)果的第2行最后3列的數(shù)值 改為11 12 13。8 分別查看第5題兩個(gè)結(jié)果的各方向長(zhǎng)度。9 分別判斷pi是否為字符串和浮點(diǎn)數(shù)。10分別將第5題兩個(gè)結(jié)果均轉(zhuǎn)換為29的矩陣。11計(jì)算第5題矩陣A的轉(zhuǎn)秩。12分別計(jì)算第5題矩陣A和B的A+B、A.* B和 AB。13判斷第5題矩陣A和B中哪些元素值不小于4。14分別用函數(shù)strcat()和矩陣合并符合并如下字 符串: The picture is 和 very good 。15創(chuàng)建字符串?dāng)?shù)組,其中元素分別為Picture 和 Pitch 。16在第14題結(jié)果中查找字符串e。17在第15題結(jié)果中匹配字符串Pi。18將字符串ver

溫馨提示

  • 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)論