如何删除单元格空元素的方式,我想
问题描述:
在MATLAB我有一个单元阵列,这样如何删除单元格空元素的方式,我想
a = { 1 2 2 3 4 5 [] []
2 4 5 4 3 2 4 5
4 5 4 3 4 [] [] []}
我想删除空元素的方式,我得到这个:
a = { 1 2 2 3 4 5 2 4 5 4 3 2 4 5 4 5 4 3 4}
但是当我使用这个:a(cellfun(@isempty,a)) = [];
我所得到的是这样的:
a = {1 2 4 2 4 5 2 5 4 3 4 3 4 3 4 5 2 4 5}
,它是N加时赛我想
答
的问题是,线性指标中的行方向运行,即它贯穿于第一conlumn,然后通过第二栏等
你可以看到这个当你在一个向量调用reshape
:
>> reshape([1 2 3 4 5 6 7 8 9],3,3)
ans =
1 4 7
2 5 8
3 6 9
达到你想要的结果,你需要进行索引之前移调a
。
a = a';
a(cellfun(@isempty,a)) = [];
答
你可以试试这个什么: A(〜cellfun(“的isEmpty”,A))
它应该等于A? A = A(〜cellfun('isempty',A)); ??? – user667222 2012-07-16 13:24:02