How can i remove empty cells and print only the nonempty cell in a cell array?
古いコメントを表示
I have two cell arrays. Q1 and Q2
My cell array's are like this :
q1 = '+ab' <1x1 cell> '+BD'
q2 = <1x1 cell> '+aC'
My output required :
+ab+BD+aC
回答 (2 件)
Andrei Bobrov
2014 年 2 月 16 日
編集済み: Andrei Bobrov
2014 年 2 月 18 日
strcat(q1(end),q2(end))
ADD
q1 = {'+ab' {} '+BD'};
q2 = {{} '+aC'};
q = [q1 q2];
out = cat(2,q{:});
out = cat(2,out{:});
or
out = cell2mat([q1{:},q2{:}]);
David Sanchez
2014 年 2 月 18 日
%%%your cell
q1 = cell(3,1);
q2 = cell(2,1);
q1{1}='+ab';
q1{2} ={};
q1{3}='+BD';
q2{1}={};
q2{2} ='+aC';
code to join the non-empty cells
n=1;
for k=1:numel(q1)
if ~isempty(q1{k})
q3{n} = q1{k};
n=n+1;
end
end
for k=1:numel(q2)
if ~isempty(q2{k})
q3{n} = q2{k};
n=n+1;
end
end
q3 =
'+ab' '+BD' '+aC'
1 件のコメント
Andrei Bobrov
2014 年 2 月 18 日
[q1{:},q2{:}]
カテゴリ
ヘルプ センター および File Exchange で Cell Arrays についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!