ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

構文

  • r = rem(a,b)

説明

r = rem(a,b)ab で除算した後の剰余を返します。a は被除数、b は除数です。この演算は r = a - b.*fix(a./b) と概念的に同等であり、関数 mod とは異なる丸めを使用します。関数 rem は、rem(a,0)NaN になるという規則に従います。

すべて折りたたむ

23 を 5 で除算した後の残余を計算します。

a = 23;
b = 5;
r = rem(a,b)
r =

     3

整数ベクトルと除数 3 による除算後の剰余を求めます。

a = 1:5;
b = 3;
r = rem(a,b)
r =

     1     2     0     1     2

正の値と負の値の両方を含む一連の整数について除算後の剰余を求めます。非ゼロの結果は被除数と同じ符号になります。

a = [-4 -1 7 9];
b = 3;
r = rem(a,b)
r =

    -1    -1     1     0

除数 2*pi を使用して、複数の角度を除算した後の剰余を求めます。可能な場合、rem は浮動小数点の丸めの影響を補正して、正確な整数の結果を出力するように試みます。

theta = [0.0 3.5 5.9 6.2 9.0 4*pi];
b = 2*pi;
r = rem(theta,b)
r =

         0    3.5000    5.9000    6.2000    2.7168         0

入力引数

すべて折りたたむ

被除数。スカラー、ベクトル、行列または多次元配列として指定します。a は任意の数値型の実数値配列でなければなりません。入力 ab は、どちらかがスカラーでない限り、同じサイズでなければなりません。スカラー値は他の配列と同じサイズになるように拡張されます。

一方の入力が整数データ型の場合、他方の入力も同じ整数データ型か double のスカラーでなければなりません。

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

除数。スカラー、ベクトル、行列または多次元配列として指定します。b は任意の数値型の実数値配列でなければなりません。入力 ab は、どちらかがスカラーでない限り、同じサイズでなければなりません。スカラー値は他の配列と同じサイズになるように拡張されます。

一方の入力が整数データ型の場合、他方の入力も同じ整数データ型か double のスカラーでなければなりません。

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

詳細

すべて折りたたむ

mod と rem の違い

除算後の剰余の概念は一意に定義されてはおらず、2 つの関数 modrem はそれぞれ異なる値を計算します。関数 mod は、ゼロまたは除数と同じ符号の結果を生成します。関数 rem は、ゼロまたは被除数と同じ符号の結果を生成します。

その他の違いとして除数がゼロの場合の規則があります。関数 mod は、mod(a,0)a を返す規則に従い、関数 remrem(a,0)NaN を返す規則に従います。

それぞれに固有の用途があります。たとえば信号処理では、周期的な信号の処理について関数 mod が役立ちます。この場合出力が周期的で、周期が除数と等しくなるためです。

参考

R2006a より前に導入

この情報は役に立ちましたか?