版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、矩陣和數(shù)組的創(chuàng)建與索引1魔方矩陣(Drers matrix)2大綱數(shù)組/矩陣概念創(chuàng)建向量(vector)創(chuàng)建矩陣(Matrix)數(shù)組的基本信息獲取矩陣的索引訪問(Indexing)矩陣的索引賦值(indexed assignment)修改元素的值矩陣動(dòng)態(tài)擴(kuò)展矩陣元素刪除數(shù)組/矩陣的合并(Concatenation)使用合并符號(hào)使用合并函數(shù)3一、數(shù)組/矩陣概念數(shù)組(Array)是MATLAB的核心基礎(chǔ)。在MATLAB中,所有的數(shù)據(jù)均以二維、三維或高維矩陣的形式存儲(chǔ),每個(gè)矩陣的單元可以是數(shù)值類型、邏輯類型、字符類型或者其他任何數(shù)據(jù)類型MATLAB內(nèi)部的運(yùn)算都是數(shù)組進(jìn)行的數(shù)組的維度:0維數(shù)組:標(biāo)量(
2、scalar):111維數(shù)組:向量(vector)行向量(row vector):1n列向量(column vector):n12維數(shù)組:矩陣:mn4數(shù)組相關(guān)基礎(chǔ)內(nèi)容:創(chuàng)建尋址(讀取數(shù)組元素、修改數(shù)組元素)操作5二、向量的創(chuàng)建(行向量、列向量)63種方法符號(hào)法(數(shù)值直接輸入)冒號(hào)表達(dá)法(步長(zhǎng)生成)linspace函數(shù)法(線性等間距)72.1 符號(hào)法創(chuàng)建向量:創(chuàng)建符: 元素的數(shù)值需要手動(dòng)輸入8(a)行向量的創(chuàng)建用逗號(hào)分割用空格分割分割符:逗號(hào)和空格可以同時(shí)使用用空格分割時(shí),空格可以有連續(xù)多個(gè)空格9用分號(hào)“;”進(jìn)行行之間的分割(b)列向量的創(chuàng)建10向量的符號(hào)法創(chuàng)建總結(jié):創(chuàng)建行向量:用逗號(hào)(comm
3、a)或者空格(space)分割不同列之間的元素;創(chuàng)建列向量:用分號(hào)(semicolon)分割不同行之間的元素;用中括號(hào) (square brackets)將所有元素連接起來。11創(chuàng)建下面的time變量,下面的哪個(gè)命令是正確的:122.2 用冒號(hào)表達(dá)法(Colon Notation)創(chuàng)建等間隔分布的行向量1310 111213141510 11 12 13 14 1510 151015-2.5 -1.5 -0.5 0.5 1.5 2.5 -2.5 -1.5 -0.5 0.5 1.5 2.5 -2.5 0 2.5-2.52.51 2 3 4 561 2 3 4 5 6.31 2 3 4 5 61
4、6.3145 11 2 3 4 55 4 3 2 1Empty matrix151617182.3 用linspace函數(shù)創(chuàng)建等間隔分布的行向量19用冒號(hào)表達(dá)法和linspace函數(shù)創(chuàng)建的都是行向量,如何用這2種方法創(chuàng)建列向量?轉(zhuǎn)置(transpose)20三、矩陣的創(chuàng)建3.1 符號(hào)法創(chuàng)建(直接輸入數(shù)值)3.2 使用函數(shù)創(chuàng)建特殊矩陣213.1 符號(hào)法創(chuàng)建矩陣用中括號(hào) (square brackets)連接所有元素用逗號(hào)(comma)或者空格(space)分割列用分號(hào)(semicolon)分割行22232425263.2 調(diào)用函數(shù)創(chuàng)建特殊矩陣2728學(xué)會(huì)使用 查找相關(guān)主題的函數(shù)列表及幫助29on
5、es,zeros,eye,rand,randn函數(shù)調(diào)用方式:303132Magic魔方矩陣:3階、4階、5階331rand(01)均勻分布的隨機(jī)浮點(diǎn)數(shù)2randn標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)浮點(diǎn)數(shù)3randi標(biāo)準(zhǔn)正態(tài)分布的隨機(jī)整數(shù)4randperm1n之間的隨機(jī)排列Random Number Generation(產(chǎn)生隨機(jī)數(shù)矩陣的函數(shù))34隨機(jī)數(shù)函數(shù),每次調(diào)用生成不同數(shù)值的隨機(jī)數(shù)35語法產(chǎn)生的隨機(jī)整數(shù)數(shù)值范圍產(chǎn)生的隨機(jī)數(shù)的數(shù)目examplerandi(imax)1imax之間的隨機(jī)整數(shù)1個(gè)randi(10)randi(imax, n )nnrandi(10,3)3x3randi(imax, sz1,.,
6、szN)Sz1sz2szNrandi(10,3,2)3x2randi(10,2,3,4)2x3x4randi(imax, sz)行向量sz指定的大小randi(10,2 3)2x3randi(10,2 3 4)2x3x4randi( imin,imax, _ )iminimax之間的隨機(jī)整數(shù)randi(-10,10)randi(-10,10, 3)randi(-10,10, 3,2)randi(-10,10, 2,3,4)randi(-10,10, 2 3) randi(-10,10, 2 3 4)randi 產(chǎn)生隨機(jī)整數(shù)36randperm產(chǎn)生隨機(jī)排列語法描述examplerandperm(
7、n)產(chǎn)生1n之間的n個(gè)隨機(jī)排列;該隨機(jī)排列是一個(gè)行向量A=randperm(10)A=1 5 2 8 10 6 4 7 3 9randperm(n,k)產(chǎn)生1n之間的k個(gè)隨機(jī)排列;這k個(gè)隨機(jī)排列的數(shù)值是唯一的,不會(huì)重復(fù);該隨機(jī)排列是一個(gè)行向量;參數(shù)k必須小于或等于nA=randperm(10,5)A = 8 7 9 10 5371、創(chuàng)建A矩陣=2、創(chuàng)建B矩陣=3、創(chuàng)建52的均勻隨機(jī)矩陣C4、創(chuàng)建44的零矩陣D現(xiàn)場(chǎng)練習(xí):5、創(chuàng)建32的-5,5之間的 隨機(jī)整數(shù)矩陣E6、創(chuàng)建 1,15之間的8個(gè)不重復(fù)的 隨機(jī)排列行向量F38四、數(shù)組的基本信息獲取有如下函數(shù):numellengthsizendimsi
8、s系列函數(shù)isemptyisscalarisvectoriscolumnisrowismatrix39四、數(shù)組的基本信息獲取numel數(shù)組的所有元素的個(gè)數(shù)length每個(gè)維度上元素?cái)?shù)目的最大值(Length of largest array dimension)size數(shù)組的大小,即每個(gè)維度上元素的個(gè)數(shù)(Array dimensions),返回值是一個(gè)行向量ndims數(shù)組的維度的數(shù)目(Number of array dimensions),總是=240isempty判斷數(shù)組是否為空isscalar判斷輸入是否為標(biāo)量isvector判斷輸入是否為向量iscolumn判斷輸入是否為列向量isrow
9、判斷輸入是否為行向量ismatrix判斷輸入是否為矩陣4142d = size(X)m,n = size(X)m = size(X,dim)size函數(shù)的語法4344 1 2 3 1 1 1 2 3 1 1 6 2 3 2345 3 2 3 2 2 3 1 2 3 2 3 6 2 3 2 346五、向量和矩陣的索引訪問(讀?。㊣ndexing5.1單個(gè)元素的索引讀取5.1.1 向量:A (k)5.1.2矩陣(有2種方式)5.1.2.a 行列索引(row column Indexing):A(r,c)5.1.2.b 線性索引(linear indexing):A(k)5.2 批量元素的索引提取5
10、.2.1 向量5.2.2 矩陣5.3 邏輯索引47A(index) 注意:索引順序從1開始!5.1.1 向量的單個(gè)元素的索引訪問命令結(jié)果說明行向量 A=randi(10,1,5)A = 9 10 2 10 7生成數(shù)值在110之間的1行5列(即5個(gè))的隨機(jī)整數(shù);得到一個(gè)行向量 A(1) 9取得向量的第1個(gè)元素 A(3) 2取得向量的第3個(gè)元素 A(end) 7取得向量的最后一個(gè)元素。end關(guān)鍵字:在向量索引中,表示最后一個(gè)元素(last index)。 A(end-1) 10取得倒數(shù)第2個(gè)元素。注:end可以進(jìn)行減操作,當(dāng)做索引號(hào) A(6)MATLAB返回錯(cuò)誤。輸出如下錯(cuò)誤信息:Index ex
11、ceeds matrix dimensions.索引值不能超出向量的元素個(gè)數(shù)范圍。否則出錯(cuò)。48命令結(jié)果列向量 B=(1:5)B = 1 2 3 4 5 B(1) 1 B(3) 3 B(end) 5 B(end-1) 4 B(6)MATLAB返回錯(cuò)誤。輸出如下錯(cuò)誤信息:Index exceeds matrix dimensions.49矩陣的索引下標(biāo)(subscript)A(i,j)用小括號(hào)“( )”,行索引在前,列索引在后下標(biāo)從1開始計(jì)數(shù)5.1.2.a 矩陣的行列索引(row column Indexing)A(i,j)i行號(hào)j列號(hào)123456789(1,1)(1,3)(1,2)(2,1)(
12、2,3)(2,2)(3,1)(3,3)(3,2)50515253提示:行列的索引:除了可以用具體數(shù)值表示;還可以用關(guān)鍵字end表示最后的行或者列5455對(duì)于矩陣A,線性索引訪問元素的格式為A(k);通常這樣的引用用于行向量或列向量,但也可用于二維矩陣;5.1.2.b 矩陣的線性索引(linear Indexing)行向量線性索引線性索引列向量線性索引線性索引56x=?矩陣的線性索引二維矩陣的線性索引57對(duì)與矩陣:MATLAB內(nèi)部是按列優(yōu)先排列的方式將所有元素存儲(chǔ)成一個(gè)長(zhǎng)列向量A(4)58123456789(1,1)(1,3)(1,2)(2,1)(2,3)(2,2)(3,1)(3,3)(3,2)
13、行列索引 v.s. 線性索引A(1,2)A(4)sub2indind2sub(1,1)(1,3)(1,2)(2,1)(2,3)(2,2)(3,1)(3,3)(3,2)線性索引(linear index)行列下標(biāo)(subscript)59(1,1)(1,3)(1,2)(2,1)(2,3)(2,2)(3,1)(3,3)(3,2)線性索引(linear index)行列下標(biāo)(subscript) sub2ind(size(A),1,2)ans = 4 sub2ind(3,3,3,2)ans = 6函數(shù)語法:linearInd= sub2ind(matrixSize,rowSub,colSub) 函數(shù)
14、語法I,J = ind2sub(siz, IND) r,c=ind2sub(size(A),4)r = 1c = 2 r,c=ind2sub(3,3,6)r = 3c = 2605.2 批量元素的索引提?。?Multiple Indices )對(duì)于一行或一列:可以一次性讀取該行/該列上的多個(gè)元素;對(duì)于一個(gè)矩陣:可以一次性讀取多行/多列上的元素行列索引 VariableName(row, column)線性索引 VariableName(index)可以是向量可以是向量615.2.a 向量的批量索引A(vector)命令結(jié)果說明 A=1:10A = 1 2 3 4 5 6 7 8 9 10 A(
15、2)2 A(end)10 A(1 5 6)1 5 6 不能少,A(1 5 6)是錯(cuò)誤的索引 A(1:2:10)1 3 5 7 9奇數(shù)位上的元素 A(2:2:10)2 4 6 8 10偶數(shù)位上的元素 A(6:end)6 7 8 9 106最后位之間的元素 A(1:2:end)1 3 5 7 9 A(6:end-1)6 7 8 9 A(end:-1:1)10 9 8 7 6 5 4 3 2 1將整個(gè)行向量顛倒 A(6:end 1:5)6 7 8 9 10 1 2 3 4 5將向量的前半段和后半段交換注:6:end 1:5是將6:10和1:5這2個(gè)向量合并在一起得到一個(gè)大的向量。后面會(huì)專門講解如何合
16、并矩陣625.2.b 矩陣的批量索引行列索引 matrixVariableName(vector index, vector index)線性索引 matrixVariableName(vector index)把向量當(dāng)做索引號(hào),實(shí)現(xiàn)批量(多元素)索引訪問矩陣的元素636465A( i , j )第i行、第j列的元素。(單元素索引)A( : , j )第j列的全部元素A( i , : )第i行的全部元素A( : , j:k )第jk列的所有元素。即:A(:,j), A(:,j+1),.,A(:,k)A( j:k , : )第jk行的所有元素。即:A(j,:), A(j+1,:),.,A(k,:
17、)A( : , : )所有行、所有列的全部元素。也就是矩陣A本身的所有元素A( j:k )A(j), A(j+1),.,A(k).(線性索引方式下的批量提?。〢( : )得到一個(gè)列向量,該向量的元素是A矩陣的所有的列合并在一起后的元素矩陣批量索引的多種方式6667-1 8 331Index exceeds matrix dimensions.68 A(1 2 3,3) A(1:3,3) A(1 2 3,3) A(3,1:3)697071 A(1:2:10) A=magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1 16 9 2 7 3 16 2
18、3 13 5 16 5 9 4 2 出錯(cuò)72 A=1:9; A=reshape(A,3,3)A = 1 4 7 2 5 8 3 6 9 A(:) 1 2 3 4 5 6 7 8 9 1 4 7 2 5 8 3 6 9 1 2 3 4 5 6 7 8 9 出錯(cuò)735.3 矩陣的邏輯索引(Logical indexing)使用邏輯數(shù)組對(duì)矩陣進(jìn)行索引訪問使用邏輯數(shù)組進(jìn)行索引訪問時(shí),與True(1)相對(duì)應(yīng)的元素被提取出來,與False(0)相對(duì)應(yīng)的元素忽略74先看一個(gè)例子 x = -3 : 3x = -3 -2 -1 0 1 2 3 y = x( abs(x)1 )y = -3 -2 2 3取得x數(shù)組
19、中絕對(duì)值大于1的元素 a=abs(x)1a = 1 1 0 0 0 1 1 class(a)ans =logical邏輯表達(dá)式a是邏輯數(shù)組,其數(shù)據(jù)類型是邏輯型75MATLAB關(guān)系運(yùn)算符: 、=、 x = -3 : 3x = -3 -2 -1 0 1 2 3 x 1ans = 0 0 0 0 0 1 1注:C、C+中的不等于是:!=76 A = 1 2 3; 4 5 6; 7 8 9A = 1 2 3 4 5 6 7 8 9 B = logical(0 1 0; 1 0 1; 0 0 1)B = 0 1 0 1 0 1 0 0 1 A(B)ans = 4 2 6 9邏輯索引:B是邏輯數(shù)組,作為訪
20、問的索引MATLAB內(nèi)部將邏輯數(shù)組以列方式按單一索引順序來提取所有為真的元素,然后將提取的結(jié)果形成一個(gè)列向量。logical函數(shù)將數(shù)字?jǐn)?shù)組轉(zhuǎn)換成邏輯數(shù)組77 A=rand(3)A = 0.7577 0.6555 0.0318 0.7431 0.1712 0.2769 0.3922 0.7060 0.0462 A(A0.5)ans = 0.7577 0.7431 0.6555 0.7060 A(A0.5) = 0A = 0 0 0.0318 0 0.1712 0.2769 0.3922 0 0.046278 A = magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12
21、 4 14 15 1 B = isprime(A)B = 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0 A(B) = 0A = 0 2 3 13 5 11 0 0 0 7 0 0 0 0 0 0將A數(shù)組中的非素?cái)?shù)元素設(shè)置為079六、向量和矩陣的索引賦值(indexed assignment)修改元素的值單元素修改批量元素修改數(shù)組的動(dòng)態(tài)擴(kuò)展刪除數(shù)組元素806.1.a 修改數(shù)組元素的值單元素修改 數(shù)組類型數(shù)組原始值修改元素命令修改后數(shù)組的值行向量 A=2:2:8A = 2 4 6 8 A(1)=10A = 10 4 6 8 A(end)=10A = 2 4 6 10列向量 A=(
22、2:2:8)A = 2 4 6 8 A(2)=10A = 2 10 6 8矩陣 A=magic(3)A = 8 1 6 3 5 7 4 9 2 A(2,2)=10A = 8 1 6 3 10 7 4 9 2 A(end)=10A = 8 1 6 3 5 7 4 9 10816.1.b 修改數(shù)組元素的值批量元素修改 數(shù)組類型數(shù)組原始值修改元素命令修改后數(shù)組的值行向量 A=2:2:8A = 2 4 6 8 A(1 3)=10 10 4 10 8 A(1 3)=10,20 10 4 20 8 A(1,3)=10,20,30 該命令出錯(cuò)(賦值的元素個(gè)數(shù)要求前后要一致?。?A(:)=10該命令等價(jià)于A(
23、1:end)=10 10 10 10 10826.1.b 修改數(shù)組元素的值批量元素修改 數(shù)組類型數(shù)組原始值修改元素命令修改后數(shù)組的值矩陣 A=magic(3)A = 8 1 6 3 5 7 4 9 2 A(:,2)=10 8 10 6 3 10 7 4 10 2 A(:,2)=1 2 3 8 1 6 3 2 7 4 3 2 A(1 3,1 3)=100 100 1 100 3 5 7 100 9 100 A(1 3,1 3)=10 20;30 40 10 1 20 3 5 7 30 9 40 A(1:2:9)=10 10 1 10 3 10 7 10 3 10 A(:) = 10該命令等價(jià)于A
24、(1:end)=10也等價(jià)于A(:,:)=10但不等價(jià)于A = 10 10 10 10 10 10 10 10 10 10836.2 數(shù)組的動(dòng)態(tài)擴(kuò)展向量的動(dòng)態(tài)擴(kuò)展 A=1:5; A(8)=8A = 1 2 3 4 5 0 0 8 numel(A)ans = 8 clear all A(3)Undefined function or variable A. A(3)=1A = 0 0 1索引訪問索引賦值索引賦值時(shí),如果當(dāng)前索引號(hào)還沒有元素存在,MATLAB會(huì)自動(dòng)進(jìn)行數(shù)組擴(kuò)展,并且未賦值部分自動(dòng)設(shè)置為084矩陣的動(dòng)態(tài)擴(kuò)展 A=randi(10,3,3)A = 9 10 3 10 7 6 2 1 1
25、0 A(end+1,:)=12A = 9 10 3 0 10 7 6 0 2 1 10 11 12 12 12 12索引訪問,索引號(hào)超出范圍 A(3,4)Index exceeds matrix dimensions. A(:,end+1)=13A = 9 10 3 0 13 10 7 6 0 13 2 1 10 11 13 12 12 12 12 13 A(3,4)=11A = 9 10 3 0 10 7 6 0 2 1 10 11856.3 刪除數(shù)組元素空矩陣: 用于刪除數(shù)組元素 A=1:5A = 1 2 3 4 5 A(2)=A = 1 3 4 5 A(1:3)=A = 5 A=1 2 3;4 5 6;7 8 9A = 1 2 3 4 5 6 7 8 9 A(:,2)=A = 1
溫馨提示
- 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 鐵路信號(hào)工程招標(biāo)合同三篇
- 二零二五年度個(gè)人醫(yī)療借款合同范本8篇
- 漁具店前臺(tái)工作總結(jié)
- 二零二五年度虛擬現(xiàn)實(shí)內(nèi)容制作合同協(xié)議書2篇
- 二零二五年度農(nóng)業(yè)科技園開發(fā)建設(shè)合同范本3篇
- 2025版荒山土地開發(fā)合作承包合同示范文本3篇
- 二零二五年度店鋪商鋪?zhàn)赓U合同市場(chǎng)推廣及廣告投放
- 二零二五版信用卡借記逾期還款罰息合同3篇
- 二零二五年度建筑工地環(huán)境保護(hù)合同范本3篇
- 二零二五版土地合作居間服務(wù)合同范本(土地流轉(zhuǎn)與租賃合作)3篇
- 《職業(yè)培訓(xùn)師教程》課件
- (康德一診)重慶市2025屆高三高三第一次聯(lián)合診斷檢測(cè) 英語試卷(含答案詳解)
- 2025年福建泉州文旅集團(tuán)招聘24人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 建筑行業(yè)砂石物資運(yùn)輸方案
- 文化沖突與民族認(rèn)同建構(gòu)-洞察分析
- 《疥瘡的防治及治療》課件
- 學(xué)校對(duì)口幫扶計(jì)劃
- 腫瘤全程管理
- 2024年高中一年級(jí)數(shù)學(xué)考試題及答案
- 心電圖 (史上最完美)課件
- HGT 20525-2006 化學(xué)工業(yè)管式爐傳熱計(jì)算設(shè)計(jì)規(guī)定
評(píng)論
0/150
提交評(píng)論