Deleting [ ] from a matrix

'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

 Akzeptierte Antwort

Andrei Bobrov
Andrei Bobrov am 20 Jul. 2012

0 Stimmen

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);

Weitere Antworten (1)

Walter Roberson
Walter Roberson am 20 Jul. 2012

0 Stimmen

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'}

Kategorien

Mehr zu Genomics and Next Generation Sequencing finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by