Mathematische Funktionen

Funktionen zum Durchführen diverser mathematischer Operationen wie Runden, Potenzieren, Quadrieren, etc.

Inhaltsverzeichnis

Allgemeine Mathematik

Abs

Gibt den Absolutwert einer bestimmten Zahl zurück.

Wert := Abs(Zahl)

Der Rückgabewert ist vom gleichen Typ wie Zahl (Integer oder Floating-Point-Zahl).

MsgBox, % Abs(-1.2) ; Gibt 1.2 zurück

Ceil

Gibt eine bestimmte Zahl zurück, aufgerundet auf den nächsten Integer (ohne .00-Suffix).

Wert := Ceil(Zahl)
MsgBox, % Ceil(1.2)  ; Gibt 2 zurück
MsgBox, % Ceil(-1.2) ; Gibt -1 zurück

Exp

Gibt das Ergebnis von e (ca. 2.71828182845905) hoch N zurück.

Wert := Exp(N)

N kann negativ sein und einen Dezimalpunkt enthalten. Um andere Zahlen als e zu potenzieren, verwenden Sie den **-Operator.

MsgBox, % Exp(1.2) ; Gibt 3.320117 zurück

Floor

Gibt eine bestimmte Zahl zurück, abgerundet auf den nächsten Integer (ohne .00-Suffix).

Wert := Floor(Zahl)
MsgBox, % Floor(1.2)  ; Gibt 1 zurück
MsgBox, % Floor(-1.2) ; Gibt -2 zurück

Log

Gibt den Logarithmus (Basis 10) einer bestimmten Zahl zurück.

Wert := Log(Zahl)

Das Ergebnis ist eine Floating-Point-Zahl. Wenn Zahl negativ ist, wird eine leere Zeichenkette zurückgegeben.

MsgBox, % Log(1.2) ; Gibt 0.079181 zurück

Ln

Gibt den Logarithmus (Basis e) einer bestimmten Zahl zurück.

Wert := Ln(Zahl)

Das Ergebnis ist eine Floating-Point-Zahl. Wenn Zahl negativ ist, wird eine leere Zeichenkette zurückgegeben.

MsgBox, % Ln(1.2) ; Gibt 0.182322 zurück

Max [v1.1.27+]

Gibt die höchste Zahl aus einer Reihe von Zahlen zurück.

Zahl := Max(Zahl1 , Zahl2, ...)

Wenn einer der Eingabewerte nicht-numerisch ist, wird eine leere Zeichenkette zurückgegeben.

MsgBox, % Max(2.11, -2, 0) ; Gibt 2.11 zurück

Sie können auch einen variadischen Parameter angeben, um ein Array von Zahlen zu übergeben. Zum Beispiel:

array := [1, 2, 3, 4]
MsgBox, % Max(array*) ; Gibt 4 zurück

Min [v1.1.27+]

Gibt die niedrigste Zahl aus einer Reihe von Zahlen zurück.

Zahl := Min(Zahl1 , Zahl2, ...)

Wenn einer der Eingabewerte nicht-numerisch ist, wird eine leere Zeichenkette zurückgegeben.

MsgBox, % Min(2.11, -2, 0) ; Gibt -2 zurück

Sie können auch einen variadischen Parameter angeben, um ein Array von Zahlen zu übergeben. Zum Beispiel:

array := [1, 2, 3, 4]
MsgBox, % Min(array*) ; Gibt 1 zurück

Mod

Modulo. Gibt den Rest aus einer Division zweier Zahlen zurück.

Wert := Mod(Dividend, Divisor)

Das Vorzeichen des Ergebnisses entspricht dem Vorzeichen des ersten Parameters. Wenn einer der beiden Parameter eine Floating-Point-Zahl ist, wird das Ergebnis ebenfalls eine Floating-Point-Zahl sein. Wenn der zweite Parameter 0 ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.

MsgBox, % Mod(7.5, 2) ; Gibt 1.5 zurück (2 x 3 + 1.5)

Round

Gibt eine bestimmte Zahl zurück, gerundet auf N Dezimalstellen.

Wert := Round(Zahl , N)

Wenn N weggelassen wird oder 0 ist, wird Zahl auf den nächsten Integer gerundet:

MsgBox, % Round(3.14)    ; Gibt 3 zurück

Wenn N positiv ist, wird Zahl auf N Dezimalstellen gerundet:

MsgBox, % Round(3.14, 1) ; Gibt 3.1 zurück

Wenn N negativ ist, wird Zahl um N Stellen links vom Dezimalpunkt gerundet:

MsgBox, % Round(345, -1) ; Gibt 350 zurück
MsgBox, % Round(345, -2) ; Gibt 300 zurück

Im Gegensatz zu Transform Round hat das Ergebnis kein .000-Suffix, wenn N weggelassen wird oder kleiner als 1 ist. [v1.0.44.01+]: Ein Wert von N größer als 0 zeigt genau N Dezimalstellen an, anstatt SetFormat zu berücksichtigen. Um das zu verhindern, führen Sie eine weitere mathematische Operation am Rückgabewert von Round() durch, z.B. Round(3.333, 1)+0.

Sqrt

Gibt die Quadratwurzel einer bestimmten Zahl zurück.

Wert := Sqrt(Zahl)

Das Ergebnis ist eine Floating-Point-Zahl. Wenn Zahl negativ ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.

MsgBox, % Sqrt(16) ; Gibt 4 zurück

Trigonometrie

Hinweis: Um Radiant in Grad umzurechnen, multiplizieren Sie den Wert mit 180/pi (ca. 57.29578). Um Grad in Radiant umzurechnen, multiplizieren Sie den Wert mit pi/180 (ca. 0.01745329252). Der Wert von pi (ca. 3.141592653589793) ist das 4-fache von Arkustangens 1.

Sin

Gibt den trigonometrischen Sinus einer bestimmten Zahl zurück.

Wert := Sin(Zahl)

Zahl muss in Radiant angegeben werden.

MsgBox, % Sin(1.2) ; Gibt 0.932039 zurück

Cos

Gibt den trigonometrischen Kosinus einer bestimmten Zahl zurück.

Wert := Cos(Zahl)

Zahl muss in Radiant angegeben werden.

MsgBox, % Cos(1.2) ; Gibt 0.362358 zurück

Tan

Gibt den trigonometrischen Tangens einer bestimmten Zahl zurück.

Wert := Tan(Zahl)

Zahl muss in Radiant angegeben werden.

MsgBox, % Tan(1.2) ; Gibt 2.572152 zurück

ASin

Gibt den Arkussinus (die Zahl, deren Sinus die angegebene Zahl ist) zurück (in Radiant).

Wert := ASin(Zahl)

Wenn Zahl kleiner als -1 oder größer als 1 ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.

MsgBox, % ASin(0.2) ; Gibt 0.201358 zurück

ACos

Gibt den Arkuskosinus (die Zahl, deren Kosinus die angegebene Zahl ist) zurück (in Radiant).

Wert := ACos(Zahl)

Wenn Zahl kleiner als -1 oder größer als 1 ist, gibt die Funktion ein leeres Ergebnis (leere Zeichenkette) zurück.

MsgBox, % ACos(0.2) ; Gibt 1.369438 zurück

ATan

Gibt den Arkustangens (die Zahl, deren Tangens die angegebene Zahl ist) zurück (in Radiant).

Wert := ATan(Zahl)
MsgBox, % ATan(1.2) ; Gibt 0.876058 zurück

Fehlerbehandlung

Ungültige Operationen, wie das Dividieren durch 0, erzeugen in der Regel ein leeres Ergebnis (leere Zeichenkette).

Abs, Max, Min und Mod geben eine leere Zeichenkette zurück, wenn einer ihrer eingehenden Parameter nicht-numerisch ist. Da die meisten mathematischen Funktionen keine strikte Typprüfung durchführen, werden nicht-numerische Werte häufig als 0 oder eine andere Zahl behandelt. Zum Beispiel würde Round("1.0foo") eine 1 zurückgeben. In AutoHotkey v2 wird dieses Verhalten geändert.