第二个图片的内容是上面的其中一个胞元的内容,我想把第二个图片中‘’(为空)的位置删除掉,让2,3,4挨在一起,怎么实现?要对第一幅图中每个胞元都进行这个操作。。。。。。。成功追加100分
看懂了,但是 b{ii}=a{ii}(cellfun(@(x) ~isequal(x,''),a{ii})); 这句在运行时出现Function name must be a string.怎么解决
追答你matlab是哪个版本的,可能版本太旧不能接受函数句柄
你直接用
b=cell(size(a));
for ii=1:length(a)
b{ii}=cat(2,a{ii}{:});
end
试试,因为你不想要空字符串,所以cat合拼时会直接忽略空字符
这样返回的b的每个元素是字符串
如果还是要返回元胞数组,可以试一下以下代码
b=cell(size(a));
for ii=1:length(a)
b{ii}=a{ii}(~cellfun('isempty',a{ii}));
end
由于空字符串可以用isempty判断,所以可以用上边代码
较早其的matlab版本没有函数句柄,可以用函数名称
可以了,就是和我想的有点区别,数字都合并到一起了,但是没太大影响,谢谢了
追答用后面
b=cell(size(a));
for ii=1:length(a)
b{ii}=a{ii}(~cellfun('isempty',a{ii}));
end
应该就不连了