Matlab元胞数组的合并

2行4列元胞结构如下:a='g1''g2'[][]'g3''g4''g5'[]如何将a合并为1行5列的结构:{'g1''g2''g3''g4''g5'}?... 2行4列元胞结构如下:
a=
'g1' 'g2' [] []
'g3' 'g4' 'g5' []
如何将a合并为1行5列的结构:{'g1' 'g2' 'g3' 'g4' 'g5'}?
展开
 我来答
久久不能记住
2011-12-14 · TA获得超过498个赞
知道小有建树答主
回答量:431
采纳率:0%
帮助的人:495万
展开全部
a = {'g1' 'g2' [] []
'g3' 'g4' 'g5' []};
b = a(~cellfun(@isempty,a))'
b =

'g1' 'g3' 'g2' 'g4' 'g5'
unparal
2011-12-14 · TA获得超过4080个赞
知道小有建树答主
回答量:384
采纳率:100%
帮助的人:418万
展开全部
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'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式