Deleting [ ] from a matrix
2 views (last 30 days)
Show older comments
'gene1' [] 'u' 'u' 'd'
'gene2' 'u' 'u' [] 'u'
'gene3' [] 'u' 'd' []
'gene4' 'd' 'u' 'd' 'd'}
in this matrix [] must be deleted and output as
'gene1' 'u' 'u' 'd'
'gene2' 'u' 'u' 'u'
'gene3' 'u' 'd'
'gene4' 'd' 'u' 'd' 'd'
is it possible please help
0 Comments
Accepted Answer
Andrei Bobrov
on 20 Jul 2012
d ={'gene1' [] 'u' 'u' 'd'
'gene2' 'u' 'u' [] 'u'
'gene3' [] 'u' 'd' []
'gene4' 'd' 'u' 'd' 'd'}
out = cellfun(@(x)x(~cellfun(@isempty,x)),num2cell(d,2),'un',0);
More Answers (1)
Walter Roberson
on 20 Jul 2012
No, you are trying to create a cell array with a variable number of columns per row. That is not allowed.
The closest you would be able to get would be to change to a cell vector, one entry per row, each entry of which contained a cell vector, the entries of which were the strings. e.g.,
YourVector{3} = {'gene3' 'u' 'd'}
0 Comments
See Also
Categories
Find more on Genomics and Next Generation Sequencing 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!