このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
na_0021: MATLAB Function における文字列
R2020a 以降
該当ガイドライン
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 で導入