第2章__MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第1頁
第2章__MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第2頁
第2章__MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第3頁
第2章__MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第4頁
第2章__MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第5頁
已閱讀5頁,還剩39頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第2章 MATLAB數(shù)據(jù)及其運(yùn)算2.1 MATLAB數(shù)據(jù)的特點(diǎn)2.2 變量及其操作2.3 MATLAB矩陣的表示2.4 MATLAB數(shù)據(jù)的運(yùn)算2.5 字符串2.6 結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù),矩陣是MATLAB最基本、最重要的數(shù)據(jù)對(duì)象,向量和單個(gè)數(shù)據(jù)都可以作為矩陣的特例來處理。 數(shù)值數(shù)據(jù):雙精度型、單精度數(shù)、帶符號(hào)整數(shù)和無符號(hào)整數(shù)。 字符數(shù)據(jù)。 結(jié)構(gòu)體(Structure)和單元(Cell)數(shù)據(jù)類型。 稀疏矩陣(Sparse)。 邏輯型數(shù)據(jù)。在MATLAB中,以數(shù)值1(非零)表示“真”,以數(shù)值0表示“假”。,2.1 MATLAB數(shù)據(jù)的特點(diǎn),2.2 變量及其操作,2.2.1 變量與賦值 1變量命名在MA

2、TLAB 7.0中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個(gè)字符。在MATLAB中,變量名區(qū)分字母的大小寫。Matlab提供的標(biāo)準(zhǔn)函數(shù)名以及命令名必須用小寫字母。,2賦值語句 (1) 變量=表達(dá)式 (2) 表達(dá)式: 賦值給默認(rèn)變量ans 其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,其結(jié)果是一個(gè)矩陣。,例2.1 計(jì)算表達(dá)式 的值,并顯示計(jì)算結(jié)果。在MATLAB命令窗口輸入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率和虛數(shù)單位。,3. 預(yù)定義變量 在MATLAB工作空間中,還駐

3、留幾個(gè)由系統(tǒng)本身定義的變量。例如,用pi表示圓周率的近似值,用i,j表示虛數(shù)單位。 預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。,eps 容差變量,定義為1.0到最近浮點(diǎn)數(shù)的距離,在 pc機(jī)上= 2-52 pi 圓周率的近似值3.1415926 inf或Inf 表示正無大,定義為1/0 NaN 非數(shù),它產(chǎn)生于0 ,0/0,/ 等運(yùn)算 i,j 虛數(shù)單位 ans 對(duì)于未賦值運(yùn)算結(jié)果,自動(dòng)賦給ans,2.2.2 變量的管理 1內(nèi)存變量的顯示與刪除 who和whos這兩個(gè)命令用于顯示在MATLAB工作空間中已經(jīng)駐留的變量名清單。 who命令只顯示出駐留變量的名稱 whos在給出變量

4、名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。 clear命令用于刪除MATLAB工作空間中的變量。,MATLAB工作空間窗口專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。 當(dāng)選中某些變量后,再單擊Open Selection按鈕,將進(jìn)入變量編輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。,2.2.2 變量的管理,2內(nèi)存變量文件 利用MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來,擴(kuò)展名是.mat。 MAT文件的生成和裝入由save和load命令來完

5、成。常用格式為:save 文件名 變量名表 -append-asciiload 文件名 變量名表 -ascii 文件名可以帶路徑,但不需帶擴(kuò)展名.mat 變量名表中的變量個(gè)數(shù)不限,只要內(nèi)存或文件中存在即可,變量名之間以空格分隔,當(dāng)變量名表省略時(shí),保存或裝入全部變量。 -ascii選項(xiàng)使文件以ASCII格式處理 save命令中的-append選項(xiàng)控制將變量追加到MAT文件中。,2.2.3 數(shù)據(jù)的輸出格式 MATLAB用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。 在一般情況下,MATLAB內(nèi)部每一個(gè)數(shù)據(jù)元素都是用雙精度數(shù)來表示和存儲(chǔ)的。 數(shù)據(jù)輸出時(shí)用戶可以用format命

6、令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符其中格式符決定數(shù)據(jù)的輸出格式。 默認(rèn)輸出格式為short,小數(shù)點(diǎn)后4位小數(shù)。,2.3 MATLAB矩陣的表示,2.3.1 矩陣的建立1直接輸入法規(guī)則: 矩陣元素必須用 括住 矩陣元素必須用逗號(hào)或空格分隔 在 內(nèi)矩陣的行與行之間必須 用分號(hào)分隔或直接用回車符,矩陣元素可以是任何matlab表達(dá)式,可以是實(shí)數(shù) ,也可以是復(fù)數(shù),復(fù)數(shù)可用預(yù)定義變量i,j 輸入 a=1 2 3;4 5 6 x=2 pi/2;sqrt(3) 3+5i,矩陣元素,2利用M文件建立矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè)M文件。,例2.2

7、 利用M文件建立矩陣。,(1) 啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣: (2) 把輸入的內(nèi)容以純文本方式存盤(設(shè)文件名為mymatrix.m)。 (3) 在MATLAB命令窗口中輸入mymatrix,即運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為MYMAT的矩陣,可供以后使用。,3建立大矩陣大矩陣可由方括號(hào)中的小矩陣或向量建立起來。 例如 A=1 2 3;4 5 6;7 8 9; C=A,eye(size(A); ones(size(A),A eye返回單位矩陣(對(duì)角線為1) ones返回全1矩陣,2.3.2 冒號(hào)表達(dá)式 用于生成等間隔的向量,默認(rèn)間隔為1。冒號(hào)表達(dá)式可以產(chǎn)生一個(gè)行向

8、量,一般格式是: e1:e2:e3其中e1為初始值,e2為步長(zhǎng),e3為終止值。 用于選出矩陣指定行、列及元素。 linspace函數(shù)與冒號(hào)表達(dá)式 linspace也可以產(chǎn)生行向量。其調(diào)用格式為:linspace(a,b,n) a和b是生成向量的第一個(gè)和最后一個(gè)元素,n是元素總數(shù)。 顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。,2.3.3 矩陣的拆分 矩陣元素 通過下標(biāo)(從1開始)引用矩陣的元素,例如A(3,2)=200 采用矩陣元素的序號(hào)來引用矩陣元素。矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。

9、例如A=1,2,3;4,5,6;A(3)ans = 2 序號(hào)與下標(biāo)關(guān)系:以mn矩陣A為例,矩陣元素A(i,j)的序號(hào)為(j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。,2矩陣拆分 (1) 利用冒號(hào)表達(dá)式獲得子矩陣 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列中的所有元素。 A(:)將矩陣A每一列

10、元素堆疊起來,成為一個(gè)列向量,而這也是MATLAB變量的內(nèi)部?jī)?chǔ)存方式。 此外,還可利用一般向量和end運(yùn)算符來表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。 例:A(1,3,2:end),(2) 利用空矩陣刪除矩陣的元素 在MATLAB中,定義為空矩陣。 !注意,X=與clear X不同,clear是將X從工作空間中刪除;空矩陣則存在于工作空間中,只是維數(shù)為0。 !將元素置為空矩陣可以將該元素刪除 例: A(:,2,4)= 表示刪除A的第二列和第四列的元素,2.4 MATLAB數(shù)據(jù)的運(yùn)算 2.4.1 算術(shù)運(yùn)算 1基本算術(shù)運(yùn)算 MATLAB的基本算術(shù)運(yùn)算有:(加)、(減)、*(乘

11、)、/(右除)、(左除)、(乘方)。!注意,運(yùn)算是在矩陣意義下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。,(1) 矩陣加減運(yùn)算,兩個(gè)矩陣A和B,則可以由A+B和A-B實(shí)現(xiàn)矩陣的加減運(yùn)算。 運(yùn)算規(guī)則是: 若A和B矩陣的維數(shù)相同,則可以執(zhí)行矩陣的加減運(yùn)算,A和B矩陣的相應(yīng)元素相加減。 如果A與B的維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。 標(biāo)量和矩陣運(yùn)算時(shí)將該標(biāo)量和矩陣的所有元素進(jìn)行運(yùn)算。,(2) 矩陣乘法,矩陣A和B,若A為mn矩陣,B為np矩陣,則C=A*B為mp矩陣。 注意: A矩陣的列數(shù)必須等于B矩陣的行數(shù) 標(biāo)量可與任何矩陣相乘。,(3) 矩陣除法,MATLAB

12、中,有兩種矩陣除法運(yùn)算:和/,分別表示左除和右除。如果A矩陣是非奇異方陣,則AB和B/A運(yùn)算可以實(shí)現(xiàn)。 AB等效于A的逆左乘B矩陣: AB =inv(A)*B; B/A等效于A矩陣的逆右乘B矩陣: B/A =B*inv(A)。 對(duì)于含有標(biāo)量的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如3/4和43有相同的值,都等于0.75。又如,設(shè)a=10.5,25,則a/5=5a=2.1000 5.0000。 對(duì)于矩陣來說,左除和右除表示兩種不同的除數(shù)矩陣和被除數(shù)矩陣的關(guān)系。對(duì)于矩陣運(yùn)算,一般ABB/A。,(4) 矩陣的乘方,一個(gè)矩陣的乘方運(yùn)算可以表示成Ax,要求A為方陣,x為標(biāo)量(可以為小數(shù))。A0.1:開方,2點(diǎn)運(yùn)

13、算,在MATLAB中,有一種特殊的運(yùn)算,因?yàn)槠溥\(yùn)算符是在有關(guān)算術(shù)運(yùn)算符前面加點(diǎn),所以叫點(diǎn)運(yùn)算。 點(diǎn)運(yùn)算符有.*、./、.和.。兩矩陣進(jìn)行點(diǎn)運(yùn)算是指它們的對(duì)應(yīng)元素進(jìn)行相關(guān)運(yùn)算,要求兩矩陣的維數(shù)相同。 例:A=1 2 3; 4 5 6;7 8 9; B=-1 0 1; 1 1 0; 0 1 1 A.*B A./B=B.A A.2 例:x=1 2 3;y=4 5 6 x.y x.2 2.x y !若參與運(yùn)算的是向量,請(qǐng)注意點(diǎn)運(yùn)算和非點(diǎn)運(yùn)算的區(qū)別。若需對(duì)兩個(gè)向量(矩陣)的對(duì)應(yīng)元素進(jìn)行運(yùn)算,則用點(diǎn)運(yùn)算。,3. MATLAB常用數(shù)學(xué)函數(shù),表2-3 函數(shù)使用說明:(1) 三角函數(shù)以弧度為單位計(jì)算。(2) a

14、bs函數(shù)可以求實(shí)數(shù)的絕對(duì)值、復(fù)數(shù)的模、字符串的ASCII碼值。(3) 用于取整的函數(shù)有fix、floor、ceil、round,要注意它們的區(qū)別。(4) rem與mod函數(shù)的區(qū)別。rem(x,y)和mod(x,y)要求x,y必須為相同大小的實(shí)矩陣或?yàn)闃?biāo)量。,2.4.2 關(guān)系運(yùn)算,MATLAB提供了6種關(guān)系運(yùn)算符:(大于)、=(大于或等于)、=(等于)、=(不等于)。它們的含義不難理解,但要注意其書寫方法與數(shù)學(xué)中的不等式符號(hào)不盡相同。,關(guān)系運(yùn)算的運(yùn)算法則,(1)當(dāng)兩個(gè)比較量是標(biāo)量時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。 (2)當(dāng)參與比較的量是兩個(gè)維數(shù)相同的矩陣時(shí),比較是

15、對(duì)兩矩陣相同位置的元素按標(biāo)量關(guān)系運(yùn)算規(guī)則逐個(gè)進(jìn)行,并給出元素比較結(jié)果。最終的關(guān)系運(yùn)算的結(jié)果是一個(gè)維數(shù)與原矩陣相同的矩陣,它的元素由0或1組成。,關(guān)系運(yùn)算的運(yùn)算法則,(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組成。,例2.3 建立5階方陣A,判斷A的元素是否能被3整除。 A =24,35,13,22,63;23,39,47,80,80; . 90,41,80,29,10;45,57,85,62,21;37,19,31,88,76 P=rem(A,3)=

16、0 其中,rem(A,3)是矩陣A的每個(gè)元素除以3的余數(shù)矩陣。此時(shí),0被擴(kuò)展為與A同維數(shù)的零矩陣,P是進(jìn)行等于(=)比較的結(jié)果矩陣。,2.4.3 邏輯運(yùn)算,MATLAB提供了3種邏輯運(yùn)算符: y=sin(x); y1=(x2*pi).*y; %消去負(fù)半波 q=(xpi/3 %按要求處理第(2)步,MATLAB的關(guān)系與邏輯運(yùn)算函數(shù),見表2.4 例2.5 建立矩陣A,然后找出在10,20區(qū)間的元素的位置。 (1) 建立矩陣A。 A=4,15,-45,10,6;56,0,17,-45,0 (2) 找出大于4的元素的位置。 find(A=10 subch=ch(1:5) %取子字符串revch=ch(

17、end:-1:1) %將字符串倒排k=find(ch=a %將小寫字母變成相應(yīng)的大寫字母char(ch) length(k) %統(tǒng)計(jì)小寫字母的個(gè)數(shù),字符串函數(shù),表2.5 例如eval,其調(diào)用格式為: eval(t)其中t為字符串。它的作用是把字符串的內(nèi)容作為對(duì)應(yīng)的MATLAB語句來執(zhí)行。,2.6 結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù),2.6.1 結(jié)構(gòu)數(shù)據(jù) 結(jié)構(gòu)矩陣的建立 結(jié)構(gòu)矩陣的元素可以是不同的數(shù)據(jù)類型,它能將一組具有不同屬性的數(shù)據(jù)納入到一個(gè)統(tǒng)一的變量名下進(jìn)行管理。 建立一個(gè)結(jié)構(gòu)矩陣可采用給結(jié)構(gòu)成員賦值的辦法。具體格式為:結(jié)構(gòu)矩陣名.成員名=表達(dá)式 其中表達(dá)式應(yīng)理解為矩陣表達(dá)式。 例: a(1).x1=12;

18、 a(1).x2=yu;a(1).x3=36 78;59 100; a(2).x1=11; a(2).x2=ma;a(2).x3=1 2;3 7; a(3).x1=10; a(3).x2=liu;a(3).x3=11 21;34 78;,2.6.1 結(jié)構(gòu)數(shù)據(jù),結(jié)構(gòu)數(shù)據(jù)的引用 可引用某元素的成員,顯示其值。如a(1).x3 可引用某元素,顯示其成員名和成員的值。如a(1) 可引用結(jié)構(gòu)矩陣本身,只顯示結(jié)構(gòu)矩陣的大小參數(shù)和成員名,如 a 結(jié)構(gòu)成員的修改 可以根據(jù)需要增加或刪除結(jié)構(gòu)的成員。例如要給結(jié)構(gòu)矩陣a增加一個(gè)成員x4,可給a中任意一個(gè)元素增加成員x4:a(1).x4=410075;但其他成員均為空矩陣,可以使用賦值語句給它賦確定的值。 要?jiǎng)h除結(jié)構(gòu)的成員,則可以使用rmfield函數(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)論