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
是以上面那個程式的結果就是:
2、find(condition,n)
condition就是查詢條件,之前的x就是預設x非零
還是用上面的矩陣,我們換一個查詢方式
x= [1 0 2; 0 1 1; 0 0 4]
ans1=find(x==2,1)
結果就是
3、多條件查詢
這裡查詢條件也可以有多個:
x= [1 0 2; 0 1 1; 0 0 4]
ans1=find(x>=2 & x<=4,2)
結果
4、從後向前查詢find(condition,n,'last')
我們把例1修改一下,找出後三個非零元素的位置
x= [1 0 2; 0 1 1; 0 0 4]
ans1=find(x,3,'last')
5、修改傳回值格式
[i,j,v] = find(x)
傳回值為三個矩陣,分别達标元素的行坐标,列坐标,元素值
x = [3 2 0; -5 0 7; 0 0 1]
[i,j,v] = find(x)
矩陣直覺一點是這個樣子:
結果就是
注意是‘非零’元素
這一節我們說了說怎麼使用find這個函數快速查找矩陣特定元素,非常實用,大家可以多用用試試
歡迎喜歡的朋友
點贊關注收藏啊:)