Main Content

コード生成における datetime 配列の制限事項

コード生成を目的とする MATLAB® コードで datetime 配列を作成する場合は、関数 datetime を使用して値を指定しなければなりません。日付と時刻を参照してください。

datetime 配列の場合、コード生成では以下の入力および演算はサポートされません。

  • テキスト入力。たとえば、文字ベクトルを入力引数として指定するとエラーが発生します。

    function d = foo() %#codegen
        d = datetime('2019-12-01');
    end
    
  • 名前と値のペアの引数 'Format'。関数 datetime の使用や datetime 配列の Format プロパティの設定によって、表示形式を指定することはできません。特定の表示形式を使用するには、MATLAB で datetime 配列を作成し、コード生成用の関数に入力引数として渡します。

  • 名前と値のペアの引数 'TimeZone'TimeZone プロパティ。コード生成用のコードで datetime 配列を使用する場合は、ゾーンなしでなければなりません。

  • 時間成分プロパティの設定。たとえば、次のコードで Hour プロパティを設定するとエラーが発生します。

    d = datetime;
    d.Hour = 2;
    
  • 割り当てによる成長。たとえば、配列の末尾を越えて値を割り当てるとエラーが発生します。

    function d = foo() %#codegen
        d = datetime(2019,1:12,1,12,0,0);
        d(13) = datetime(2020,1,1,12,0,0);
    end
    
  • 要素の削除。たとえば、ある要素に空の配列を割り当てるとエラーが発生します。

    function d = foo() %#codegen
        d = datetime(2019,1:12,1,12,0,0);
        d(1) = [];
    end
    
  • 関数 charcellstr または string を使用した datetime 値のテキストへの変換。

クラスに適用される制限は datetime 配列にも適用されます。詳細については、コード生成のための MATLAB クラスの定義 (MATLAB Coder)を参照してください。

参考

|

関連するトピック