MATLAB如何提取某一矩陣的某一列的部分資料

2021-05-14 22:05:02 字數 5862 閱讀 1843

1樓:四舍**入

使用baia(m,n)可以提取矩

陣a中符合m,

dun要求的部分

最簡單是zhim,n都是標量,就dao是一個數例版如:a(1,1) a(2,3)分別返回a矩陣1行1列的單權元 和 2行3列的單元

m,n還可以是向量,例如:

a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的資料

總之matlab通過的下標提取矩陣部分是很靈活的,假設要提取矩陣a第n列的資料,使用a(:,n)就可以了,如果是要提取第n列前10個資料使用a(1:10,n)就可以了。

擴充套件資料:常用函式

floor(x):下取整,即捨去正小數至相鄰整數ceil(x):上取整,即加入正小數至相鄰整數rat(x):將實數x化為多項分數

rats(x):將實數x化為分數表示

sign(x):符號函式(signum function)log10( ) 以10為底對數

acosd( ) 餘正弦(返回度數)

sqrt( )  開方

tan( )   正切(變數為弧度)

realsqrt( ) 返回非負根

tand( )  正切(變數為度數)

abs( )   取絕對值

atan( )  反正切(返回弧度)

2樓:蓋飯的這個的

使用抄a(m,n)可以提取矩陣a中符合襲m,n要求的部分

bai最簡單是m,n都是標量,就du是一個數例如

a(1,1) a(2,3)分別返回

zhia矩陣1行1列的單元dao

和 2行3列的單元

m,n還可以是向量,例如

a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的資料

這裡還有通配的技巧,例如

a(1,:)就是返回a矩陣第一行的所有資料等效於a(1,1:end)或a(1,1:size(a,2))

m,n向量還可以是不連續的,不是單調的,或者有重複的,例如

a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料重新組成矩陣

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

總之matlab通過的下標提取矩陣部分是很靈活的

假設你要提取矩陣a第n列的資料,使用a(:,n)就可以了

如果是要提取第n列前10個資料使用a(1:10,n)就可以了

matlab中怎麼取一個矩陣的一部分

3樓:灩麗

1、開啟matlab,在命令列視窗中輸入a=[1 2 3 4;4 5 6 7;1 2 3 4],按回車鍵建立一個3行4列的矩陣。

2、如果我們想獲取矩陣第2行第3列的資料,輸入a(2,3)。

3、想獲取矩陣第3列的第一個和第三個,輸入a([1 3],3)。

4、想獲取矩陣某列的連續資料,可以使用a(1:2,3),獲取第3列第1個到第2個資料。

5、使用a(2:end,3)獲取第3列,第2個到最後一個資料,根據需要獲取矩陣資料即可。

4樓:ieio啊

matlab中要取一個矩陣的一部分,可以參考以下內容:

比如說有一個5×5的矩陣,想取它右下腳3*2的矩陣,應該用命令:

a=zeros(5,5)

b=a(3:5,4:5)%取a的(3-5行,4-5列)

b即為所取

matlab中取一個矩陣的一部分(比如格式a(m,n),用於提取矩陣a中符合m,n要求的部分):

1、提取某個元素,則m,n為數字標量,如a(2,3)為第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分並重新組成新的矩陣,連續或不連續,單調或不單調

數字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的資料;

步長指定:a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料;

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

變數指定:a(b(:,1),:),其中b的第一列含有資料,用來指定取矩陣a的哪些行。

4、變數指定,假設一個矩陣x1中儲存的是座標,用矩陣x1的座標訪問矩陣labels_left中對應的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配對1在左圖中的label數

5樓:摩羯面對現實

matlab中取一個矩

陣的一部分方法如下:

格式a(m,n),用於提取矩陣a中符合m,n要求的部分

1、提取某個元素,則m,n為數字標量,如a(2,3)為第二行第三列的元素。

2、提取某行某列

a(:,n)提取第n列的所有元素,如a(:,3)提取第三列的所有元素;

a(m,:)提取第m行的所有元素,如a(3,:)提取第三行的所有元素;

3、提取任意的某部分並重新組成新的矩陣,連續或不連續,單調或不單調

數字指定:a([1 2 3 4],[2 3]) 返回1 2 3 4行2 3 列的資料;

步長指定:a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料;

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

變數指定:a(b(:,1),:),其中b的第一列含有資料,用來指定取矩陣a的哪些行。

4、變數指定,假設一個矩陣x1中儲存的是座標,用矩陣x1的座標訪問矩陣labels_left中對應的元素:

for i = 1:size(x1,1)

x = labels_left(x1(i,2),x1(i,1));%匹配對1在左圖中的label數

end擴充套件資料:

matlab中取一個矩陣的一部分的用法:

1、提取大矩陣的一列、一行元素:

一列元素:  a(:,j)表示提取a矩陣的第j列全部元素

一行元素:  a(i,:)表示提取a矩陣的第i行元素,

於是我們有,a(i, j)表示提取a矩陣的第i行第j列的元素。

2、提取多行多列元素

多行元素:  a(i:i+m,:)表示提取a的第i行到第i+m行的元素。

多列元素:  a(:,j:j+n)表示提取a的第j列到第j+n列的元素。

提取塊:     a(i:i+m, j:j+n)表示的是mxn的一個子塊的元素。

6樓:du瓶邪

比如原矩陣為a=[1 2 3;4 5 6;7 8 9;10 11 12],現在要生成b=[1 2;4 5;7 8],即提取了原來矩陣的1、2兩列和1、2、3三行~

b = a(1:3, 1:2)

即使提取的行列不連續或者次序需要顛倒也可以寫成諸如a([1,3,6], [4,3,1,5])這樣的形式

7樓:奔三不再二

matlab 矩陣

元素與子矩陣的提取

>> %矩陣元素的提取

>> a=[1 2 3;4 5 6;7 8 9;10 11 12]

a =1 2 3

4 5 6

7 8 9

10 11 12

>> a(3,1)%提取 a 矩陣第 3行,第 1列的元素

ans =

7>>>> %通過元素序號提取元素(矩陣元素序號與它的儲存順序是一一對應的! )

>> a(6)

ans =

5>> %matlab中矩陣元素按列儲存,首先是第 1列,其次是第 2列 ......

>>>> %使用函式 find(c)查詢符合條件的矩陣元素的行和列

>> %函式 find(c)的使用格式 [row,col]=find(c),c一般為邏輯表示式; row 返回滿足條件的元 素的行號, col 返回滿足條件的元素的列號。

>> a=[12 34 26 17 21;61 50 89 12 8;25 62 91 23 47]%查詢 a 矩陣中大於等於 20、小於等於 60的元素。

a =12 34 26 17 21

61 50 89 12 8

25 62 91 23 47

>> [r,c]=find(a>=20&a<=60);

>> b=find(a>=20&a<=60);

>> disp('符合條件的矩陣元素的行號和列號:'),[r,c]

符合條件的矩陣元素的行號和列號:

8樓:匿名使用者

a=zeros(5,5)

b=a(3:5,4:5)%取a的(3-5行,4-5列)

b為所取

matlab如何提取某一矩陣的某一列的部分資料?

9樓:非常可愛

解決這個問題的bai方法如du下:

1、第一步開啟matlab命令

zhi行視窗,輸入a=[1 2 3;4 5 6;7 8 9;6 4 7],建立一dao個a矩陣

回。2、第二步答輸入a(1:2,1:3),進行提取a矩陣的第1,2行第1到3列。

3、第三步按回車鍵之後,可以看到已經提取了a矩陣的第1,2行第1到3列。

4、第四步輸入 a(2:3,1:2),進行提取a矩陣第2到3行第1到2列。

5、第五步按回車鍵之後,可以看到提取了a矩陣第2到3行第1到2列,根據需要提取矩陣就可以。

10樓:匿名使用者

使用a(m,n)可以提取矩陣a中符合m,n要求的部分

最簡單是m,n都是標量,就是一個數例如

a(1,1) a(2,3)分別回返答回a矩陣1行1列的單元 和 2行3列的單元

m,n還可以是向量,例如

a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的資料

這裡還有通配的技巧,例如

a(1,:)就是返回a矩陣第一行的所有資料等效於a(1,1:end)或a(1,1:size(a,2))

m,n向量還可以是不連續的,不是單調的,或者有重複的,例如

a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料重新組成矩陣

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

總之matlab通過的下標提取矩陣部分是很靈活的

假設你要提取矩陣a第n列的資料,使用a(:,n)就可以了

如果是要提取第n列前10個資料使用a(1:10,n)就可以了

11樓:蓋飯的這個的

使用a(m,n)可以提bai取矩陣a中符合m,n要求的部分du

最簡單是m,n都是標量zhi,就dao

是一個數例如

a(1,1) a(2,3)分別返回a矩陣版1行1列的權單元 和 2行3列的單元

m,n還可以是向量,例如

a([1 2 3 4],[2 3]) 返回 1 2 3 4行 2 3 列的資料

這裡還有通配的技巧,例如

a(1,:)就是返回a矩陣第一行的所有資料等效於a(1,1:end)或a(1,1:size(a,2))

m,n向量還可以是不連續的,不是單調的,或者有重複的,例如

a(1:2:end,:) a(2:2:end,:)分別提取矩陣a的奇數行和偶數行資料重新組成矩陣

a(end:-1:1,:) a(:,end:-1:1)分別返回a矩陣行倒序和列倒序的矩陣

總之matlab通過的下標提取矩陣部分是很靈活的

假設你要提取矩陣a第n列的資料,使用a(:,n)就可以了

如果是要提取第n列前10個資料使用a(1:10,n)就可以了

matlab如何提取某一矩陣的某一列的部分資料

解決這個問題的bai方法如du下 1 第一步開啟matlab命令 zhi行視窗,輸入a 1 2 3 4 5 6 7 8 9 6 4 7 建立一dao個a矩陣 回。2 第二步答輸入a 1 2,1 3 進行提取a矩陣的第1,2行第1到3列。3 第三步按回車鍵之後,可以看到已經提取了a矩陣的第1,2行第1...

matlab矩陣元素的提取etriua,1,其中

在matlab中,自triu a,1 表示將陣列a的第1到第3列刪除。第一個冒號 表示取陣列a的所有行 表示取陣列a的第1到第3列。具體的含義可以參考如下例項 a 1,2,3,4,5 2,3,4,5,6 3,4,5,6,7 陣列a的大小為3 5a 1 3 執行完該語句後,陣列a為 a 4,5 5,6...

matlab中有沒有提取三維矩陣中的一維的函式?A是三維矩陣A1)表示什麼意思

問的好奇怪,提取bai一個維度的矩du 陣,那zhi 就必須要知道其他dao兩個維度。如圖,回已知x 行 y 列 z 頁 表示一個3維矩陣答。那麼你問的a 1 實際上提取的就是第一個頁,也就是將z固定為1,x,y隨便取。那麼比如說我要提取一行,三列,z維度的所有值,那麼就表示為 a 1,3,matl...