2014-01-18 82 views
0

我有一個150乘1的單元陣列。我的問題是爲什麼我們不能使用eq函數,如 的值爲species(1) = 'setosa', ,但是當我編寫species(1) == 'setosa'時,我期待得到邏輯1,但MATLAB給出了Undefined function eq for cell array。我需要這個,因爲我想將它轉換成邏輯數組。我應該如何實現這一單元陣列轉換

+0

PS:你的問題的答案是'grp2idx'。 – Jonas

回答

0

您可以通過使用find()strcmp()一起做到這一點。

實施例:

stts = {'Gable','Hip','Shed','Shed','Other'}; % string cell array 
[truefalse,index]=find(strcmp(stts,'Shed')) % do it here if you want to find `Shed` 

在此之後,truefalse是邏輯值和index是發現了根據索引。

truefalse = 

    1  1 


index = 

    3  4 
+0

我有更多的一個問題的前50個元素是「setosa」這就是爲什麼我越來越指數= 50 – AbKDs

+0

@TrafalgarLaw查看更新。 – herohuyongtao

+0

是啊,現在它的工作,謝謝@ herohuyongtao :)! – AbKDs