Main Content

duration 配列のコードの生成

duration 配列の値は、時間、分、秒などの固定長の単位で経過時間を表します。固定長 (24 時間) の日数や、固定長 (365.2425 日) の年数で経過時間を作成できます。

duration 配列は、加算、減算、並べ替え、比較、連結およびプロットができます。

コード生成で duration 配列を使用する場合は、次の制限に従ってください。

コード生成用の duration 配列の定義

コード生成用に、関数 duration を使用して duration 配列を作成します。たとえば、MATLAB® 関数への入力引数が任意のサイズの 3 つの数値配列で、その要素が時間の長さを時間、分、秒として指定するとします。これらの 3 つの入力配列から duration 配列を作成できます。

function d = foo(h,m,s) %#codegen
    d = duration(h,m,s);
end

関数 yearsdayshoursminutessecondsmilliseconds を使用して、duration 配列を年、日、時、分または秒の単位で作成できます。たとえば、時間の配列を入力数値配列から作成できます。

function d = foo(h) %#codegen
    d = hours(h);
end

duration 配列で許容される演算

コード生成では、次の表に示す duration 配列に対する演算に制限されます。

演算メモ

代入演算子: =

d = duration(1:3,0,0);
d(1) = hours(5);

コード生成では次に対する代入演算子 = の使用はサポートされません。

  • 要素の削除。

  • duration 配列のサイズの拡張。

関係演算子: < > <= >= == ~=

d = duration(1:3,0,0);
tf = d(1) < d(2);

コード生成では関係演算子がサポートされます。

インデックス演算

d = duration(1:3,0,0);
idx = [1 2];
d(idx);
idx = logical([1 1 0]);
d(idx);

コード生成では位置によるインデックス付け、線形インデックス付け、論理インデックス付けがサポートされます。

連結

d1 = duration(1:3,0,0);
d2 = duration(4,30,0);
d = [d1 d2];

コード生成では duration 配列の連結がサポートされます。

duration 配列をサポートする MATLAB ツールボックス関数

コード生成では、次の MATLAB ツールボックス関数で duration 配列を使用できます。

関連するトピック