怎樣用matlab提取子數列下標怎麼解決

2021-03-04 03:11:35 字數 3025 閱讀 2589

1樓:劉賀

clear all;clc;

a=1:121;

for i=1:3:length(a)

b(i)=a(i);

endid=find(b);

b=b(id)

2樓:zz德懷特

a=ones(1,121);

for j=1:1:40

b(j)=a(3j-2);end

3樓:韓四叔

for i=1:41;

b(i)=a(3*i-2);end

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

4樓:昱婷漫步

矩陣所有元素的下標的話,是不需要提取的,所在行列就是,且行是從第一行開始,逐個加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矩陣中某個元素的下標

5樓:用著追她

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、如果我們找的一個值在矩陣中有多個的話,返回的下標位置也是多個。

6樓:匿名使用者

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列。

7樓:匿名使用者

假設你上面抄的矩陣為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,行座標和列座標被分別放置的

8樓:匿名使用者

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

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

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

dao科wiki.ilovematlab.**

9樓:匿名使用者

find(a == 1.1)

用matlab怎麼在數列中找到需要的值並返回在數列中的位置

10樓:匿名使用者

matlab find函式用於返回所需要元素的所在位置 (位置的判定:在矩陣中,第一列開始,自版

上而下,依權

次為1,2,3...,然後再從第二列,第三列依次往後數)find(a)返回矩陣a中非零元素所在位置>> a = [1 0 4 -3 0 0 0 8 6];

>> x = find(a)

x =1 3 4 8 9find(a>5)返回矩陣a中大於5的元素所在位置>> find(a>5)

ans =

8 9

[i,j,v]=find(a) 返回矩陣a中非零元素所在的行i,列j,和元素的值v(按所在位置先後順序輸出)

>> a=[3 2 0; -5 0 7; 0 0 1];

>> [i,j,v]=find(a)

i =121

23j =112

33v =3-52

71find(a>m,4)返回矩陣a中前四個數值大於m的元素所在位置也是自己理解,如有不正之處,還望指正!希望我可以幫上點小忙!

11樓:發夢發牛豆

用for語句再用if判斷就可以了,最後放回 i

怎樣用matlab從含有變數的方程中提取變數出來

syms b r 然後使用solve函式 b solve 你的方程 b 參考 doc solve ezplot easy to use function plotter ezplot fun plots the function fun x over the default domain 2 pi ...

怎樣用matlab進行復數運算,matlab中兩個複數相乘怎樣實現

例如想用matlab將一個帶變數的複數式 5 i b 3 2i a 整理為實部 虛部的形式。則可版以用如下指權令 syms a b real z 5 i b 3 2i a real z imag z ans 15 2 b a 9 4 a 2 10 a 3 b 9 4 a 2 x 3 5 i y 7 ...

怎樣用matlab計算矩陣和大量矩陣分別

方法一,可以bai使用for迴圈 方法二du,可以使用cellfun函式.將大量zhi矩陣儲存成cell陣列 dao.示例 內 a rand 3,2 a某個矩容陣 b b大量矩陣組成的cell陣列 c cellfun x a x,b,uniformoutput false 分別將矩陣a與b中每個矩陣...