matlab由矩陣元素下標提取元素進行計算的問題!!求大神指點!拜謝啦

2021-04-15 12:28:08 字數 3061 閱讀 3214

1樓:王者風範

m=size(b);

n=m(1);

for i=1:n

c(i)=a(b(i,1),b(i,2))^2;

endans=sum(c)

2樓:匿名使用者

乙個稍有點笨的法子:

t=(b(:,2)-1)*(size(a,1))+b(:,1);

c=a(t);

c即是所求

matlab 提取矩陣下標,該怎麼處理

3樓:昱婷漫步

矩陣所有元素的下標的話,是不需要提取的,所在行列就是,且行是從第一行開始,逐個加1,列也是從1開始,逐次加一。

如果是符合某個條件的元素的下標,如5行5列的隨機矩陣中元素大於0.5的元素的矩陣下標,可以用find函式這樣提取:

a=rand(5,5)

[row,col]=find(a>0.5);

[row col]

----------------------執行結果:

a =0.5853 0.6991 0.1493 0.2435 0.6160

0.2238 0.8909 0.2575 0.9293 0.4733

0.7513 0.9593 0.8407 0.3500 0.3517

0.2551 0.5472 0.2543 0.1966 0.8308

0.5060 0.1386 0.8143 0.2511 0.5853

ans =

1 1

3 1

5 1

1 2

2 2

3 2

4 2

3 3

5 3

2 4

1 5

4 5

5 5

怎樣返回matlab矩陣中某個元素的下標

4樓:用著追她

1、首先需要知道matlab中求矩陣元素下標,可以使用find函式,在命令列視窗中輸入「回help find」,可以看到find函式的答使用方法。

2、命令列視窗中輸入 a=[1 3 5 6;7 8 12 9],建立乙個a矩陣。

3、輸入[row,col]=find(a==5),求a矩陣元素為5的下標。

4、按回車鍵之後,可以看到元素為5的下標是第1行第3列。

5、如果我們找的乙個值在矩陣中有多個的話,返回的下標位置也是多個。

5樓:匿名使用者

matlab的find()函式可來以找出引數中自非零元素的

索引(即下標),因此獲取矩陣中某個元素的下標的實現方法為:在matlab命令視窗輸入find()函式。具體應用舉例如下:

1、在matlab命令視窗輸入乙個示例矩陣:a = [1 2 3;3 4 5;5 6 7],輸入及顯示如下:

2、繼續在命令視窗輸入:[m,n] = find(a==2),表示二維矩陣a中等於2的元素的行列位置分別賦值給m和n,輸出結果為:

即表示元素2在矩陣a的第1行第2列。

3、為了測試矩陣中存在多個元素的情況,例如查詢元素3的下標,在命令視窗輸入: [m,n] = find(a==3),此時輸出結果為:

因為矩陣a中有兩個元素都等於3,所以結果包含兩組位置,分表表示第2行第1列和第1行第3列。

6樓:匿名使用者

假設你上面抄的矩陣為a,用find函式就行了襲,如果你找bai

的是不重du復的某個數,例zhi如6則在windows輸入[row,col] =find(x == 6) 就會返回dao6行列數,如果是重複的數如0,則[row,col] =find(x == 0) 返回的是row=[1 2]

clo=[1 5]

意思是第1行第1列和第2行第5列都是0,行座標和列座標被分別放置的

7樓:匿名使用者

你給的資料來格式太模糊……

如果在自rect中找value為val的值的位置bai,使du用ind=find(rect==val)%返回zhi索引[row column]=find(rect==val)%返回row和column

更多find()資料,請參閱百

dao科wiki.ilovematlab.cn

8樓:匿名使用者

find(a == 1.1)

matlab問題提取矩陣中非零的元素的下標 200

9樓:匿名使用者

可以給你bai

提供個思路,不論du

矩陣形式如何,都可zhi以dao先整形成乙個列矩陣專

matlab怎麼求由矩陣自身元素通過運算得到的新矩陣 200

10樓:匿名使用者

m = 3; n = 5;

a = rand(m,n)   %  原矩zhi陣

dao回

for i = 1:m-1

for j = 1:n-1

b(2*i-1,2*j-1) = a(i,j);

b(2*i,2*j-1) = (a(i,j)+a(i+1,j))/2;

b(2*i-1,2*j) = (a(i,j)+a(i,j+1))/2;

b(2*i,2*j) = (a(i,j)+a(i,j+1)+a(i+1,j)+a(i+1,j+1))/4;

endend

b   %  新矩答陣

matlab中如何求乙個矩陣中最大元素的下標

11樓:計算天下

首先[c1,i1]=max(a)返回矩陣a的每一列的最大值和它所在的行數。

然後回[c2,i2]=max(c1)返回向量c1的最大值和它的位置。

因此,答矩陣a的最大值下標為a(i1(i2),i2)。

具體參見matlab自帶幫助。

matlab中的矩陣下標一般是從1開始,如何定義從0開始

樓主不是想保留0 3這個資訊?如果是的話,可以用結構資料來儲存,或者是令k 0 3,然後顯示的時候為t k 1 不就行了。又或者編個函式,轉換一下 輸出的時候你可以輸出a0 0 但程式設計沒辦法,只能是a1 0 自己做一下轉換吧!a 0 3,1 2 矩陣就是4 2的矩陣嘛!哪兒有矩陣的下標從0開始的...

matlab如何將矩陣中含有字母的元素中的字母用數字代替

將bm寫成function,輸入引數為m,直接呼叫 如何在matlab中實現數字和字母的處於同乙個矩陣中呢?用符號型,或用細胞元。符號型 syms a b c a 1 a 2 b c c 細胞元 a matlab,怎麼將字元 包括數字和字母 的矩陣轉換成數字矩陣,字母a c分別對應10 11 12這...

matlab中如何把矩陣中非零元素都變為

在matlab中,空矩陣 bai零矩陣和全du一矩陣是比較zhi特殊的矩陣,它們在結構形式和dao矩陣元素專的組織上有著獨特屬的規律性。matlab中如何把乙個矩陣中非零元素都變為1的方法是 1 利用ones m,n 生成乙個m行n列的全一矩陣。如圖 2 利用ones n 生成乙個n階的全一方陣。如...