Main Content

nearestDiv

除算結果の最も近い整数方向への丸め

R2021a 以降

説明

y = nearestDiv(x,d) は、最も近い整数値に丸めた x/d の結果を返します。

y = nearestDiv(x,d,m) は、最も近い m の倍数に丸めた x/d の結果を返します。

y のデータ型は、x のデータ型と d および m の値に基づいて、求められる最大の解と最小の解の両方を格納する十分な語長と小数部の長さをもつサイズになるように計算されます。

すべて折りたたむ

除算演算を実行し、最も近い整数値に丸めます。

nearestDiv(int16(201),10)
ans = 
    20

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 13
        FractionLength: 0

除算演算を実行し、最も近い 7 の倍数に丸めます。

nearestDiv(int16(201),10,7)
ans = 
    21

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 13
        FractionLength: 0

nearestDiv を使用する関数を定義します。

function y = nearestDiv_example(x,d)
y = nearestDiv(x,d);
end

MATLAB® で入力を定義し、関数を実行します。

x = fi(pi);
d = fi(2);
y = nearestDiv_example(x,d)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0

この関数のコードを生成するには、分母 d を定数として定義しなければなりません。

codegen nearestDiv_example -args {x, coder.Constant(d)}
Code generation successful.

または、分母 d を、コードの本文の定数として定義できます。

function y = nearestDiv10(x)
y = nearestDiv(x,10);
end
x = fi(5*pi);
y = nearestDiv10(x)
y = 
     1

          DataTypeMode: Fixed-point: binary point scaling
            Signedness: Signed
            WordLength: 2
        FractionLength: 0
codegen nearestDiv10 -args {x}
Code generation successful.

入力引数

すべて折りたたむ

被除数。スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi

除数。スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi

最も近い倍数に丸める係数。スカラーとして指定します。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fi

出力引数

すべて折りたたむ

除算の負方向に丸めた結果。スカラーとして返されます。

y のデータ型は、x のデータ型と d および m の値に基づいて、求められる最大の解と最小の解の両方を格納する十分な語長と小数部の長さをもつサイズになるように計算されます。

拡張機能

バージョン履歴

R2021a で導入