このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
mod
除算後の剰余 (モジュロ演算)
説明
例
正の値と負の値の両方を含む一連の整数について除算後の剰余を求めます。除数が正の場合、非ゼロの除算結果は常に正である点に注意してください。
a = [-4 -1 7 9]; m = 3; b = mod(a,m)
b = 1×4
2 2 1 0
正の値と負の値の両方を含む一連の整数について、負の除数による除算後の剰余を求めます。除数が負の場合、非ゼロの除算結果は常に負である点に注意してください。
a = [-4 -1 7 9]; m = -3; b = mod(a,m)
b = 1×4
-1 -1 -2 0
2*pi
を除数に使用して、複数の角度の除算後の剰余を求めます。mod
は可能な場合、浮動小数点の丸めの影響を補正して正確な整数の結果を出力しようとする点に注意してください。
theta = [0.0 3.5 5.9 6.2 9.0 4*pi]; m = 2*pi; b = mod(theta,m)
b = 1×6
0 3.5000 5.9000 6.2000 2.7168 0
入力引数
被除数。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。a
は任意の数値型の実数値配列でなければなりません。入力 a
と m
は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、a
が M
行 N
列の行列で、m
がスカラーまたは 1
行 N
列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
a
が duration
配列であり m
が数値配列である場合、m
の値は 1 日を 24 時間とする日数として扱われます。
一方の入力が整数データ型の場合、他方の入力も同じ整数データ型か double
のスカラーでなければなりません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| char
| table
| timetable
除数。スカラー、ベクトル、行列、多次元配列、table、または timetable として指定します。m
は任意の数値型の実数値配列でなければなりません。入力 a
と m
は、同じサイズであるか、互換性のあるサイズでなければなりません (たとえば、a
が M
行 N
列の行列で、m
がスカラーまたは 1
行 N
列の行ベクトル)。詳細については、基本的な演算で互換性のある配列サイズを参照してください。
m
が duration
配列であり a
が数値配列である場合、a
の値は 1 日を 24 時間とする日数として扱われます。
一方の入力が整数データ型の場合、他方の入力も同じ整数データ型か double
のスカラーでなければなりません。
データ型: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| logical
| duration
| char
| table
| timetable
詳細
除算後の剰余の概念は一意に定義されてはおらず、2 つの関数 mod
と rem
はそれぞれ異なる値を計算します。関数 mod
は、ゼロまたは除数と同じ符号の結果を生成します。関数 rem
は、ゼロまたは被除数と同じ符号の結果を生成します。
その他の違いとして除数がゼロの場合の規則があります。関数 mod
は、mod(a,0)
がa
を返す規則に従い、関数 rem
は rem(a,0)
が NaN
を返す規則に従います。
それぞれに適した用途があります。たとえば信号処理では、周期的な信号の処理について関数 mod
が役立ちます。この場合出力が周期的で、周期が除数と等しくなるためです。
関数 mod
は、合同関係に役立ちます。mod(a,m) == mod(b,m)
の場合に限り、a
と b
は (m を法として) 合同です。たとえば、23 と 13 は 5 を法 (mod 5) として合同です。
参照
[1] Knuth, Donald E. The Art of Computer Programming. Vol. 1. Addison Wesley, 1997 pp.39–40.
拡張機能
mod
関数は tall 配列を完全にサポートしています。詳細については、tall 配列を参照してください。
使用上の注意および制限:
算術演算は出力クラスを使用して実行されます。丸め誤差の違いにより、結果が MATLAB® と一致しない場合があります。
いずれかの入力の型が
int64
またはuint64
の場合、両方の入力が同じ型でなければなりません。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
mod
関数は、GPU 配列を完全にサポートします。GPU 上で関数を実行するには、入力データを gpuArray
(Parallel Computing Toolbox) として指定します。詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
この関数は分散配列を完全にサポートしています。詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2006a より前に導入関数 mod
は、table または timetable 内のすべての変数に対して、それらの変数にアクセスするためのインデックス付けを行うことなく計算できます。すべての変数のデータ型で計算がサポートされている必要があります。詳細については、table および timetable での直接計算を参照してください。
参考
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)