在matlab中将矢量转换为字符串,并在单元格数组中搜索此字符串

时间:2014-01-14 11:11:22

标签: arrays string matlab vector

假设我在水平连接3个变量之后创建了一个向量:

>>a=1;
>>b=0;
>>c=1;
>>vector=horzcat(a,b,c);

现在我要做的是将此向量转换为字符串并将此向量放在单元格表中。

 >>string=mat2str(vector);
 >>string =

    [1 0 1]

 >> C = cell(2, 2);
 >> C{1}{1}=string

 >> C = 

  {1x1 cell}    []
      []    []

我的问题是:如何在单元格数组中搜索此值?我尝试了以下方法:

find(strcmp(C, string))

ans =

Empty matrix: 0-by-1
如你所见,matlab找不到这个向量转换为单元格数组内的字符串。有没有更简单的方法呢?

1 个答案:

答案 0 :(得分:2)

你确定要这个:

C{1}{1}=string

而不是这个:

C{1,1}=string

如果您使用第二种方法,则find(strcmp...将起作用。第一种方法不起作用,因为您在单元格矩阵中创建单元格矩阵,然后要求strcmp直接将字符串与单元格进行比较...