Benutzer-Werkzeuge

Webseiten-Werkzeuge


k9:k9.6:start

9.6 Exponential – und Logarithmusfunktionen

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.

9.6.1 Zusammenhang von Potenzen, Wurzeln und Logarithmen

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:

  • 100 = 102 oder Potenzwert = Basisexponent » potenzieren
  • 10 = 2.Wurzel_aus(100) oder Basis = Potenzwertwurzel-exponent » radizieren
  • 2 = log10(100) oder Exponent = logBasis(Potenzwert) » logarithmieren

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 … .

9.6.2 Potenz-Funktionen

1x1FunktionBeschreibung
potenzwert = Exp (exponent AS Float ) AS FloatBerechnet den Potenzwert p zur Basis e mit dem Exponenten 'exponent' (p=eexponent). Der Exponent muss kleiner als 709.779999 sein, um Überlauffehler zu vermeiden. Die Zahl e ist die Eulersche Zahl.
potenzwert = Expm ( exponent AS Float ) AS FloatBerechnet den Potenzwert p zur Basis e mit dem Exponenten 'exponent' für sehr kleine Exponenten. Es gilt: Expm(x) = Exp(x) - 1.
potenzwert = Exp2 (exponent AS Float) AS FloatBerechnet den Potenzwert p zur Basis 2 mit dem Exponenten 'exponent' (p = 2exponent).
potenzwert = Exp10 (exponent AS Float) AS FloatBerechnet den Potenzwert p zur Basis 10 mit dem Exponenten 'exponent' (p = 10exponent).

Tabelle 9.6.2.1: Operation: Potenzieren

9.6.3 Wurzel-Funktionen

FunktionBeschreibung
2root = Sqr ( number AS Float ) AS FloatBerechnet die 2. Wurzel einer Zahl. Die reelle Zahl 'number' darf nicht negativ sein (number ≥ 0).
3root = Cbr ( number AS Float ) AS FloatBerechnet die Kubikwurzel einer Zahl. Die reelle Zahl 'number' kann 0 (Null), negativ oder positiv sein.

Tabelle 9.6.2.1: Operation: Radizieren

9.6.4 Logarithmus-Funktionen

1x1FunktionBeschreibung
exponent = Log (numerus AS Float) As FloatBerechnet den natürlichen Logarithmus einer Zahl (numerus) zur Basis e (Eulersche Zahl) mit logarithmus = ln(numerus). Das Symbol 'ln' steht hier für logaritmus naturalis. Die Zahl (numerus) muss größer als Null sein. Gesucht ist der Exponent, für den eexponent = numerus gilt.
exponent = Logp ( numerus AS Float ) AS FloatBerechnet den Logarithmus zur Basis e für sehr kleine Werte des Numerus. Es gilt: Logp(x) = Log(1 + x).
exponent = Log2 ( numerus AS Float ) AS FloatBerechnet den Logarithmus einer Zahl (numerus) zur Basis 2. Die Zahl muss größer als Null sein. Gesucht ist der Exponent, für den 2exponent = numerus gilt.
exponent = Log10 ( number AS Float ) AS FloatBerechnet den Logarithmus einer Zahl (numerus) zur Basis 10. Die Zahl muss größer als Null sein. Gesucht ist der Exponent, für den 10exponent = numerus gilt.

Tabelle 9.6.4.1: Operation: Logarithmieren

Hinweise:

  • Gambas besitzt neben der Funktion Logx() auch Funktionen, um den Logarithmus einer Zahl zur Basis 2 oder zur Basis 10 zu berechnen. Um auch Logarithmen zur Basis n zu berechnen, können Sie die folgende Beziehung verwenden: Logn(x) = Log(x) / Log(n).
  • Sonderfälle für n = 2 und n = 10: Log2(x) = Log(x) / Log(2) und Log10(x) = Log(x) / Log(10)

9.3.5 Beispiel 1

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    

9.6.6 Beispiel 2

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.

Download

Wir verwenden Cookies, um unser Internetangebot optimal zu gestalten. Durch weitere Nutzung dieser Webseite stimmen Sie der Verwendung von Cookies zu. Informationen zu Cookies erhalten Sie in unserer Datenschutzerklärung
k9/k9.6/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge