Matlab用Cell数组中的空单元格替换0

时间:2014-10-21 11:42:40

标签: arrays matlab cell

我有一个10,000 x 65的单元格,0和1和1,所以例如,如果我输入

  

C(1,1)我返回[0]或同样返回C(3,4)a [1]

我需要一种方法将每个0变成一个空白单元格,每1个变成一个字符

我尝试了以下但收效甚微

  

[rows, cols] = size(M); for i = 1:rows for j = 1:cols if strcmp(M(i,j), 1) M(i,j) = 't'; end end end

它返回同样的东西,我猜测它没有将1#识别为字符串。任何想法只是简单地在Excel中进行转换。 感谢

1 个答案:

答案 0 :(得分:1)

您没有正确访问单元格数据结构。

首先,如果M确实是一个单元格数组,则必须使用M{i,j}来访问数据。 M(i,j)所做的只是创建一个子单元格数组,其中包含M{i,j}作为条目。

如果您的单元格数组包含应使用strcmp的字符串,则strcmp(M{i,j}, '1')未正确使用。 另一方面,如果您的单元格数组包含整数,则必须使用:M{i,j}==1