2017-03-19 118 views
1

我有矢量[0 0 1 1 0 1 1 0 1]。我想找到0和1的索引。我已经使用find命令试过,但我得到:使用查找命令的Matlab错误

0x1 empty double column vector 
+1

请编辑的问题,并添加**你确切的代码使用**,以及在这种情况下期望的输出是什么?你想用它做什么? –

回答

1

虽然aahung's answer正确返回0的位置的和1的,这些指标的典型用例是从另一个阵列中选择与这些位置相匹配的元素。如果这是事实确实如此,应该依靠逻辑索引代替find

tfArr = [0 0 1 1 0 1 1 0 1]; 
data = reshape(magic(3),1,[]); % [8,3,4,1,5,9,6,7,2] 

dataWhereOnes = data(logical(tfArr)) 
% equivalently to the above : data(~~tfArr) 
dataWhereZeros = data(~tfArr) 

导致:

dataWhereOnes = 
    4  1  9  6  2 

dataWhereZeros = 
    8  3  5  7 
+0

它很容易在这里找位置,但如果它是一个1000元素矢量 – rameez

+0

没有任何区别。 –

+0

谢谢你的帮助... – rameez

1

我觉得这个代码将帮助您:

>> arr = [0 0 1 1 0 1 1 0 1]; 
>> find(arr == 0) 

ans = 

    1  2  5  8 

>> find(arr == 1) 

ans = 

    3  4  6  7  9 
+0

我已经试过这个,但我得到一个错误,因为在问题 – rameez

+1

Plz张贴您的*代码*和错误,或我们不能帮你 – xhg