Arrays Matlab在单元阵列中用空单元代替0

Arrays Matlab在单元阵列中用空单元代替0,arrays,matlab,cell,Arrays,Matlab,Cell,我有一个10000 x 65的单元格,有0和1,例如,如果我键入 C(1,1)I返回[0],或者类似地返回C(3,4)a[1] 我需要一种方法将每个0转换为空白单元格,将每个1转换为字符t 我尝试了以下方法,但收效甚微 [行,列]=大小(M); 对于i=1:行 对于j=1:cols 如果strcmp(M(i,j),1) M(i,j)=‘t’; 结束 结束 结束 它返回相同的东西,我猜它不会将1识别为字符串。任何想法都可以简单地在Excel中直接进行转换。 谢谢您没有正确访问单元格数据结构 首先,

我有一个10000 x 65的单元格,有0和1,例如,如果我键入

C(1,1)
I返回[0],或者类似地返回C(3,4)a[1]

我需要一种方法将每个0转换为空白单元格,将每个1转换为字符t

我尝试了以下方法,但收效甚微

[行,列]=大小(M);
对于i=1:行
对于j=1:cols
如果strcmp(M(i,j),1)
M(i,j)=‘t’;
结束
结束
结束

它返回相同的东西,我猜它不会将1识别为字符串。任何想法都可以简单地在Excel中直接进行转换。
谢谢

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

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

另外,
strcmp
使用不正确,如果单元格数组包含字符串,则应使用
strcmp(M{i,j},'1')

另一方面,如果您的单元格数组包含整数,则必须使用:
M{i,j}==1

如果您认为问题在于它无法将它们识别为字符串,那么您是否尝试过
如果M(i,j)==1