MATLAB中 find() 函数的用法
matlab中find()函数用来找到矩阵中非零元素的相关信息。
根据返回参数的不同,一般有三种用法:
假设有矩阵M,
(1) A = find(M);
该种用法直接返回M中非零元素按列存储的位置,A为一个列向量,保存非零元素的在矩阵中按列存储的位置。
M = [1 0 0 1 0;
0 1 0 1 0;
1 1 0 0 1;
0 0 2 1 0];
A = find(M);
返回:
A =
1
3
6
7
12
13
14
16
19
(2) [ r, c ] = find(M);
返回非零元素在矩阵中的行数、列数,r 表示元素所在的行, c表示元素所在的列,r,c均为列向量, 对应位置的两个数字能定位非零元素。
[ r, c ] = find(M);
返回:
r =
1
3
2
3
4
1
2
4
3
c =
1
1
2
2
3
4
4
4
5
(3) [ r , c, v ] = find(M);
v表示 r,c 所确定矩阵中位置上的非零元素值。
[ r, c, v ] = find(M);
结果:
r =
1
3
2
3
4
1
2
4
3
c =
1
1
2
2
3
4
4
4
5
v =
1
1
1
1
2
1
1
1
1