MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第1頁(yè)
MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第2頁(yè)
MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第3頁(yè)
MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第4頁(yè)
MATLAB數(shù)據(jù)及其運(yùn)算.ppt_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀 繼續(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)算數(shù)據(jù)的特點(diǎn)、表示方法、基本運(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ù),2.1 MATLAB數(shù)據(jù)的特點(diǎn),基本的數(shù)據(jù)類型 數(shù)值數(shù)據(jù):雙精度型、單精度數(shù)、帶符號(hào)整數(shù)和無(wú)符號(hào)整數(shù)。 字符數(shù)據(jù): 邏輯型數(shù)據(jù):在MATLAB中,以數(shù)值1(非零)表示“真”,以數(shù)值0表示“假”。 函數(shù)句柄(Function Handles):(指向函數(shù)的指針),較復(fù)雜的數(shù)據(jù)類型 數(shù)組(arrays):一維數(shù)組、二維數(shù)組、多維數(shù)組。 結(jié)構(gòu)體(Structure) 和 單元(Cell)

2、數(shù)據(jù)類型。 類(Classes):,最基本、最重要的數(shù)據(jù)對(duì)象(數(shù)據(jù)結(jié)構(gòu)) 矩陣(Matrix) 是MATLAB最基本、最重要的數(shù)據(jù)對(duì)象,MATLAB的大部分運(yùn)算或命令都是在矩陣運(yùn)算的意義下執(zhí)行的,而且這種運(yùn)算定義在 復(fù)數(shù)域 上。(用 二維數(shù)組 存儲(chǔ)或表示) 向量 和 單個(gè)數(shù)據(jù) 都可以作為矩陣的特例來處理。,作為整體直接參加某些運(yùn)算,2.2 變量及其操作,2.2.1 變量與賦值1變量命名在MATLAB 7.0中,變量名是以字母開頭,后接字母、數(shù)字或下劃線的字符序列,最多63個(gè)字符。 在MATLAB中,變量名區(qū)分字母的大小寫。,2賦值語(yǔ)句 (命令) (1) 變量=表達(dá)式 (建立或定義變量)(2)

3、表達(dá)式其中表達(dá)式是用運(yùn)算符將有關(guān)運(yùn)算量連接起來的式子,其結(jié)果是一個(gè)矩陣。,注意: 語(yǔ)句后有分號(hào); 和 無(wú) 分號(hào) 之別 注釋,例2.1 計(jì)算表達(dá)式的值,并顯示計(jì)算結(jié)果。,3. 預(yù)定義變量 在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。例如,用pi表示圓周率的近似值,用i,j表示虛數(shù)單位。預(yù)定義變量有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。 ans :代表 answer P18,在MATLAB命令窗口輸入命令:x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i)其中pi和i都是MATLAB預(yù)先定義的變量,分別代表代表圓周率和虛數(shù)單位。,2.2.2 變量的管

4、理1內(nèi)存變量的 顯示 與 刪除 who和whos這兩個(gè)命令用于顯示在 MATLAB工作空間中已經(jīng)駐留的變量名清單。who命令只顯示出駐留變量的名稱,whos在給出變量名的同時(shí),還給出它們的大小、所占字節(jié)數(shù)及數(shù)據(jù)類型等信息。,clear 命令用于刪除MATLAB工作空間中的變量。 MATLAB工作空間窗口 專門用于內(nèi)存變量的管理。在工作空間窗口中可以顯示所有內(nèi)存變量的屬性。當(dāng)選中某些變量后,再單擊Delete按鈕,就能刪除這些變量。當(dāng)選中某些變量后,再單擊Open Selection按鈕,將進(jìn)入變量編輯器。通過變量編輯器可以直接觀察變量中的具體元素,也可修改變量中的具體元素。,2內(nèi)存變量文件 利

5、用MAT文件可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來,擴(kuò)展名是.mat。MAT文件的生成和裝入由save和load命令來完成。常用格式為:save 文件名 變量名表 -append -ascii,load 文件名 變量名表 -ascii,文件名可以帶路徑,但不需帶擴(kuò)展名.mat,命令隱含一定對(duì).mat文件進(jìn)行操作。,變量名表中的變量個(gè)數(shù)不限,只要內(nèi)存中存在即可,變量名之間以空格分隔。當(dāng)變量名表省略時(shí),保存或裝,控制將變量追加到MAT文件尾部。,使文件以ASCII格式處理,省略該選項(xiàng)時(shí)文件將以二進(jìn)制格式處理。,保存工作空間的所有變量:,File / save workspac

6、e as,從Mat文件將變量導(dǎo)入到工作空間:,File / import Data,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 命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符其中格式符決定數(shù)據(jù)的輸出格式,2.3 MATLAB矩陣的表示,2.3.1 矩陣的建立1直接輸入法 最簡(jiǎn)單的建立矩陣的方法是從鍵盤直接輸入矩陣的元素。具體方法如下:將矩陣的元素用方括號(hào)括起來,按矩陣行的順序輸入各

7、元素,同一行的各元素之間用 空格或 逗號(hào) 分隔,不同行的元素之間用分號(hào)或 回車符 分隔。 2利用 M文件 (程序文件) 建立矩陣 對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專門建立一個(gè) M文件。下面通過一個(gè)簡(jiǎn)單例子來說明如何利用M文件創(chuàng)建矩陣。,例2.2 利用M文件建立MYMAT矩陣。(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)中的 小矩陣 或 向量

8、 建立起來。 例如 A=1 2 3; 4 5 6; 7 8 9;,2 3100 56010 89001 11 1 11 111,A,C=A , eye(size(A) ; ones(size(A) , A,2.3.2 冒號(hào)表達(dá)式 冒號(hào)表達(dá)式可以產(chǎn)生一個(gè) 行向量,一般格式是: e1: e2: e3其中e1為初始值,e2為步長(zhǎng)(缺省時(shí)表示為1),e3為終止值。,在MATLAB中,還可以用 linspace函數(shù)產(chǎn)生 行向量。其調(diào)用格式為:linspace(a, b, n) 其中a和b是生成向量的第一個(gè)和最后一個(gè)元素,n是元素總數(shù)。顯然,linspace(a,b,n)與a:(b-a)/(n-1):b等

9、價(jià)。,2.3.3 矩陣的拆分1矩陣元素 通過下標(biāo)(Subscript )引用矩陣的元素,例如A(3,2)=200 采用矩陣元素的序號(hào)(Index)來引用矩陣元素。 矩陣元素的序號(hào)就是相應(yīng)元素在內(nèi)存中的排列順序。在MATLAB中,矩陣元素按列存儲(chǔ),先第一列,再第二列,依次類推。例如A=1,2,3 ; 4,5,6;,顯然,序號(hào)(Index) 與 下標(biāo)(Subscript ) 是一一對(duì)應(yīng)的,以mn矩陣A為例,矩陣元素A(i,j)的序號(hào)為 (j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得。,矩陣的自動(dòng)增長(zhǎng)現(xiàn)象:給出的下標(biāo)值超過原矩陣的大小。 向量 矩陣:對(duì)于向量元素,給

10、出的下標(biāo)個(gè)數(shù)為2。(維數(shù)自動(dòng)增加),A( 3 ) ans = 2 A(1,2),有關(guān)函數(shù): ndims (A) size(A); length (A) reshape(A,m,n),2矩陣拆分 (取矩陣中的子矩陣) (1) 利用冒號(hào)表達(dá)式獲得子矩陣 A( : , j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i,j)表示取A矩陣第i行、第j列的元素。,p25,A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ,B=A(:,3),3 8 13 18, A(i : i+m , :)表示取A矩陣第ii+m行的全

11、部元素;A(:,k:k+m)表示取A矩陣第kk+m列的全部元素,A(i:i+m ,k:k+m)表示取A矩陣第ii+m行內(nèi),并在第kk+m列中的所有元素。,p25,A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ,A(2:3 , :),A(:, 2:4),A(i:i+m ,k:k+m)表示取A矩陣第ii+m行內(nèi),并在第kk+m列中的所有元素。,A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ,A(2:3, 2:4),可以利用 一般向量 和 end 運(yùn)算符來表示矩陣下標(biāo),從而獲得

12、子矩陣。end表示某一維的末尾元素下標(biāo)。,p25,A( 1,3,1 3 5 ),A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 , 1 3 5 11 13 15 ,A( 1,end-1,1 :2:end ) ?,A( : )將矩陣A每一列元素堆疊起來,成為一個(gè)列向量,而這也是MATLAB變量的內(nèi)部?jī)?chǔ)存方式。,p25,A( 8 ) ? A( 1,3,4,5 ) ? A( 1,3 ;4 5 ) ?,A= 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 ,(2) 利用 空矩陣 刪除矩陣的

13、元素 在MATLAB中,定義 為 空矩陣。給變量X賦空矩陣的語(yǔ)句為X= 。注意,X= 與 clear X 不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間中,只是維數(shù)為0。,2.4 MATLAB數(shù)據(jù)的運(yùn)算 2.4.1 算術(shù)運(yùn)算1基本算術(shù)運(yùn)算 MATLAB的基本算術(shù)運(yùn)算有:(加)、(減)、*(乘)、/(右除)、(左除)、(乘方)。注意,運(yùn)算是在 矩陣意義 下進(jìn)行的,單個(gè)數(shù)據(jù)的算術(shù)運(yùn)算只是一種特例。,(1) 矩陣加減運(yùn)算 兩個(gè)同維矩陣運(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)元

14、素相加減。如果A與B的維數(shù)不相同,則MATLAB將給出錯(cuò)誤信息,提示用戶兩個(gè)矩陣的維數(shù)不匹配。,2 3 4,+ 10,一個(gè)標(biāo)量 與 矩陣 運(yùn)算的情況,補(bǔ):兩個(gè)多維數(shù)組運(yùn)算的情況,(2) 矩陣乘法 假定有兩個(gè)矩陣A和B,若A為mn矩陣,B為np矩陣,則C=A*B 為 mp 矩陣。,標(biāo)量 與 矩陣 相乘,(3) 矩陣除法在MATLAB中,有兩種矩陣除法運(yùn)算: :表示左除,AB :表示 A-1B 即: inv(A)*B。 / :表示右除。B/A :表示 BA-1 即: B*inv(A) 。,對(duì)于矩陣來說,左除和右除表示兩種不同的 除數(shù)矩陣 和 被除數(shù)矩陣 的關(guān)系。對(duì)于矩陣運(yùn)算,一般ABB/A。,對(duì)于

15、只有 標(biāo)量 的運(yùn)算,兩種除法運(yùn)算的結(jié)果相同,如: 3/4 和 43 有相同的值,都等于0.75。 又如,設(shè)a=10.5,25,則: a/5=5a=2.1000 5.0000。,(4) 矩陣的乘方 一個(gè)矩陣的乘方運(yùn)算可以表示成Ax,要求A為方陣,x為標(biāo)量。,注意:一個(gè)是矩陣,另一個(gè)是標(biāo)量的運(yùn)算( . ),2點(diǎn)運(yùn)算 在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ù)相同。,補(bǔ):兩個(gè)多維數(shù)組的 點(diǎn)運(yùn)算。,3. MATLAB常用數(shù)學(xué)函數(shù)函數(shù)使用說明:

16、(1) 三角函數(shù)以弧度為單位計(jì)算。(2) abs函數(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)量。,sin( ) =,2 3 4,sin(1) sin(2) sin(3) sin(4),不是超越函數(shù) (P51) !,2.4.2 關(guān)系運(yùn)算 MATLAB提供了6種關(guān)系運(yùn)算符: (大于)、 = (大于或等于)、 = (等于)、 = (不等于)。 它們的 含義 不難理解,但要注意其 書寫方法 與數(shù)學(xué)中的

17、 不等式符號(hào) 不盡相同。,關(guān)系運(yùn)算符的運(yùn)算法則為: (1) 當(dāng)兩個(gè)比較量是 標(biāo)量 時(shí),直接比較兩數(shù)的大小。若關(guān)系成立,關(guān)系表達(dá)式結(jié)果為1,否則為0。,12 34 44 53,(2) 當(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組成。,=,1 1 0 0,(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

18、 建立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)=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)算符:,ya=xpi ; plot(x,ya),yb=x2*pi ; plot(x,yb),yc=x2*pi; plot(x,yc),y=sin(x) ; plot(x,y),y1

19、=(x2*pi).*y,( x(i) , y(i) ),例2.4 在0, 3區(qū)間,對(duì)y=sin(x)的圖形如下處理。要求: (1)消去負(fù)半波,即(,2)區(qū)間內(nèi)的函數(shù)值置0。 (2)(/3, 2/3 )和( 7/3, 8/3 )區(qū)間內(nèi)取值均為sin /3 。,x=0:pi/100:3*pi;,q=(xpi/3 plot(x,q),qn=q ; plot(x,qn),ye=qn.*y1; plot(x,ye),y1=(x2*pi).*y,y1= q*sin(pi/3)+ qn.*y1; plot(x,y1),yf=q*sin(pi/3); plot(x,yf),MATLAB還提供了一些關(guān)系與邏輯運(yùn)

20、算函數(shù)。 P32,例2.5 建立矩陣A,然后找出在10,20區(qū)間的元素的 位置 ( 序號(hào) ) (1) 建立矩陣A。 A=4,15,-45,10,6;56,0,17,-45,0 (2) 找出大于10而小于20 的元素的位置。 找出大于10的元素:A=10 找出小于20的元素:A=10 subch=ch(1:5) %取子字符串revch=ch(end:-1:1) %將字符串倒排k=find(ch=a %將小寫字母變成相應(yīng)的大寫字母char(ch) length(k) %統(tǒng)計(jì)小寫字母的個(gè)數(shù),與字符串有關(guān)的另一個(gè)重要函數(shù)是eval,其調(diào)用格式為: eval( t )其中t為字符串。它的作用是把字符串的內(nèi)容作為對(duì)應(yīng)的MATLAB語(yǔ)句來執(zhí)行。,2.6 結(jié)構(gòu)數(shù)據(jù)和單元數(shù)據(jù)2.6.1 結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)類型是由一組類型不同而邏輯上相關(guān)的數(shù)據(jù)組成一個(gè)有機(jī)的整體,每個(gè)組成部分叫域。它能將一組具有不同屬性的數(shù)據(jù)納入到一個(gè)統(tǒng)一的變量名下進(jìn)行管理。 結(jié)構(gòu)數(shù)據(jù)類型變量的建立: 結(jié)構(gòu)數(shù)據(jù)類型變量 . 成員名表達(dá)式,1個(gè)學(xué)生的信息: student1.no=1;

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論