首页 > 编程知识 正文

matlab中find函数找最大值,matlab中find函数返回值

时间:2023-05-04 03:22:53 阅读:214720 作者:1948

find函数:查询非零元素的位置和值

用法1:B = find(A),A是一个矩阵,查询非零元素的位置

           如果A是一个行向量,则返回一个行向量,否则,返回一个列向量。

           如果A全是零元素或者空数组,则返回一个空数组。

>> A = [0 1 2 0 4 5]A = 0 1 2 0 4 5>> B = find(A)B = 2 3 5 6>> A = [0 1 2; 0 4 5]A = 0 1 2 0 4 5>> B = find(A)B = 3 4 5 6(位置的判定:在矩阵中,第一列开始,自上而下,依次为1,2,3...,然后再从第二列,第三列依次往后数)


用法2:B = find(A>2),找到A中比2大的元素的位置

>> A = [0 1 2; 0 4 5]A = 0 1 2 0 4 5>> B = find(A>2)B = 4 6

用法3:B = find(A,2),找到A中最先出现的2个不为零的数的位置

>> A = [0 1 2; 0 4 5; 6 0 8]A = 0 1 2 0 4 5 6 0 8>> B = find(A, 2)B = 3 4

用法4:B = find(A,2, 'first'),找到A中最先出现的2个不为零的数的位置

            B = find(A,2, 'last'),找到A中最后出现的2个不为零的数的位置

>> A = [0 1 2; 0 4 5; 6 0 8]A = 0 1 2 0 4 5 6 0 8>> B = find(A, 2, 'first')B = 3 4>> C = find(A,2,'last')C = 8 9

用法5:[r, c] = find(A),找到A中非零元素所在的行和列,行存储在矩阵r中,列存储在矩阵c中

>> A = [0 1 2; 0 4 5; 6 0 8]A = 0 1 2 0 4 5 6 0 8>> [r, c] = find(A)r = 3 1 2 1 2 3c = 1 2 2 3 3 3

用法6:[r, c, v] = find(A),找到A中非零元素所在的行和列,行存储在矩阵r中,列存储在矩阵c中,值存储在矩阵v中(需要知道值的用此用法,其他用法只能确定位置)

>> A = [0 1 2; 0 4 5; 6 0 8]A = 0 1 2 0 4 5 6 0 8>> [r, c, v] = find(A)r = 3 1 2 1 2 3c = 1 2 2 3 3 3v = 6 1 4 2 5 8




版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。