Arrays 单元格数组中strcmp函数的问题

Arrays 单元格数组中strcmp函数的问题,arrays,string,matlab,matrix,Arrays,String,Matlab,Matrix,我正在使用单元格数组a,其值如下所示 a={'1','2','4','5'} 现在我只是比较a和一些字符串,比如'two',然后在a中添加另一列,并在该位置插入字符串 a{strcmp(a,'two'),3} ='Three' ; 我得到的输出如下 a = 'one' 'two' [] 'four' 'five' [] [] [] 'Three' a = 'one

我正在使用单元格数组a,其值如下所示

a={'1','2','4','5'}

现在我只是比较a和一些字符串,比如'two',然后在a中添加另一列,并在该位置插入字符串

a{strcmp(a,'two'),3} ='Three' ; 
我得到的输出如下

 a = 

     'one'     'two'          []
     'four'    'five'         []
         []        []    'Three'
 a = 

     'one'     'two'     'Three'
     'four'    'five'         []
但实际上我希望输出如下

 a = 

     'one'     'two'          []
     'four'    'five'         []
         []        []    'Three'
 a = 

     'one'     'two'     'Three'
     'four'    'five'         []
我怎样才能做到这一点?

您是否考虑过在您的任务中使用

%// create map
keySet =   {'one', 'two', 'three', 'four', 'five', 'six','seven','eight'};
valueSet = [1, 2, 3, 4, 5, 6, 7 ,8];
mapObj = containers.Map(keySet,valueSet);

%// data
a = {'one' , 'two' ; 'four', 'five'};

%// analyze data
Nums = cell2mat(values(mapObj,a));

%// expand data
Nums(:,3) = Nums(:,2) + 1

%// output
output = keySet(Nums)


如果在命令行中键入strcmp(a,'two')
,会得到什么结果?提示:请阅读并尝试ii=1:4 disp(a{ii})end的
**哦,我以为你会得到
3
,但忘了你需要先调用
find
,那么你只是想找到与搜索字符串匹配的行吗?在这种情况下,请尝试
find(any(strcmp(a,'two'),2))
谢谢Dan的帮助。