天天看點

find函數matlab_從零開始的matlab學習筆記——(39)find函數

matlab應用——求極限,求導,求積分,解方程,機率統計,函數繪圖,三維圖像,拟合函數,動态圖,傅裡葉變換,随機數,優化問題....更多内容盡在個人專欄:

matlab學習

上一節我們說了說matlab的一些數論計算工具,這一節我們來說一個很有用的函數:find

find函數:

find函數可以在matlab裡進行查詢操作,應用主要有以下幾種:

1、find(x,n)

如果不特殊說明,find函數預設查詢

非零元素

的位置,即對x矩陣查詢前n個非零元素的位置

例子:

x= [1 0 2; 0 1 1; 0 0 4]

ans1=find(x,3)

注意這裡位置是這樣規定的:先列後行,這個大家可以手動試驗一下

比如矩陣 1 0 2

0 1 1

0 0 4

位置序号:

1 4 7

2 5 8

3 6 9

是以上面那個程式的結果就是:

find函數matlab_從零開始的matlab學習筆記——(39)find函數

2、find(condition,n)

condition就是查詢條件,之前的x就是預設x非零

還是用上面的矩陣,我們換一個查詢方式

x= [1 0 2; 0 1 1; 0 0 4]

ans1=find(x==2,1)

結果就是

find函數matlab_從零開始的matlab學習筆記——(39)find函數

3、多條件查詢

這裡查詢條件也可以有多個:

x= [1 0 2; 0 1 1; 0 0 4]

ans1=find(x>=2 & x<=4,2)

結果

find函數matlab_從零開始的matlab學習筆記——(39)find函數

4、從後向前查詢find(condition,n,'last')

我們把例1修改一下,找出後三個非零元素的位置

x= [1 0 2; 0 1 1; 0 0 4]

ans1=find(x,3,'last')

find函數matlab_從零開始的matlab學習筆記——(39)find函數

5、修改傳回值格式

[i,j,v] = find(x)

傳回值為三個矩陣,分别達标元素的行坐标,列坐标,元素值

x = [3 2 0; -5 0 7; 0 0 1]

[i,j,v] = find(x)

矩陣直覺一點是這個樣子:

find函數matlab_從零開始的matlab學習筆記——(39)find函數

結果就是

find函數matlab_從零開始的matlab學習筆記——(39)find函數

注意是‘非零’元素

這一節我們說了說怎麼使用find這個函數快速查找矩陣特定元素,非常實用,大家可以多用用試試

歡迎喜歡的朋友

點贊關注收藏

啊:)

繼續閱讀