我有一个2D单元格数组,其中第一行由数据库中的标签组成,例如:
myData(1,:) = {'X', 'Y', 'Z', 'W'};
对于每个标签,都有一个列(即从特定列的第二行到最后一行)由单元格条目组成,但可能存在不填充所有单元格的情况。
这个例子应该举例说明我正在使用的内容:
myData =
'X' 'Y' 'Z' 'W'
[1] [] [] [1]
[2] [] [] [2]
[] [] [] [3]
是否可以确定我的2D单元阵列的每列有多少非空行,不包括第一行标签?
答案 0 :(得分:3)
这是你想要的吗?
sum(~cellfun('isempty', myData))-1
~cellfun(...)
部分为2D单元阵列中非空的每个单元格提供1
,否则为0
。然后计算每列的总和(sum(...)
);减去1
,以便不考虑第一行。您的示例中的结果是:
>> myData
myData =
'X' 'Y' 'Z' 'W'
[1] [] [] [1]
[2] [] [] [2]
[] [] [] [3]
>> sum(~cellfun('isempty', myData))-1
ans =
2 0 0 3