Code covered by the BSD License  

Highlights from
logical2cellstr, cellstr2logical

Be the first to rate this file! 20 Downloads (last 30 days) File Size: 2.15 KB File ID: #24665

logical2cellstr, cellstr2logical

by

 

08 Jul 2009 (Updated )

Convert from a logical array to a cell array of 'true'/'false' strings and back again.

| Watch this File

File Information
Description

C = LOGICAL2CELLSTR(TF) takes a logical array TF, and returns a cell array of strings, with the value 'true' wherever TF is true, and 'false' wherever TF is false.

EXAMPLE:
logical2char([true false; false true])
ans =
    'true' 'false'
    'false' 'true'

TF = CELLSTR2LOGICAL(C) takes a cell array of strings and returns a logical array. Where the input value is 'true' (matched case insensitively), then the corresponding return value is true. Likewise, where the input value is 'false' (matched case insensitively), then the corresponding return value is false. An error is thrown if any other strings are contained in c.

TF = CELLSTR2LOGICAL(C, 1) is as above, but the strings are matched case sensitively.

EXAMPLES:
cellstr2logical({'false', 'True'; 'TRUE' 'FAlsE'})
ans =
     0 1
     1 0

MATLAB release MATLAB 7.8 (R2009a)
Tags for This File   Please login to tag files.
Please login to add a comment or rating.
Comments and Ratings (1)
08 Jul 2009 Jos (10584)

No need for for-loops. In logical2cellstr:

c = cell(size(tf));
c(:) = {'false'} ;
c(tf) = {'true') ;

For cellstr2log, take a look at strcmpi or regexp ...

It was pleasure to find good help though with examples!

Updates
09 Jul 2009

I've taken Jos's helpful comments on board. Both functions are now verctorised and run much quicker, especially for larger matrices.

10 Jul 2009

Minor bug fix.

Contact us