datetime 配列入力の定義
コマンド ラインまたは MATLAB® Coder™ アプリで datetime 配列入力を定義できます。コード生成では、関数の引数の検証 (arguments ブロック) または前提条件 (assert ステートメント) を使用した datetime 入力型のプログラムによる指定はサポートされていません。
コマンド ラインでの datetime 配列入力の定義
コマンド ラインで datetime 配列入力を定義するには、入力の例を提供するか datetime coder 型を使用します。定数の datetime 配列入力を指定することもできます。または、サンプル入力を使用してエントリポイント関数を呼び出すテスト ファイルがある場合は、coder.getArgTypes を使用して入力の型を指定できます。
datetime 配列入力の例の提供
-args オプションを使用します。
D = datetime(2019,1:12,1,12,0,0); codegen myFunction -args {D}
datetime 配列の型の提供
datetime 配列の型を codegen に提供するには次のようにします。
datetime配列を定義します。以下に例を示します。D = datetime(2019,1:12,1,12,0,0);
Dから型を作成します。t = coder.typeof(D);
-argsオプションを使用して、型をcodegenに渡します。codegen myFunction -args {t}
定数 datetime 配列入力の提供
datetime 配列入力が定数であることを指定するには、-args オプションを指定して coder.Constant を使用します。
D = datetime(2019,1:12,1,12,0,0); codegen myFunction -args {coder.Constant(C)}
datetime 配列の表現
coder 型オブジェクトは、内部状態の値を除外して、オブジェクトのプロパティの簡潔な説明を表示します。コマンド ライン インターフェイスで表示されるのは、非定数プロパティの型とサイズ、定数プロパティの値です。たとえば、1 行 12 列のサイズの coder datetime 型を作成します。
dt = datetime(2019,1:12,1,12,0,0); dtType = coder.typeof(dt)
変数 dt の表現が coder 型オブジェクト dtType に格納されます。
dtType =
matlab.coder.type.DatetimeType
1x12 datetime
Format : 1x0 char
TimeZone : 1x0 chardatetime coder 型の従来の coder.ClassType 表現が必要な場合は、メソッド getCoderType を使用して取得できます。たとえば、dtType オブジェクトの基になる coder.ClassType 表現を確認するには、次のコマンドを使用します。
dtType.getCoderType
ans =
coder.ClassType
1×1 datetime
Properties :
data : 1×:24 double complex
fmt : 1×:12 char
tz : 1×0 chオブジェクトのプロパティ
coder datetime 型オブジェクトのプロパティを編集できます。オブジェクトのプロパティにスカラー値を割り当てることができます。coder 型オブジェクトのプロパティに値を割り当てると、対応する coder 型の値に暗黙的に変換されます。オブジェクト自体のサイズを変更するには、coder.resize 関数を使用するか、オブジェクトのプロパティを直接編集します。
coder.resize を使用したオブジェクトのプロパティのサイズ変更
coder.resize を使用して、datetime オブジェクトのサイズとオブジェクトのプロパティのサイズを変更できます。プロパティ内で配列を作成することもできます。
たとえば、1 行 12 列のサイズの coder datetime 型を作成します。
dt = datetime(2019,1:12,1,12,0,0); dtType = coder.typeof(dt)
dtType =
matlab.coder.type.DatetimeType
1x12 datetime
Format : 1x0 char
TimeZone : 1x0 charcoder.resize を使用して、Format プロパティを上限が 12 の可変長にします。
dtType.Format = coder.resize(dtType.Format,[1 12],[false true])
dtType =
matlab.coder.type.DatetimeType
1x12 datetime
Format : 1x:12 char
TimeZone : 1x0 charオブジェクトのサイズを直接変更
特定のタイプのオブジェクトについては、オブジェクトのプロパティを編集することでオブジェクト自体のサイズを変更することもできます。たとえば、dtType オブジェクトの列数を変更するには、Size プロパティを編集します。
dtType.Size = [1 24]
dtType =
matlab.coder.type.DatetimeType
1x24 datetime
Format : 1x:12 char
TimeZone : 1x0 char
VarDims プロパティを使用して行数を可変サイズにすることもできます。
dtType.VarDims = [false true]
dtType =
matlab.coder.type.DatetimeType
1x:24 datetime
Format : 1x:12 char
TimeZone : 1x0 char参考
datetime | coder.Constant | coder.typeof | coder.newtype