ドキュメンテーション

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

mod

除算後のモジュラス

構文

  • M = mod(X,Y)

説明

M = mod(X,Y) は、XY で除算した後のモジュラスを返します。一般に、Y0 でない場合、M = mod(X,Y)X - n.*Y を返します。ここでは n = floor(X./Y) となります。Y が整数ではなく、商 X./Y が整数の丸め誤差以内であれば、n は整数です。入力 XY は、いずれかが double のスカラーでない限り、同じ次元でなければなりません。一方の入力が整数データ型の場合、他方の入力も同じ整数データ型か double のスカラーでなければなりません。

以下のようになります。

  • mod(X,0) は、X となります。

  • mod(X,X) は、0 となります。

  • X~=YY~=0 に対して、mod(X,Y)Y と同じ符号をもちます。

すべて展開する

2 つのスカラーのモジュラス

23 を 5 を法として計算します。

X = 23;
Y = 5;
M = mod(X,Y)
M =

     3

ベクトルのモジュラス

ベクトルを作成し、mod を使用して、ベクトルの各要素をスカラーで除算した後のモジュラスを求めます。

X = 1:5;
Y = 3;
M = mod(X,Y)
M =

     1     2     0     1     2

1 つまたは複数の入力を配列として指定すると、関数 mod は各配列要素に独立して作用します。

2 つの配列のモジュラス

2 つの 3 行 3 列の行列を作成し、mod を使用して、XY で除算した後のモジュラスを求めます。

X = [1 2 3;4 5 6;7 8 9];
Y = [9 8 7;6 5 4;3 2 1];
M = mod(X,Y)
M =

     1     2     3
     4     0     2
     1     0     0

入力 XY は、いずれかが double のスカラーでない限り、同じ次元でなければなりません。

mod における強制的な丸め

Y が整数ではなく、X./Y が整数の丸め誤差以内であれば、mod は計算で整数に丸めます。丸め誤差のサイズは非常に小さくなっています。

X = 2;
Y = 2 - eps(2)
Y =

    2.0000

Y は 2 とほぼ等しいように見えますが、実際には極小の差があります。

2 - Y
ans =

  4.4409e-16

この差は十分に小さい場合、mod によって強制的にゼロとされます。

M = mod(X,Y)
M =

     0

この差を少し大きくすると、強制的な丸めはなくなります。

Y = 2 - eps(4);
M = mod(X,Y)
M =

   8.8818e-16

mod と rem の違い

符号の異なる XY を定義します。

X = 5;
Y = -2;

mod で除算後のモジュラスを計算し、rem で除算後の剰余を計算します。

M = mod(X,Y)
M =

    -1
R = rem(X,Y)
R =

     1

mod(X,Y)rem(X,Y) は、XY が同じ符号の場合、同じ結果になりますが、XY の符号が異なる場合、Y だけ異なります。mod では Y の符号が保持されますが、rem では X の符号が保持されています。

入力引数

すべて展開する

X — 被除数スカラー | ベクトル | 行列 | 多次元配列

被除数。スカラー、ベクトル、行列または多次元配列として指定します。任意の数値型の実数値でなければなりません。

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

Y — 除数スカラー | ベクトル | 行列 | 多次元配列

除数。スカラー、ベクトル、行列または多次元配列として指定します。任意の数値型の実数値でなければなりません。

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

詳細

すべて展開する

ヒント

  • 関数 mod は、合同関係の検証に役立ちます。mod(x,m) == mod(y,m) の場合、xy は合同 (mod m) です。たとえば、23 と 13 は 5 を法 (mod 5) として合同です。

参考

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