HOWTO · MATLAB

MATLAB のモジュロ

このチュートリアルでは、MATLAB での剰余演算について説明します。

このページの内容

このチュートリアルでは、MATLAB での剰余演算について説明します。

MATLAB でのモジュロ演算

モジュロは、ある整数を別の整数で割ったときの剰余を見つけるために使用される算術演算です。 % で表され、通常は mod と省略されます。

たとえば、a と b の 2つの整数があります。

a mod b = r

a は被除数、b はモジュラスまたは除数、r は剰余です。

モジュロはモジュラー演算と暗号化の一部と見なされ、計算がモジュラス値に達したときのラップ アラウンドなどの操作に関係します。 モジュラー演算は暗号化の基本であり、モジュロ演算が大量のモジュラスで使用されます。

MATLAB には、除算後の余りをモジュロで求める方法があります。

r = mod(a,b)

a は被除数、b は除数、r は剰余です。

モジュロ演算を実行するために使用される関数は、次のように表すことができます。

r = a - b.*floor(a./b)

mod(a,0) を指定した mod() 関数は規則に従い、a を返します。

MATLAB でモジュロの例を試してみましょう。

スカラー値によるモジュロ演算

r = mod(51,7)

モジュロ演算を使用した剰余は次のとおりです。

r =

     2

ベクトル値によるモジュロ演算

a = 2:9;
b = 7;
r = mod(a,b)

ベクトルのモジュロ演算を使用した剰余は次のとおりです。

r =

     2     3     4     5     6     0     1     2

正と負の値を使用したモジュロ演算

a = [-6 -3 5 6];
b = 7;
r = mod(a,b)

正と負の値でモジュロ演算を使用した剰余は次のとおりです。

r =

     1     4     5     6

負の除数によるモジュロ演算

a = [-6 -3 5 6];
b = -7;
r = mod(a,b)

負の除数でモジュロ演算を使用した剰余は次のとおりです。

r =

    -6    -3    -2    -1

浮動小数点値を使用したモジュロ演算

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

浮動小数点値でモジュロ演算を使用した剰余は次のとおりです。

r =

         0    3.5000    5.9000    6.2000    9.0000   12.5664