how to expand cell array?
Show older comments
I have a cell array that contains T1-001, T2-001, T1-002, T2-002....T2-058. I am trying to expand the cell array 368x but I would like to keep them together (T1-001 with T2-002 and etc. How do I expand it so that T1-001 and T2-001 expands 368x .
Answers (2)
Azzi Abdelmalek
on 24 Oct 2013
Edited: Azzi Abdelmalek
on 24 Oct 2013
a=[sprintf('T1-00%d T2-00%d ',[1:9;1:9]) sprintf('T1-0%d T2-0%d ',[10:58;10:58]) ]
out=regexp(a,'\w+\-\w+','match')
out=reshape(repmat(out,368,1),[],1)
%or
a=sprintf('T1-%3d*T2-%3d*',[1:58;1:58])
b=regexp(a,'[^\*]\w+\-\s+\w+','match')
out=strrep(b,' ','0')
out=reshape(repmat(out,368,1),[],1)
6 Comments
andrew
on 25 Oct 2013
Azzi Abdelmalek
on 25 Oct 2013
Edited: Azzi Abdelmalek
on 25 Oct 2013
That's what the above code do
andrew
on 14 Nov 2013
Azzi Abdelmalek
on 14 Nov 2013
a=sprintf('T1-%3d*T2-%3d*',[1:58;1:58])
b=regexp(a,'[^\*]\w+\-\s+\w+','match')
out=strrep(b,' ','0')
out=reshape(out,2,[])'
andrew
on 14 Nov 2013
Azzi Abdelmalek
on 14 Nov 2013
a=sprintf('T1-%3d*T2-%3d*',[1:58;1:58])
b=regexp(a,'[^\*]\w+\-\s+\w+','match')
out=strrep(b,' ','0')
out=reshape(out,2,[])'
res=cellfun(@(x,y) [x ', ' y],out(:,1),out(:,2),'un',0)
Walter Roberson
on 12 Nov 2013
idx = ndgrid(1:length(YourArray), ones(1,368));
NewArray = YourArray(idx);
Categories
Find more on Resizing and Reshaping Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!