【问题标题】:isequal not returning true for element in cell array in MATLABisequal 不为 MATLAB 中单元格数组中的元素返回 true
【发布时间】:2014-04-24 02:23:46
【问题描述】:
知道为什么这不返回真实吗???
cmets01a 是一个单元格数组,尽管我很乐意将其转换为矩阵。但是, cell2mat(cmets01a) 给出了自己的错误,即它不支持包含元胞数组或对象的元胞数组(这个支持),我不知道有任何替代方案。
cmets01a{1}
ans =
'4'
等量(cmets01a{1}, '4')
ans =
0
【问题讨论】:
标签:
matlab
comparison
cell-array
comparison-operators
【解决方案1】:
因为在这种情况下,'4' 是一个包含字符串 '4' 的单元格。因此, isequal 是将单元格与字符串进行比较。解决方案是这样的:
strcmp(comments01a{1}, '4')
或者,如果您实际上在单元格中嵌套了单元格,正如您的问题所暗示的那样:
strcmp(comments01a{1}{1}, '4')
如果这两个都不行,你可以试试这个,用数字代替'4'字符串:
isequal(comments01a{1}{1}, 4)
希望这会有所帮助。如果没有,请告诉我,我会再试一次。