Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

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 で導入