Matlab cell2mat错误:输入单元阵列的所有内容必须是相同的数据类型

时间:2014-04-21 20:49:10

标签: matlab

我试图将cell2mat函数应用于由空字符串或整数字符串组成的单元格。我收到此错误告诉我,单元格的内容并非都是相同的数据类型,即使我跑了" iscellstr"在具有空字符串的索引和具有整数sting的索引上,两者都返回1,表示为true。还有什么可能导致这个错误?

1 个答案:

答案 0 :(得分:1)

尝试使用str2double代替cell2mat。

您可能有空单元格[]而不是空字符串''

示例:

>> M = {'123'; ''; []; '-2'}

M = 

    '123'
    ''
    []
    '-2'

注意有空单元格和空字符串。 cell2mat引发了此错误:

>> cell2mat(M)
Error using cell2mat (line 46)
All contents of the input cell array must be of the same data type.

str2double会返回此信息:

>> str2double(M)

ans =

   123
   NaN
   NaN
    -2