In vielen mathematischen Aufgaben benötigen Sie Funktionen, um Potenzen, Wurzeln oder Logarithmen zu berechnen. Gambas stellt Ihnen für diese Zwecke diverse Funktionen zur Verfügung.
Da der Umgang mit Potenzen, Wurzeln und Logarithmen nicht zu den täglichen Übungen zählt, werden drei grundlegende Betrachtungen der Beschreibung der entsprechenden Gambas-Funktionen vorangestellt:
Hinter der mathematischen Operation 'Logarithmieren' verbirgt sich nichts anderes als die 'Exponentensuche' für eine vorgegebene Zahl (Potenzwert) und gegebener Basis. Bei logarithmus = log10(1000) wird der Exponent gesucht, für den 10exponent = 1000 ist. Der gesuchte Exponent ist 3, denn 10³ = 1000. Das musste einmal gesagt werden, bevor Sie wie wild drauf los logarithmieren … .
Tabelle 9.6.2.1: Operation: Potenzieren
Funktion | Beschreibung |
---|---|
2root = Sqr ( number AS Float ) AS Float | Berechnet die 2. Wurzel einer Zahl. Die reelle Zahl 'number' darf nicht negativ sein (number ≥ 0). |
3root = Cbr ( number AS Float ) AS Float | Berechnet die Kubikwurzel einer Zahl. Die reelle Zahl 'number' kann 0 (Null), negativ oder positiv sein. |
Tabelle 9.6.2.1: Operation: Radizieren
Tabelle 9.6.4.1: Operation: Logarithmieren
Hinweise:
Die Berechnung der 5. Wurzel aus der reellen Zahl 83 erfordert zum Beispiel den Einsatz einiger der o.a. Funktionen, was sich auch im u.a. Quelltext-Ausschnitt widerspiegelt:
w = (83)^0.2 ln(w) = 0.5 * ln(83) = 0,88376812155932 w = e^ln(w) = e^0,88376812155932 = 2,42000140696596
Die Probe wird ähnlich ausgeführt:
p = (2,42000140696596)^5 ln(p) = 5 * ln(2,42000140696596) = 4,4188406077966 p = e^(5 * ln(2,42000140696596))
Public Sub btn5Root83_Click() Dim w As Float Print "ln(w) = "; 0.2 * Log(83) w = Exp(0.2 * Log(83)) Print "w = "; Exp(0.2 * Log(83)) Print "Probe 1 (trivial) = "; w * w * w * w * w Print "ln(p) = "; 5 * Log(Exp(0.2 * Log(83))) Print "Potenzwert = "; Exp(5 * Log(Exp(0.2 * Log(83)))) End
Ausgabe in der Konsole der IDE:
ln(w) = 0,88376812155932 w = 2,42000140696596 Probe 1 (trivial) = 83,0000000000001 ln(p) = 4,4188406077966 Potenzwert = 83
Die Berechnung des Potenzwerts a^b für a > 0 und beliebige b (a,b ∈ ℝ) funktioniert über den folgenden Ansatz problemlos: a^b = Exp(b*Log(a)) und liefert 100 in der nächsten Berechnung:
a = Cbr(100) ' 3. Wurzel aus 100 b = 3 Print Exp(b * Log(a))
Für a = Cbr(100) und b = 6 ergibt sich der Näherungswert 9999,99999999999 ≈ 10000.