ドキュメンテーション

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

rem

構文

r = rem(a,b)

説明

r = rem(a,b)ab で除算した後の剰余を返します。a は被除数、b は除数です。この関数は残余演算と呼ばれ、r = a - b.*fix(a./b) として表現できます。関数 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×5

     1     2     0     1     2

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

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

    -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 = 1×6

         0    3.5000    5.9000    6.2000    2.7168         0

入力引数

すべて折りたたむ

被除数。スカラー、ベクトル、行列または多次元配列として指定します。a は任意の数値型の実数値配列でなければなりません。数値入力 ab は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、aMN 列の行列で、b がスカラーまたは 1N 列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。

ab が duration 配列の場合は、一方がスカラーでない限り、同じサイズでなければなりません。一方の入力が duration 配列である場合、他方の入力には duration 配列または数値配列を指定できます。このコンテキストでは、rem は数値を標準日 (24 時間) の日数として扱います。

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

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

除数。スカラー、ベクトル、行列または多次元配列として指定します。b は任意の数値型の実数値配列でなければなりません。数値入力 ab は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、aMN 列の行列で、b がスカラーまたは 1N 列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。

ab が duration 配列の場合は、一方がスカラーでない限り、同じサイズでなければなりません。一方の入力が duration 配列である場合、他方の入力には duration 配列または数値配列を指定できます。このコンテキストでは、rem は数値を標準日 (24 時間) の日数として扱います。

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

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

詳細

すべて折りたたむ

mod と rem の違い

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

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

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

拡張機能

参考

R2006a より前に導入