Arrays 单元格数组中strcmp函数的问题
我正在使用单元格数组a,其值如下所示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={'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的帮助。