我该如何检测一个单元格数组中的空单元格?我知道删除空单元格的命令是a(1) = []
,但我好像无法让MATLAB自动检测哪些单元格为空。
背景:我使用了a=cell(1,53)
预分配了一个单元格数组。然后我使用if exist(filename(i))
和textscan来检查文件是否存在,并读取它。结果当filename(i)
不存在时,就会出现一个空单元格,并且我们会继续下一个文件。
当我完成所有文件的读入后,我想要删除a
中的空单元格。我尝试过if a(i)==[]
,但不起作用。
emptyCells = cellfun('isempty', a);
...cellfun
内部有一个switch
语句,用于检查字符串是否是其中几个函数之一,从而进行“神奇”的速度提升...这在这里有描述:http://undocumentedmatlab.com/blog/cellfun-undocumented-performance-boost/ - JudoWill