To combine different cells with empty columns together
조회 수: 2 (최근 30일)
이전 댓글 표시
Hi. I want to combine three different cells in a cell with additional empty columns..
funct1 =
'Q7'
'Q12F'
'Q12G'
'Q12H'
'Q12I'
'Q12L'
'Q12M'
funct2 =
'Q12G'
'Q12H'
'Q12I'
'Q12L'
'Q12M'
funct3 =
'Q12G'
'Q12H'
'Q12I'
Final cell will become like this.
funct =
'Q7' [] 'Q12G' [] 'Q12G' []
'Q12F' [] 'Q12H' [] 'Q12H' []
'Q12G' [] 'Q12I' [] 'Q12I' []
'Q12H' [] 'Q12L' [] [] []
'Q12I' [] 'Q12M' [] [] []
'Q12L' [] [] [] [] []
'Q12M' [] [] [] [] []
Could anyone show me how?
댓글 수: 0
채택된 답변
Andrei Bobrov
2017년 7월 5일
편집: Andrei Bobrov
2017년 7월 5일
fu ={{
'Q7'
'Q12F'
'Q12G'
'Q12H'
'Q12I'
'Q12L'
'Q12M'};
{'Q12G'
'Q12H'
'Q12I'
'Q12L'
'Q12M'};
{ 'Q12G'
'Q12H'
'Q12I'}};
n = cellfun(@numel,fu);
m = max(n);
k = numel(n);
ou = zeros(m*2*k,1);
n1 = n + 2*(0:k-1)'*m;
n0 = n1 - n + 1;
ou(n0) = 1;
ou(n1+1) = -1;
lo = cumsum(ou);
out = cell(m,2*k);
out(lo > 0) = cat(1,fu{:});
or
n = cellfun(@numel,fu);
m = max(n);
k = numel(n);
out = cell(m,2*k);
for ii = 1:k
out(1:n(ii),2*ii-1) = fu{ii};
end
댓글 수: 0
추가 답변 (1개)
KL
2017년 7월 5일
편집: KL
2017년 7월 5일
funct1 = {'Q7';'Q12F';'Q12G';'Q12H';'Q12I';'Q12L';'Q12M'};
funct2 = {'Q12G';'Q12H';'Q12I';'Q12L';'Q12M'};
funct3 = {'Q12G';'Q12H';'Q12I'};
funct0 = cell(size(funct1));
funct2{length(funct1)}= [];
funct3{length(funct1)}= [];
functt = [funct1 funct0 funct2 funct0 funct3 funct0]
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!