na_0021: Strings in MATLAB functions
Guideline Publication
Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®
Sub ID Recommendations
NA-MAAB — a
JMAAB — a
MATLAB Versions
All
Rule
Sub ID a
Assignment statements for strings shall not be used in MATLAB functions.
Not Applicable
An assignment statement for strings is being used in the MATLAB function.
function y = fcn(u)
%#codegen
str = 'A';
for i = 1:u
str = [str 'B'];
end
if strcmp(str, 'ABB')
y = int16(1);
else
y = int16(0);
end
endRationale
Sub ID a:
MATLAB functions store strings as character arrays. As a result, storing strings of different lengths in the same variable does not support dynamic memory allocation, which prevents the strings from being stored.
Consider using enumerated types when a string is used in a Switch Case block
Verification
Model Advisor check: Check usage of character vector inside MATLAB Function block (Simulink Check)
Last Changed
R2020a
See Also
Version History
Introduced in R2020a