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
関数 years
、days
、hours
、minutes
、seconds
、milliseconds
を使用して、duration 配列を年、日、時、分または秒の単位で作成できます。たとえば、時間の配列を入力数値配列から作成できます。
function d = foo(h) %#codegen d = hours(h); end
duration 配列で許容される演算
コード生成では、次の表に示す duration 配列に対する演算に制限されます。
演算 | 例 | メモ |
---|---|---|
代入演算子: |
d = duration(1:3,0,0); d(1) = hours(5); | コード生成では次に対する代入演算子
|
関係演算子: |
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 配列を使用できます。