Arrays Matlab在单元阵列中用空单元代替0
我有一个10000 x 65的单元格,有0和1,例如,如果我键入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中直接进行转换。 谢谢您没有正确访问单元格数据结构 首先,
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
?