Matlab "missing" values not clear

조회 수: 32 (최근 30일)
Temi
Temi 2017년 3월 23일
답변: Jan 2017년 3월 23일
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
b(1)
ans =
string
"I"
b{1}
ans =
I
b(2)
ans =
string
<missing>
b{2}
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?
  댓글 수: 2
Stephen23
Stephen23 2017년 3월 23일
@Temitope Akinpelu: how did you create the variable b ?
Walter Roberson
Walter Roberson 2017년 3월 23일
편집: Guillaume 2017년 3월 23일

댓글을 달려면 로그인하십시오.

채택된 답변

Guillaume
Guillaume 2017년 3월 23일
편집: Guillaume 2017년 3월 23일
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.

추가 답변 (1개)

Jan
Jan 2017년 3월 23일
"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)
C{1}
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.

카테고리

Help CenterFile Exchange에서 Characters and Strings에 대해 자세히 알아보기

태그

제품

Community Treasure Hunt

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

Start Hunting!

Translated by