Hauptinhalt

mod

Rest nach Division (Modulo-Operation)

Beschreibung

b = mod(a,m) gibt den Rest nach einer Division von a durch m zurück, wobei a der Dividend und m der Divisor ist. Diese Funktion wird oft als Modulo-Operation bezeichnet und kann als b = a - m.*floor(a./m) ausgedrückt werden. Die Funktion mod befolgt die Konvention, dass mod(a,0) a zurückgibt.

Beispiel

Beispiele

alle reduzieren

Berechnen Sie 23 modulo 5.

b = mod(23,5)
b = 
3

Finden Sie den Rest nach einer Division für einen Vektor aus Ganzzahlen mit dem Divisor 3.

a = 1:5;
m = 3;
b = mod(a,m)
b = 1×5

     1     2     0     1     2

Finden Sie den Rest nach einer Division für eine Reihe von Ganzzahlen, einschließlich positiver und negativer Werte. Beachten Sie, dass Nicht-Null-Ergebnisse stets positiv sind, wenn der Divisor positiv ist.

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

     2     2     1     0

Finden Sie den Rest nach einer Division durch einen negativen Divisor für eine Reihe von Ganzzahlen, einschließlich positiver und negativer Werte. Beachten Sie, dass Nicht-Null-Ergebnisse stets negativ sind, wenn der Divisor negativ ist.

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

    -1    -1    -2     0

Finden Sie den Rest nach einer Division für mehrere Winkel mit einem Modulus von 2*pi. Beachten Sie, dass mod versucht, nach Möglichkeit die Rundungseffekte bei Gleitkommazahlen auszugleichen, um präzise ganzzahlige Ergebnisse zu berechnen.

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

Eingabeargumente

alle reduzieren

Dividend, angegeben als Skalar, Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable. a muss ein reellwertiges Array mit beliebigem numerischem Typ sein. Die Eingaben a und m müssen entweder dieselbe Größe oder kompatible Größen aufweise n(a ist beispielsweise eine M-mal-N-Matrix und m ein Skalar oder ein 1-mal-N-Zeilenvektor). Weitere Informationen finden Sie unter Kompatible Arraygrößen für Basisoperationen.

Wenn a ein duration-Array und m ein numerisches Array ist, werden die Werte in m als Anzahl von 24-Stunden-Tagen behandelt.

Wenn eine Eingabe einen Ganzzahl-Datentyp aufweist, muss die andere Eingabe denselben Ganzzahl-Datentyp aufweisen oder ein Skalar double sein.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable

Divisor, angegeben als Skalar, Vektor, Matrix, mehrdimensionales Array, Tabelle oder Timetable. m muss ein reellwertiges Array mit beliebigem numerischem Typ sein. Die Eingaben a und m müssen entweder dieselbe Größe oder kompatible Größen aufweisen (a ist beispielsweise eine M-mal-N-Matrix und m ein Skalar oder ein 1-mal-N-Zeilenvektor). Weitere Informationen finden Sie unter Kompatible Arraygrößen für Basisoperationen.

Wenn m ein duration-Array und a ein numerisches Array ist, werden die Werte in a als Anzahl von 24-Stunden-Tagen behandelt.

Wenn eine Eingabe einen Ganzzahl-Datentyp aufweist, muss die andere Eingabe denselben Ganzzahl-Datentyp aufweisen oder ein Skalar double sein.

Datentypen: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | duration | char | table | timetable

Mehr über

alle reduzieren

Referenzen

[1] Knuth, Donald E. The Art of Computer Programming. Vol. 1. Addison Wesley, 1997 pp.39–40.

Erweiterte Fähigkeiten

alle erweitern

Versionsverlauf

Eingeführt vor R2006a

alle erweitern

Siehe auch