Matlab "missing" values not clear

52 views (last 30 days)
Temi on 23 Mar 2017
Answered: Jan on 23 Mar 2017
Matlab holds some types of "<missing>" values in its string array. For instance
b =
3×3 string array
"I" <missing> "MATLAB"
<missing> "love" "MATLAB"
"I" "love" <missing>
when I access each element of the array
ans =
ans =
ans =
errormsg = Conversion of element 2 from missing to character vector is not supported.
what type of value is "missing", and why can't it simply be an empty character vector?

Accepted Answer

Guillaume on 23 Mar 2017
Edited: Guillaume on 23 Mar 2017
what type of value is "missing"
From the user point of view it's a flag for missing data. How it is implemented should not concern you and is not documented. (And I don't mean that in a negative way. We, as users, should not have to care, it should 'just work')
and why can't it simply be an empty character vector I don't know if it's a deliberate decision from mathworks or an oversight. However, there are plenty of cases where a missing string is not the same at all as an empty string.
Note that missing is brand new as of R2017a. As is documented the curly braces syntax is a compatibility layer for these codes that rely on cell array of char arrays and you should try to avoid it. It is indeed a bit unfortunate that that compatibility layer breaks in case of missing, so if you want that changed create a bug report with mathworks.

More Answers (1)

Jan on 23 Mar 2017
"Missing" means, that the string was not defined before. An empty string would be a defined string already. This is something completely different.
With cell arrays an equivalent method was implemented for cell arrays, but not visible from the Matlab layer:
C = cell(1, 5)
Now the contents of C{1} is treated as empty matrix [], but internally the element contains a NULL pointer. From the MEX level this must be considered explicitely - with the advantage that it can be distinguished also.


Find more on Characters and Strings in Help Center and File Exchange



Community Treasure Hunt

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

Start Hunting!

Translated by