2013-12-18 90 views

回答

2

轉換爲logical

>> A(1, logical(B(1, :))) 
ans = 
    2  3  5 

由於B實際上是一個double陣列,它認爲你正試圖索引元素0,這會導致錯誤。

或者,如果您更喜歡雙重否定,請執行A(1, ~~B(1, :))。我個人認爲這看起來很醜。或簡單地測試:A(1, B(1, :)==1)A(1, B(1, :)~=0)A(1, B(1, :)>0)

另一解決方案是使用find滿足錯誤的「正整數」部分:

>> A(1, find(B(1, :))) 
ans = 
    2  3  5 
相關問題