Clear Filters
Clear Filters

Need a quick help on storing words according to lengths with struct

1 view (last 30 days)
Given a wordlist in cell array
wordlist={'blues';'rhyme';'armor';'dinosour';'book';'mail'......};
wordstruct=struct;
%%i am not sure how to proceed however it is organised such that the words are between four to 25, and I would like to do something like this,
wordstruct.4L={book mail ....}
wordstruct.5L={blues rhyme.....}
.
.
.
.
.
wordstruct.26L={whateveritisthatmightexist}
I almost given up on finding the right way to do it this way. Any help is very appreciated!

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 27 Nov 2011
You have to use wordstruct.L4, wordstruct.L5, etc. as '4L','5L' etc. are not valid name.
cellfun('islength',...) and then a for-loop should getting you there.
wordlist={'blues';'rhyme';'armor';'dinosour';'book';'mail'};
clear wordstruct;
Len=cellfun('length',wordlist);
for L=4:26
wordstruct.(['L',num2str(L)])=wordlist(Len==L);
end
  4 Comments
Fangjun Jiang
Fangjun Jiang on 27 Nov 2011
Sorry, I meant cell2struct(). In fact, it doesn't have to be used. See update.

Sign in to comment.

More Answers (0)

Categories

Find more on Structures in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!