This seems like a bug in the 'categorical' class

if I define a cellstr:
>>n={'a','b','b','c'}
I can make it a categorical variable:
>> c=categorical(n)
c =
a b b c
and it will display correctly, but if one of the strings contains a parenthesis:
>> n={'a(','b','b','c'}
n =
'a(' 'b' 'b' 'c'
>> c=categorical(n)
c =
'a(' ' $1 ' ' $1 ' 'c'
The display after that element is showing some kind of pointer instead of the value.
There is also a problem with close-paren, but a little different.
>> n={'a)','b','b','c'}
n =
'a)' 'b' 'b' 'c'
>> c=categorical(n)
c =
a )' b ' b ' c '
Doesn't happen with [.
Clearly seems to be parse error in the display function for the class.
Anyway, thought you should know and wondering if there is a fix/workaround.
Thanks, Michael

 Accepted Answer

Michael, thanks for reporting this. Not sure what version of MATLAB you're using, but this was fixed in R2014b:
>> categorical({'a(','b','b','c'})
ans =
a( b b c
>> categorical({'a)','b','b','c'})
ans =
a) b b c

More Answers (0)

Categories

Find more on MATLAB in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!