MATLAB中对find函数结果值的理解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB中对find函数结果值的理解
由于MATLAB英文解释看着麻烦,而且里面个别专有名词不是很清楚,就根据自己对例子的分析简单得到find所求的值的解释,结论比较肤浅,个人观点而已。
ind = find(X)
ind = find(X, k)
ind = find(X, k, 'first')
ind = find(X, k, 'last')
[row,col] = find(X, ...)
[row,col,v] = find(X, ...)
X为行向量或者列向量时:find(X,n)用于查询X前面n个非零元素所在的位置。
例:x=[0 0 0 4 3 0 4 5 2 0 5 4];
find(x,3)
ans =
4 5 7
[row,col,v] = find(x,3);
row =
1 1 1
col =
4 5 7
v =
4 3 4
X为矩阵时:
X=
0 0 4
3 4 5
2 5 4
[p,q]=find(x,4) 或者[p,q]=find(x,4,'first') (列着数前面四个非零的数3,2,4,5按所在行位置(以列计数如先把第一列所在的行位置写完再写第二列所在的行数)得到2,3,2,3。
列q统计所在的位置(也是以列数)得到1 1 2 2.
P= q =
2 1
3 1
2 2
3 2
再如
x =
0 0 0 4
3 0
4 5
2 0 5 4
[m,n]=find(x,3) 即(3 2 4 )
m = n=
2 1
3 1
2 3
[m,n]=find(x,3,'last')
m = n=
1 4
2 4
3 4
X = [3 2 0; -5 0 7; 0 0 1];[r,c,v] = find(X) r = c= v=
1 1 3
2 1 -5
1 2 2
2 3 7
3 3 1。