Lua Logo
Funktionen im table math

Funktion Beschreibung Funktion Beschreibung
math.abs Der absolute Wert (Betrag) math.acos Der arcus cosinus
math.asin Der arcus sinus math.atan Der arcus tangens
math.atan2 Der arcus tangens math.ceil Aufrunden
math.cos Der cosinus math.deg Umwandlung von rad zu Grad
math.exp für e hoch X math.floor Abrunden
math.frexp Normalisierungsfunktion math.ldexp Normalisierungsfunktion
math.log Der natürliche Logarithmus zur Basis e math.log10 Der Logaritmus zur Basis 10
math.max Liefert die größte Zahl einer Gruppe von Zahlen math.min Liefert die kleinste Zahl einer Gruppe von Zahlen
math.mod Ganzzahliger Rest von Zahl1 / Zahl2 math.pi Konstante Pi ~3,1415926535898
math.pow für X hoch Y math.rad Umwandlung von Grad zu rad
math.random Zufallszahl math.randomseed Bessere Zufallszahlen initialisieren
math.sin Der sinus math.sqrt Die 2. Wurzel
math.tan Der tangens

nach obenmath.abs

Der Absolute Wert einer Zahl. D.h. ohne Vorzeichen

dasAbsolute = math.abs ( - 2 )
print ( dasAbsolute ) --> 2
dasAbsolute = math.abs ( 2 ) -- ( + 2 ) wäre zwar mathematisch richtig, ( + ) ist aber kein unnärer Operator in lua.
-- (wäre auch sinnlos)
print ( dasAbsolute ) --> 2


nach obenmath.acos

Die Umkehrfunktion von math.cos

Parameter:

  • Cosinus eines Winkels

Durch Berechnung ist mir der Cosinus eines Winkels bekannt. Nun möchte ich den Winkel wissen.
Dazu benutze ich diese Funktion. Allerdings muss man bedenken, dass die Rückgabe im Bogenmaß ist.
D.h. wir müssen noch mit der Funktion math.deg umrechnen.

Beispiel:

Gegeben: cos = 0.5
Gesucht: Winkel in Grad.


winkel = math.deg( math.acos(0.5) )
print ( winkel ) --> 60




nach obenmath.asin

Die Umkehrfunktion von math.sin

Parameter:

  • Sinus eines Winkels

Durch Berechnung ist mir der Sinus eines Winkels bekannt. Nun möchte ich den Winkel wissen.
Dazu benutze ich diese Funktion. Allerdings muss man bedenken, dass die Rückgabe im Bogenmaß ist.
D.h. wir müssen noch mit der Funktion math.deg umrechnen.

Beispiel:

Gegeben: sin = 0.5
Gesucht: Winkel in Grad.


winkel = math.deg( math.asin(0.5) )
print ( winkel ) --> 30



nach obenmath.atan

Die Umkehrfunktion von math.tan

Parameter:

  • Tangens eines Winkels

Durch Berechnung ist mir der Tangens eines Winkels bekannt. Nun möchte ich den Winkel wissen.
Dazu benutze ich diese Funktion. Allerdings muss man bedenken, dass die Rückgabe im Bogenmaß ist.
D.h. wir müssen noch mit der Funktion math.deg umrechnen.

Beispiel:

Gegeben: tan = 1
Gesucht: Winkel in Grad.


winkel = math.deg( math.atan(1) )
print ( winkel ) --> 45


nach obenmath.atan2

math.atan2 ( x, y )

math.atan2 ( x, y ) ist mit einem Unterschied gleich math.atan( x / y )

Und zwar in dem Fall, wenn y = 0 ist. Dann gäbe es bei math.atan einen Fehler. Bekanntlich darf man durch 0 nicht teilen.

print(math.deg(math.atan2(1,0))) --> 90


nach obenmath.ceil

Diese Funktion rundet eine Zahl immer nach oben auf.

Als Parameter ist folgendes zu übergeben:
  • Die Zahl, die gerundet werden soll

neueZahl = math.ceil(alteZahl)

Beispiel:

neueZahl = math.ceil(2.99999) --> neueZahl == 3
neueZahl = math.ceil(12.00001) --> neueZahl == 13
neueZahl = math.ceil(12) --> neueZahl == 12


nach obenmath.cos

Liefert den Cosinus eines Winkels.

Parameter:

  • Winkel im Bogenmaß. (Umrechnung mit math.rad)


Beispiel:

Gegeben: Winkel = 30 ; Länge = 150
Gesucht: Länge der Seite Cosinus.

Cosinus = 150 * math.cos(math.rad(30))
print ( Cosinus ) --> 129.90381056767


nach obenmath.deg

Rechnet Bogenmaß in Grad um.

Parameter:

  • Bogenmaß dessen Winkel ich wissen will.


Zur Berechnungen für Winkel nimmt lua das Bogenmaß. Wollen wir den Winkel wissen, ist eine Umrechnung von Bogenmaß zu Grad erforderlich.
Dies macht diese Funktion.
Zugrunde gelegt wird ein Radius von 1. Der Winkel beträgt maximal 360 Grad

print ( math.deg( math.pi ) ) --> 180


nach obenmath.floor

Diese Funktion schneidet von einer Zahl die Nachkommastellen ab.

Als Parameter ist folgendes zu übergeben:
  • Die Zahl, von der die Nachkommastellen weg sollen

neueZahl = math.floor(alteZahl)

Beispiel:

neueZahl = math.floor(2.99999) --> neueZahl == 2
neueZahl = math.floor(12.00001) --> neueZahl == 12

Anmerkung: Korrekt Runden kann man mit math.floor(zahl + 0.5)

nach obenmath.frexp

multiplikator, exponent = math.frexp( zahl )

Diese Funktion liefert zwei Werte.

einen Faktor und dann den Exponenten von zahl (zur Basis 2)

Angenommen 254.58 = 0.994453125 * 2^8

multiplikator, exponent = math.frexp( 254.58 )
print ( multiplikator, exponent ) --> 0.994453125 8


nach obenmath.ldexp

zahl= math.ldexp( multiplikator, exponent )

Die Umkehrfunktion von math.frexp

Angenommen 254.58 = 0.994453125 * 2^8

zahl = math.ldexp( 0.994453125, 8)
print ( zahl ) --> 254.58


nach obenmath.log

Der Logarithmus math.log() ist der natürliche Logarithmus zur Basis e (der Eulerschen Zahl e = 2.71828...)
In der Mathematik wird dieser mit »ln« angegeben (logarithmus naturalis).

nach obenmath.log10

Der Logarithmus math.log10() ist der Logarithmus zur Basis 10


Beispiel:

rueckGabe = math.log10(1000)
print ( rueckGabe ) --> 3 da 1000 == 10^3

Skatspieler können also auch Logarithmus 1000 für einen Null reizen ;)

nach obenmath.max

Liefert die größte Zahl aus einer Reihe von Zahlen.

dieGroesste = math.max( 2,5,1.3,7,14,8)
print ( dieGroesste ) --> 14


nach obenmath.min

Liefert die kleinste Zahl aus einer Reihe von Zahlen.

dieKleinste = math.min( 2,5,1,7.4,14,8)
print ( dieKleinste ) --> 1

nach obenmath.sqrt

Die Wurzel aus einer Zahl

wurzel = math.sqrt ( 9 )
print ( wurzel ) --> 3

nach obenmath.pi

Eigentlich eine Konstante.

print ( math.pi ) --> 3.1415926535898


nach obenmath.pow

math.pow ( x, y )

Zum potenzieren eines Wertes x^y

Parameter:

  • Wert
  • Exponent

Beispiel:


math.pow( 3, 2) -- gibt 9 (3 * 3) zurück
math.pow( 2, 3) -- gibt 8 (2 * 2 * 2) zurück
math.pow( -2, 3) -- gibt -8 zurück
math.pow( 2, -1) -- gibt 0.5 (1/2) zurück
math.pow( 2, 0.5) -- gibt 1.414213... (Quadratwurzel von 2) zurück
math.pow( 2, -0.5) -- gibt 0.707107 (1/(Quadratwurzel von 2) zurück


(Aus einem negativen Wert kann man keine Wurzel ziehen)

nach obenmath.rad

Liefert den Wert eines Winkels im Bogenmaß.

Parameter:

  • Winkel dessen Bogenmaß ich wissen will.


Zur Berechnungen für Winkel nimmt lua das Bogenmaß. Daher ist eine Umrechnung von Grad zu Bogenmaß erforderlich.
Dies macht diese Funktion.
Zugrunde gelegt wird ein Radius von 1. Das Bogenmaß ist dann ein Teil vom Umkreis und beträgt maximal 2 * PI

print ( math.rad( 180 ) ) --> 3.1415926535898 also PI


nach obenmath.random

math.random( [wert1[, wert2]] )

Parameter: (beide optional)

  • Der erste Wert ist entweder die Obergrenze oder, wenn wert2 angegeben ist, die Untergrenze
  • Die Obergrenze
Diese Funktion soll eine Zufallszahl liefern.
Da beim PC aber alles berechnet wird gibt es eigendlich keinen Zufall. Es wird also eine Reihe von irgendwie berechneten Zahlen ausgegeben.
Man kann das aber auch beeinflussen, dass es trotzdem zufällig ist. Siehe
math.randomseed.

Wir wissen jetzt, eigendlich kommt keine Zufallszahl heraus, aber immer eine gut durchwürfelte. Nur: gleiche Bedingung --> gleiche Zahl.

Ohne Parameter liefert die Funktion eine Zahl zwischen 0 und 1. ( 14 Stellen hinter dem Komma )
Wird wert1 angegeben liefert die Funktion eine ganzzahligen Wert zwischen 1 und einschließlich wert1.
Wird wert1 und wert2 angegeben liefert die Funktion eine ganzzahligen Wert zwischen wert1 und einschließlich wert2.

nach obenmath.randomseed

math.randomseed ( wert )

Parameter:
  • Irgendeine Zahl, die die Reihe für Random beinflußt
math.random soll eine Zufallszahl liefern.
Da beim PC aber alles berechnet wird gibt es eigendlich keinen Zufall. Es wird also eine Reihe von irgendwie berechneten Zahlen ausgegeben.
Welche Reihe genommen wird beeinflußt math.randomseed.

Geben wir hier eine Zahl ein, so kommt bei math.random eine andere Reihe zum Zug. Allerdings gilt hier auch: gleiche Zahl, gleiches Ergebnis.
Das einzig Zuverlässige was wirklich Zufall ist, ist die Uhrzeit wann das Programm gestartet wird.

Daher bietet es sich an diese Zeit zu nehmen.

os.time() gib die Zeit zurück

Daher beim Programmstart:

math.randomseed( os.time() )


nach obenmath.sin

Liefert den Sinus eines Winkels.

Parameter:

  • Winkel im Bogenmaß. (Umrechnung mit math.rad)


Beispiel:

Gegeben: Winkel = 30 ; Länge = 150
Gesucht: Länge der Seite Sinus.

Sinus = 150 * math.sin(math.rad(30))
print ( Sinus ) --> 75



nach obenmath.tan

Liefert den Tangens eines Winkels.

Parameter:

  • Winkel im Bogenmaß. (Umrechnung mit math.rad)
Der Tangens ist das Verhältnis der Seite Sinus zu Cosinus. Da bei 90 und 270 Grad die Seite Cosinus 0 ist, ist der Tangens an diesen Stellen nicht definiert. Durch 0 teilen ist verboten.



Beispiel:

Gegeben: Winkel = 30 ; Sinus = 150
Gesucht: Länge der Seite Cosinus.

ein wenig mathe: tanα = Sinus / Cosinus ==> Cosinus = Sinus / tanα

Cosinus = 150 / math.tan( math.rad(30) )
print ( Cosinus ) --> 259.80762113533


Die Vervielfältigung der auf diesen Seiten enthaltenen Informationen und Grafiken ist untersagt, ausgenommen davon ist sämtlicher auf diesen Seiten angezeigter Quellcode.
Siehe auch: Haftungsausschluss
Copyright © Robert Schmitz 2006