Main Content

string のコード生成

コード生成は 1 行 1 列の MATLAB® string 配列をサポートします。コード生成では、複数の要素を含む string 配列はサポートされません。

"string スカラー" と呼ばれる 1 行 1 列の string 配列には、1 行 n 列の文字ベクトルで表されるテキストが含まれます。string スカラーの例として "Hello, world" があります。string の詳細については、string 配列および文字配列内のテキストを参照してください。

制限

string スカラーでは、コード生成は、以下をサポートしていません。

  • グローバル変数

  • 中かっこ {} によるインデックス付け

  • 欠損値

  • assert ステートメントで前提条件を使用したプログラムによる入力の型の定義

  • coder.varsize での使用 (codegen (MATLAB Coder) コマンド、fiaccel コマンド、または MATLAB Coder™ アプリを使用してコードを生成する場合)

  • Simulink® 信号、パラメーター、データ ストア メモリとしての用途

コード生成では、クラスに適用される制限が string にも適用されます。コード生成のための MATLAB クラスの定義を参照してください。

生成されたコードと MATLAB コードの相違点

  • 複数の単項演算子を含む string を double に変換すると、MATLAB の結果と生成されたコードの結果が異なる場合があります。次の関数を考えてみます。

    function out = foo(op)
    out = double(op + 1);
    end

    入力値 "--" の場合、関数によって string "--1"double に変換されます。MATLAB では、回答が NaN になります。生成されたコードの回答は 1 です。

  • 間違って配置されたコンマ (3 桁ごとの区切りとして使用されていないコンマ) をもつ string を double に変換した場合、MATLAB とは異なる結果が得られることがあります。

関連するトピック