【Matlab】find函数用法

时间:2024-01-30 07:03:14

find(A):返回向量中非零元素的位置
注意返回的是位置的脚标 //类似python,还是很好用的
如果是二维矩阵,是先横行后列的

  1. b=find(a),a是一个矩阵,查询非零元素的位置
    如果X是一个行向量,则返回一个行向量,否则,返回一个列向量。
    如果X全是零元素或者是空数组,则返回一个空数组
    也可以用b=find(a>2),这句的意思是在a中找到比较2大的元素
  2. b=find(a,2),找出a中最先出现的2个不为零的数,a是你所要找的矩阵,2参数是指数量所下图

如果要从后往前找:
返回最后一个非零值的位置find(A,1,\'last\')
我们还是以A=[0 0 2 3 4 5 6 7 8]为例,在MATLAB主窗口中输入find(A,1,\'last\')

另外说一下matlab的数组操作,和C/C++区别还是挺大的
不能A[0]的,调用只能用小括号
一个一个元素是A(1) A(2),数是一行完了看下一行
二维调用时A(1,1)是第一行第一个元素,下标是从1开始,不是0。
如何取一行?——用冒号,类似python的画格子
索引:start: end
例如a(2:5, 3) 取第三列,行2到5行(两端闭区间)
全选:直接一列打: 例如全选第一行a(1, :)