na_0021: MATLAB Function における文字列
該当ガイドライン
Control Algorithm Modeling Guidelines - Using MATLAB®, Simulink®, and Stateflow®
サブ ID 推奨事項
NA-MAAB — a
JMAAB — a
MATLAB バージョン
すべて
ルール
サブ ID a
文字列の代入ステートメントは、MATLAB 関数で使用しません。
カスタム パラメーター
該当なし
例 — 誤
文字列の代入ステートメントが、MATLAB 関数で使用されています。
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
end根拠
サブ ID a:
MATLAB 関数は、文字列を文字配列として保存します。その結果、同じ変数に異なる長さの文字列を保存すると、動的メモリ割り当てはサポートされず、文字列は保存されません。
文字列が Switch Case ブロックに使用されている列挙型の使用を検討します。
検証
モデル アドバイザー チェック: Check usage of character vector inside MATLAB Function block (Simulink Check)
最終更新
R2020a
バージョン履歴
R2020a で導入