2017-03-19 34 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