我是这样求的,你帮我看一下问题出在哪个地方了?谢谢了
X=[3,2,6;3,7,2;8,9,13]
[m,n]=find(X>3&X<12)
X(m,n)
必须用线性索引,行列下标索引的话有问题。举一个你容易理解的例子x(1:3,1:3)取的是x第1到3行,第1到3列的3*3矩阵,而不是x(1,1),x(2,2),x(3,3)这三个值。因此你上面X(m,n)是一个范围内的矩阵,而不是你要的大于3小于12的X值。这时候需要用sub2din把[m,n]转成线性索引:
>> ind = sub2ind(size(X),m,n)
ind =
3
5
6
7
>> X(ind)
ans =
8
7
9
6
或者你一开始就:ind = find(X>3&X<12)
如果想得到行列形式的索引:[m,n] = ind2sub(size(X),ind)
即可。
参考资料:fi