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这个函数快速查找矩阵特定元素,非常实用,大家可以多用用试试
欢迎喜欢的朋友点赞关注收藏啊:)