wordpress推廣升級(jí)vipseo做什么網(wǎng)站賺錢(qián)
? ? ? ? 在MATLAB中,普通的二維數(shù)組元素的數(shù)字索引分為雙下標(biāo)索引和單下標(biāo)索引。雙下標(biāo)索引是通過(guò)一個(gè)二元數(shù)組對(duì)來(lái)對(duì)應(yīng)元素在矩陣中的行列位置,例如A(2,3)表示矩陣A中第2行第3列的元素。單下標(biāo)索引的方式是采用列元素優(yōu)先的原則,對(duì)m行n列的矩陣按列排序進(jìn)行重組,成為一維數(shù)組,再取新的一維數(shù)組中元素優(yōu)先位置對(duì)應(yīng)的值作為元素在原矩陣中單下標(biāo),例如對(duì)于4?4的矩陣,A(7)表示矩陣A中第3行第2列的元素,而A(13)表示矩陣A中第1行第4列的元素。
? ? ? ? 1、矩陣下標(biāo)訪問(wèn)單個(gè)矩陣元素
? ? ? ? 常用的矩陣索引表達(dá)式如下所示。
索引表達(dá)式 | 函數(shù)功能 |
A(1) | 將二維矩陣A重組為一維數(shù)組,返回?cái)?shù)組中第一個(gè)元素 |
A(:,j) | 返回二維矩陣A中第j列列向量 |
A(i,;) | 返回二維矩陣A中第i行行向量 |
A(:,j:k) | 返回由二維矩陣A中的第j列到第k列列向量組成的子矩陣 |
A(i:k,:) | 返回由二維矩陣A中的第i行到第k行行向量組成的子矩陣 |
A(i:k,j:l) | 返回由二維矩陣A中的第i行到第k行行向量和第j列到第l列列向量的交集組成的子矩陣 |
A(;) | 將矩陣A中每列合并成一個(gè)長(zhǎng)的列向量 |
A(j:k) | 返回一個(gè)行向量,其元素為A(:)中的第j個(gè)元素到第k個(gè)元素 |
A([j1j2...]) | 返回一個(gè)行向量,其中元素為A(:)中的第j1、j2元素 |
A(;,[j1j2...]) | 返回矩陣A的第j1列、第j2列等的列向量 |
A([i1i2...]:,) | 返回矩陣A的第i1行、第i2行等的行向量 |
A([i1i2...],[j1j2...]) | 返回矩陣第i1行、第i2行等和第j1列、第j2列等的元素 |
????????2、線性引用矩陣元素
? ? ? ? 矩陣某一元素的單下標(biāo)索引值和雙下標(biāo)索引值之間,可以通過(guò)MATLAB內(nèi)部函數(shù)進(jìn)行轉(zhuǎn)換,其句法形式為:
????????
IND = sub2ind(siz,i,j)
????????其功能為將雙下標(biāo)索引值變?yōu)閱蜗聵?biāo)索引值,其中siz是一個(gè)包含兩個(gè)元素的數(shù)組,代表了轉(zhuǎn)換矩陣的行列數(shù)將雙下標(biāo)索引值轉(zhuǎn)換為單下標(biāo)索引值,其中siz是一個(gè)包含兩個(gè)元素的數(shù)組,代表轉(zhuǎn)換矩陣的行列數(shù),一般可以直接用size(A)表示,i和j分別是雙下表索引中的行、列值,IND是轉(zhuǎn)換后的單下標(biāo)索引值。
[I J] = ind2sub(siz,ind)
? ? ? ? 其功能為將單下標(biāo)索引值轉(zhuǎn)換為雙下標(biāo)索引值,各變量意義同上。
????????3、訪問(wèn)多個(gè)矩陣元素
? ? ? ? 設(shè)A=magic(4),如果需要計(jì)算第4列元素的和,按照前面介紹的方法可以用以下式來(lái)實(shí)現(xiàn):
A(1,4)+A(2,4)+A(3,4)+A(4,4)
? ? ? ? 在下標(biāo)表達(dá)式里,可以用冒號(hào)來(lái)表示矩陣的多個(gè)元素。例如,A(1:k,j)表示矩陣第j列的前k個(gè)元素。利用冒號(hào),第四列的元素和可以更簡(jiǎn)單的表達(dá),代碼設(shè)置如下:
sum(A(1:4,4))
? ? ? ? 在MATLAB中提供了一個(gè)關(guān)鍵字end,用于表示該維中的最后一個(gè)元素,所以上式還可以寫(xiě)為:
sum(A(:,end))
? ? ? ? 實(shí)際上還可以用冒號(hào)表示非相鄰的多個(gè)元素,例如下面的代碼:
A=1:10
B=A(1:3:10)
? ? ? ? 由上述語(yǔ)句可以得到如下輸出結(jié)果:
A =1 2 3 4 5 6 7 8 9 10B =1 4 7 10