structure containing empty string arrays
6 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi, I'm using a structure to hold some text data. The fields of the structure are initialised as cells. However it seems that if the field is left empty then the value is converted to a double meaning I can't consistently index that value. Do I need to specifically test each value or is there a better way? Thanks
x=struct('a',{},'b',{});
x(1).a={'abc' 'bbc'};
x(1).b={'cbc'};
x(2).a={'dbc'};
for iloc=1:2
sprintf('%s,%s\n',...
x(iloc).a{:},...
x(iloc).b{:})
end
0 Commenti
Risposte (2)
Azzi Abdelmalek
il 19 Feb 2013
Modificato: Azzi Abdelmalek
il 19 Feb 2013
You can use
x=struct('a',{''},'b',{''});
Edit
n=10;
v=arrayfun(@(x) {''},1:n,'un',0)
a=struct('a',v,'b',v)
5 Commenti
Azzi Abdelmalek
il 19 Feb 2013
Modificato: Azzi Abdelmalek
il 19 Feb 2013
Ok, use this, it should work
n=10;
v=arrayfun(@(x) {''},1:n,'un',0)
a=struct('a',v,'b',v)
Sean de Wolski
il 19 Feb 2013
Modificato: Sean de Wolski
il 19 Feb 2013
You should be able to use repmat() to create a cell array of empty strings:
C = repmat({''},10,10)
And then feed this into the struct() constructor.
1 Commento
Sean de Wolski
il 19 Feb 2013
@Tom, works fine for me:
C = repmat({''},10,10)
S = struct('C',C)
S(10,1).C = 'pi'
Vedere anche
Categorie
Scopri di più su Cell Arrays in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!