【问题标题】: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)
    

    希望这会有所帮助。如果没有,请告诉我,我会再试一次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-16
      • 2018-08-23
      • 1970-01-01
      • 2021-12-12
      • 2012-11-20
      • 1970-01-01
      相关资源
      最近更新 更多