MATLAB語(yǔ)言-周數(shù)據(jù).ppt_第1頁(yè)
MATLAB語(yǔ)言-周數(shù)據(jù).ppt_第2頁(yè)
MATLAB語(yǔ)言-周數(shù)據(jù).ppt_第3頁(yè)
MATLAB語(yǔ)言-周數(shù)據(jù).ppt_第4頁(yè)
MATLAB語(yǔ)言-周數(shù)據(jù).ppt_第5頁(yè)
已閱讀5頁(yè),還剩39頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、20 Aug 2010,Matlab Programming Language,周金柱 E-mail: xidian_ Tel:電子裝備結(jié)構(gòu)設(shè)計(jì)教育部重點(diǎn)實(shí)驗(yàn)室 Key Laboratory of Electronic Equipment Structures of Ministry of Education,第2章 MATLAB矩陣及運(yùn)算,2.1 Matlab數(shù)據(jù) 2.2 變量和賦值 2.2.1 變量的命名 2.2.2 賦值語(yǔ)句 2.2.3 數(shù)據(jù)的輸出格式 2.2.4 預(yù)定義變量 2.2.5 內(nèi)存變量的管理 2.3 Matlab矩陣 2.3.1 矩陣的建立 2.3.

2、2 冒號(hào)表達(dá)式 2.3.3 矩陣的操作 2.3.4 特殊的矩陣,2.1數(shù)據(jù)-特點(diǎn),矩陣是MATLAB最基本、最重要的數(shù)據(jù)對(duì)象。 向量可以看成是僅有一行或一列的矩陣。 單個(gè)數(shù)據(jù)(標(biāo)量)可以看成是矩陣的特例。 一般情況下,矩陣的每個(gè)元素必須具有相同的數(shù)據(jù)類(lèi)型,在實(shí)際應(yīng)用中,有時(shí)需要將不同類(lèi)型的數(shù)據(jù)構(gòu)成矩陣的元素,也就是結(jié)構(gòu)體(Structure)和元胞(Cell)數(shù)據(jù)類(lèi)型。,2.1數(shù)據(jù)-類(lèi)型,MATLAB 7.3定義了15種基本的數(shù)據(jù)類(lèi)型,包括整型、浮點(diǎn)型、字符型和邏輯型等,用戶(hù)甚至可以定義自己的數(shù)據(jù)類(lèi)型。,變量是數(shù)值計(jì)算的基本單元。 MATlab語(yǔ)言與其他高級(jí)語(yǔ)言不同, 變量使用時(shí)無(wú)需事先定義,

3、其名稱(chēng)就 是第一次合法出現(xiàn)時(shí)的名稱(chēng),因此使 用起來(lái)很便捷。,練習(xí),2.2變量和賦值,MATLAB的變量命名規(guī)則如下: 變量名區(qū)分字母的大小寫(xiě)。例如,“a”和“A” 是不同的變量。 變量名不能超過(guò)63個(gè)字符,第63個(gè)字符后的字符被忽略。 變量名必須以字母開(kāi)頭,變量名的組成可以是任意字母、 數(shù)字或者下劃線(xiàn),但不能含有空格和標(biāo)點(diǎn)符號(hào)(如,。% 等)。 不合法例子:1 1 a/b a-1 變量1 關(guān)鍵字(如if、while等)不能作為變量名。 MATLAB提供的標(biāo)準(zhǔn)函數(shù)名以及命令名必須用小寫(xiě)字母。,練習(xí),2.2.1變量的命名,2.2.2賦值語(yǔ)句,(1) 變量=表達(dá)式 (2) 表達(dá)式 一般地,運(yùn)算結(jié)果在

4、命令窗口中顯示出來(lái)。如果在語(yǔ)句的最后加分號(hào),那么,MATLAB僅僅執(zhí)行賦值操作,不再顯示運(yùn)算的結(jié)果。 在MATLAB語(yǔ)句后面可以加上注釋?zhuān)⑨屢?開(kāi)頭,后面是注釋的內(nèi)容。 例2.1 計(jì)算表達(dá)式的值,并將結(jié)果賦給變量x,然后顯示出結(jié)果。 在MATLAB命令窗口輸入命令: x=(5+cos(47*pi/180)/(1+sqrt(7)-2*i) %計(jì)算表達(dá)式的值,練習(xí),2.2.3 數(shù)據(jù)的輸出格式,MATLAB用十進(jìn)制數(shù)表示一個(gè)常數(shù),具體可采用日常記數(shù)法和科學(xué)記數(shù)法兩種表示方法。 在命令窗口中,默認(rèn)情況下當(dāng)數(shù)值為整數(shù)時(shí),數(shù)值計(jì)算的結(jié)果以整數(shù)顯示;當(dāng)數(shù)值為實(shí)數(shù)時(shí),以小數(shù)點(diǎn)后四位的精度近似顯示,即以短(s

5、hort)格式顯示;如果數(shù)值超過(guò)這一范圍,則以科學(xué)技術(shù)法顯示結(jié)果。,例:a=1 a=1 b=3.1416 b=3.1416 c=0.00005 c=5.0000e-005,數(shù)值計(jì)算結(jié)果的顯示格式 :,數(shù)據(jù)輸出時(shí)用戶(hù)可以用format命令設(shè)置或改變數(shù)據(jù)輸出格式。format命令的格式為: format 格式符 注意,format命令只影響數(shù)據(jù)輸出格式,而不影響數(shù)據(jù)的計(jì)算和存儲(chǔ)。,例:1.format short 314.159 表示為 314.1590 3141.59 表示為 3.1416e+003 2.format short e pi 表示為 3.1416e+000 3.format rat

6、 pi 表示為 355/113,2.2.4 預(yù)定義變量,在MATLAB工作空間中,還駐留幾個(gè)由系統(tǒng)本身定義的變量。它們有特定的含義,在使用時(shí),應(yīng)盡量避免對(duì)這些變量重新賦值。,2.2.5 內(nèi)存變量的管理,1. 內(nèi)存變量的顯示與刪除 who和whos這兩個(gè)命令用于顯示在Matlab工作空間中已經(jīng)駐留的變量名清單。 clear命令用于刪除MATLAB工作空間中的變量。 注意,預(yù)定義變量不能被刪除。,2. 工作空間瀏覽器 (1) 工作空間瀏覽器的啟動(dòng) (2) 工作空間瀏覽器的操作 通常對(duì)于較大矩陣的輸入,可采用數(shù)組編輯器。操作方法: 1)在命令窗口向一個(gè)新變量賦空陣 2)在工作空間瀏覽器中打開(kāi)該變量

7、3)在數(shù)組編輯器中填寫(xiě)元素值,3. 內(nèi)存變量文件 利用MAT文件(.mat)可以把當(dāng)前MATLAB工作空間中的一些有用變量長(zhǎng)久地保留下來(lái)。MAT文件是MATLAB保存數(shù)據(jù)的一種標(biāo)準(zhǔn)格式二進(jìn)制文件,擴(kuò)展名一定是.mat MAT文件的生成和裝入由save和load命令來(lái)完成。常用格式為: save 文件名 變量名表 -append-ascii load 文件名 變量名表 -ascii 假定系統(tǒng)存在am D兩個(gè)變量,可以將其存放到mydata.mat save mydata am D load mydata am D save d:lxmmydata am D load d:lxmmydata am

8、 D,2.3 Matlab矩陣,Matlab中的數(shù)組可以說(shuō)是無(wú)處不在,任何變量都是以數(shù)組型式存儲(chǔ)和運(yùn)算的,在Matlab運(yùn)算中,經(jīng)常要用到標(biāo)量、向量、矩陣和數(shù)組,關(guān)于名稱(chēng)的定義如下: 空數(shù)組(empty array):沒(méi)有元素的數(shù)組; 標(biāo)量(scalar):是指11的矩陣,即為只含一個(gè)數(shù)的矩陣; 向量(vector):是指1n或n1的矩陣,即只有一行或者一列的矩陣; 矩陣(matrix):是一個(gè)矩形的mn數(shù)組,即二維數(shù)組; 數(shù)組(array):是指多維數(shù)組mnk,其中矩陣和向量都是數(shù)組的特例。,2.3.1 矩陣的建立,在MATLAB中矩陣的創(chuàng)建應(yīng)遵循以下基本常規(guī): 矩陣元素應(yīng)用方括號(hào)()括住

9、每行內(nèi)的元素間用逗號(hào)(,)或空格隔開(kāi) 行與行之間用分號(hào)(;)或回車(chē)鍵隔開(kāi); 元素可以是數(shù)值或表達(dá)式。,(一)直接輸入法,將矩陣的元素用方括號(hào)括起來(lái),按矩陣行的順序輸入各元素,同一行的各元素之間用空格或逗號(hào)分隔,不同行的元素之間用分號(hào)分隔。 例如A=1 2 3;4 5 6;7 8 9 也可以用回車(chē)鍵代替分號(hào)。,2.3.1 矩陣的建立,MATLAB提供對(duì)復(fù)數(shù)的操作與管理功能,虛數(shù)單位用i或j表示,例如:6+5*i與6+5*j表示同一個(gè)復(fù)數(shù)。 復(fù)數(shù)的產(chǎn)生可以有幾種方式: z=a+b*i或z=a+b*j z=a+bi或z=a+bj(當(dāng)b為常數(shù)時(shí)) z=r*exp(i*theta) z=complex(

10、a,b) 復(fù)數(shù)矩陣還可以采用另一種輸入方式 R=1,2,3;4,5,6;Q=2,3,4;7,8,9; z=R+i*Q,2.3.1 矩陣的建立,(二)利用M文件建立矩陣,對(duì)于比較大且比較復(fù)雜的矩陣,可以為它專(zhuān)門(mén)建立一個(gè)M文件。 例2.2 利用M文件建立MYMAT矩陣。 (1)啟動(dòng)有關(guān)編輯程序或MATLAB文本編輯器,并輸入待建矩陣. (2)把輸入的內(nèi)容以純文本方式存盤(pán)(設(shè)文件名為mymatrix.m)。 (3)輸入文件名,運(yùn)行該M文件,就會(huì)自動(dòng)建立一個(gè)名為MYMAT的矩陣,可供以后使用。,2.3.1 矩陣的建立,(三)利用MATLAB函數(shù)建立矩陣,幾個(gè)產(chǎn)生特殊矩陣的函數(shù): zeros 產(chǎn)生全0矩

11、陣(零矩陣) ones 產(chǎn)生全1矩陣 (么矩陣) eye 產(chǎn)生單位矩陣 rand 產(chǎn)生01間均勻分布的隨機(jī)矩陣 randn 產(chǎn)生01間正態(tài)分布的隨機(jī)矩陣,2.3.1 矩陣的建立,這幾個(gè)函數(shù)的調(diào)用格式相似,下面以產(chǎn)生零矩陣的zeros函數(shù)為例進(jìn)行說(shuō)明。其調(diào)用格式是: zeros(m) 產(chǎn)生mm零矩陣 zeros(m,n) 產(chǎn)生mn零矩陣。 zeros(size(A) 產(chǎn)生與矩陣A同樣大小的零矩陣 相關(guān)的函數(shù)有: size(A) 返回包含2個(gè)元素的向量,分別是A的行數(shù)、列數(shù) length(A) 給出行數(shù)和列數(shù)中的較大者,即 length(A)=max(size(A); ndims(A) 給出A的維

12、數(shù)。 reshape(A,m,n) 它在矩陣總元素保持不變的前提下,將矩陣A重新排成mn的二維矩陣。,2.3.1 矩陣的建立,例2.3 分別建立33、32和與矩陣A同樣大小的零矩陣。 (1)建立一個(gè)33零矩陣:zeros(3) (2)建立一個(gè)32零矩陣:zeros(3,2) (3)建立與矩陣A同樣大小零矩陣:zeros(size(A) (4)將矩陣xv重新排成25、52矩陣 xv=23,34,65,67,54,38,78,76,32,56; ym=reshape(xv,2,5) newym=reshape(xv,5,2),2.3.1 矩陣的建立,(四)建立大矩陣,大矩陣可由方括號(hào)中的小矩陣建立

13、起來(lái)。 例如: A=1 2 3;4 5 6;7 8 9; C=A,eye(size(A);ones(size(A),A,2.3.1 矩陣的建立,2.3.2 冒號(hào)表達(dá)式,冒號(hào)表達(dá)式的一般格式: e1:e2:e3 其中e1為初始值, e2為步長(zhǎng), e3為終止值。冒號(hào)表達(dá)式可產(chǎn)生一個(gè)由e1開(kāi)始到e3結(jié)束,以步長(zhǎng)e2自增的行向量。 在冒號(hào)表達(dá)式中如果省略e2不寫(xiě),則步長(zhǎng)為1。 當(dāng)e2省略或e20,e1e3; e20, e1e3都為空矩陣。,(1)使用冒號(hào)表達(dá)式生成向量,linspace(a,b,n)%生成線(xiàn)性等分向量 logspace(a,b,n)%生成對(duì)數(shù)等分向量 說(shuō)明: a、b、n三個(gè)參數(shù)分別表示

14、開(kāi)始值、結(jié)束值和元素個(gè)數(shù); linspace函數(shù)生成從a到b之間線(xiàn)性分布的n個(gè)元素的行向量,n如果省略則默認(rèn)值為100; linspace(a,b,n)與a:(b-a)/(n-1):b等價(jià)。 logspace函數(shù)生成從10a到10b之間按對(duì)數(shù)等分的n個(gè)元素的行向量,n如果省略則默認(rèn)值為50。,(2)使用linspace和logspace函數(shù)生成向量,2.3.3 矩陣的操作,MATLAB允許用戶(hù)對(duì)一個(gè)矩陣的單個(gè)元素進(jìn)行賦值和操作。而不影響其它元素的值。例如 A=ones(4);A(3,2)=200 只改變?cè)撛氐闹担挥绊懫渌氐闹?。如果給出的行下標(biāo)或列下標(biāo)大于原來(lái)矩陣的行數(shù)和列數(shù),則MAT

15、LAB將自動(dòng)擴(kuò)展原來(lái)的矩陣,并將擴(kuò)展后未賦值得矩陣元素置為0 A(4,6)=10 也可以采用矩陣元素的序號(hào)來(lái)引用矩陣元素。矩陣元素按列編號(hào),先第一列,再第二列,依次類(lèi)推。 A(6) 顯然,下標(biāo)(subscrip)與序號(hào)(index)是一一對(duì)應(yīng)的。以mn矩陣A為例,矩陣元素A(i,j)的序號(hào)為 (j-1)*m+i。其相互轉(zhuǎn)換關(guān)系也可利用sub2ind和ind2sub函數(shù)求得 sub2ind(size(A),2,3) c,d=ind2sub(size(A),6),1. 矩陣元素,(1)利用冒號(hào)表達(dá)式獲得子矩陣,A(:,j)表示取A矩陣的第j列全部元素;A(i,:)表示A矩陣第i行的全部元素;A(i

16、,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=1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35; A(2:3,4:5) A(2:3,1:2:5) 此外,還可利用一般向量和end運(yùn)算符等來(lái)表示矩陣下標(biāo),從而獲得子矩陣。end表示某一維的末尾元素下標(biāo)。 A=1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,

17、32,33,34,35; A(end,:)%取A最后一行元素 A(1,4,3:end)%取A第1、4行中第3列到最后一列元素,(2)利用空矩陣刪除矩陣的元素,在MATLAB中,定義為空矩陣。給變量X賦空矩陣的語(yǔ)句為X=。 注意:X=與clear X不同,clear是將X從工作空間中刪除,而空矩陣則存在于工作空間,只是維數(shù)為0。 將某些元素從矩陣中刪除,采用將其置為空矩陣的方法就是一種有效的方法。 A=1,2,3,4,5;11,12,13,14,15;21,22,23,24,25;31,32,33,34,35; A(:,2,4)=%刪除A的第2列和第4列元素,矩陣的合并就是把兩個(gè)以上的矩陣連接起

18、來(lái)得到一個(gè)新矩陣,“”符號(hào)可以作為矩陣合并操作符,命令格式如下: c=a b %將矩陣a和b水平方向合并為c c=a;b%將矩陣a和b垂直方向合并為c,2.矩陣的合并,2.3.3 矩陣的操作,3. 矩陣和數(shù)組函數(shù),1. 矩陣的常用函數(shù) det(x):計(jì)算方陣行列式 rank(x):求矩陣的秩 inv(x)求矩陣的逆矩陣 v,d=eig(x):求矩陣的特征向量v和特征值d diag(x):產(chǎn)生矩陣x的對(duì)角陣 q,r=qr(x) triu(x)和tril(x):分別產(chǎn)生x的上、下三角矩陣,其 余元素補(bǔ)0 2數(shù)組翻轉(zhuǎn) 常用數(shù)組翻轉(zhuǎn)函數(shù) :flipud(x)、fliplr(x)、flipdim(x,d

19、im)、rot90(x,k),2.3.3 矩陣的操作,4數(shù)組查找 一般用于在比較命令后面,查找非零元素。其命令格式如下: a,b,=find(x)%非0元素下標(biāo)(subscrip) n=find(x) %非0元素序號(hào)(index),2.3.3 矩陣的操作,2.3.4 特殊的矩陣,1通用的特殊矩陣常用的產(chǎn)生通用特殊矩陣的函數(shù)有:zeros:產(chǎn)生全0矩陣(零矩陣)。ones:產(chǎn)生全1矩陣(幺矩陣)。eye:產(chǎn)生單位矩陣。rand:產(chǎn)生01間均勻分布的隨機(jī)矩陣。randn:產(chǎn)生均值為0,方差為1的標(biāo)準(zhǔn)正態(tài)分布隨機(jī)矩陣。,例 分別建立33、32和與矩陣A同樣大小的零矩陣。解: (1) zeros(3)

20、 (2) zeros(3,2) (3) 設(shè)A為23矩陣,則可以用zeros(size(A)建立一個(gè)與矩陣A同樣大小零矩陣。如,A=1 2 3;4 5 6; %產(chǎn)生一個(gè)23階矩陣Azeros(size(A) %產(chǎn)生一個(gè)與矩陣A同樣大小的零矩陣,2.3.4 特殊的矩陣,例 建立隨機(jī)矩陣:(1) 在區(qū)間20,50內(nèi)均勻分布的5階隨機(jī)矩陣。(2) 均值為0.6、方差為0.1的5階正態(tài)分布隨機(jī)矩陣。,解: x=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5),2.3.4 特殊的矩陣,此外,常用的函數(shù)還有reshape(A,m,n),它在矩陣總元素保持不變的前提下,將矩

21、陣A重新排成mn的二維矩陣。如,前面的A, reshape(A,1,6) ans = 1 4 2 5 3 6,2.3.4 特殊的矩陣,2用于專(zhuān)門(mén)學(xué)科的特殊矩陣 (1) 魔方矩陣魔方矩陣有一個(gè)有趣的性質(zhì),其每行、每列及兩條對(duì)角線(xiàn)上的元素和都相等。對(duì)于n階魔方陣,其元素由1,2,3,n2共n2個(gè)整數(shù)組成。 MATLAB提供了求魔方矩陣的函數(shù)magic(n),其功能是生成一個(gè)n階魔方陣。,2.3.4 特殊的矩陣,例 將101125等25個(gè)數(shù)填入一個(gè)5行5列的表格中,使其每行每列及對(duì)角線(xiàn)的和均為565。,解:M=100+magic(5),M = 117 124 101 108 115 123 105 107 114 116 104 106 113 120 122 110 112 119 121 103 111 118 125 102 109,2.3.4 特殊

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論