Matlab元胞数组的合并

2行4列元胞结构如下:
a=
'g1' 'g2' [] []
'g3' 'g4' 'g5' []
如何将a合并为1行5列的结构:{'g1' 'g2' 'g3' 'g4' 'g5'}?

a = {'g1' 'g2' [] []
'g3' 'g4' 'g5' []};
b = a(~cellfun(@isempty,a))'
b =

'g1' 'g3' 'g2' 'g4' 'g5'
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-12-14
a={'g1' 'g2' [] []
'g3' 'g4' 'g5' []};
a=reshape(a',1,8);
>> a(3:4)=[]
a =
'g1' 'g2' 'g3' 'g4' 'g5' []

>> a(6)=[]
a =
'g1' 'g2' 'g3' 'g4' 'g5'追问

有没有更简单的方法呢?如果a=cell(100,100)规模的呢?

追答

a={'g1' 'g2' [] []
'g3' 'g4' 'g5' []};
[m,n]=size(a);
a=reshape(a',1,m*n);
b=cell(1,m*n);
j=1;
for i=1:m*n
if ~isempty(a{i})
b{j}=a{i};
j=j+1;
end
end
b(j:end)=[];

>>b =

'g1' 'g2' 'g3' 'g4' 'g5'

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网