从单元格数组转换

时间:2014-01-18 13:28:47

标签: matlab matrix

我有一个150乘1的单元格数组。我的问题是为什么我们不能使用eq函数,如 species(1) = 'setosa'的值, 但是当我写species(1) == 'setosa'时,我希望得到一个逻辑1,但MATLAB给出Undefined function eq for cell array。我需要这个,因为我想将它转换为逻辑数组。我应该如何实现这个

1 个答案:

答案 0 :(得分: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