Vorgegebene Funktionen Standard-Bibliothek
Aseba bringt eine Standard-Bibliothek mit, die von Haus aus bereits viele Funktionen enthält. Die meisten Geräte liefern diese Standard-Bibliothek mit. Falls die Firmware Ihres Gerätes schon etwas älter ist, unterstützt sie möglicherweise noch nicht neu hinzugekommene Funktionen. Seit Aseba 1.1 sind folgende Funktionen verfügbar:
-
math.copy(A,B)
-
Kopiert eines nach dem anderen jedes Element des Vektors
in den Vektor
:
.
-
math.fill(A,c)
-
Schreibt die Konstante
in jedes Element des Vektors
:
.
-
math.addscalar(A, B, c)
-
Berechne
, wobei
ein Skalar ist.
-
math.add(A, B, C)
-
Berechne
, wobei
,
und
drei gleichgrosse Vektoren sind.
-
math.sub(A, B, C)
-
Berechne
, wobei
,
und
drei gleichgrosse Vektoren sind.
-
math.mul(A, B, C)
-
Berechne
, wobei
,
und
gleichgrosse Vektoren sind. Beachte: Dies ist kein Skalarprodukt!
-
math.div(A, B, C)
-
Berechne
, wobei
,
und
drei gleichgrosse Vektoren sind. Eine Division durch Null führt zu einer Ausnahmesituation.
-
math.min(A, B, C)
-
Speichere für jedes Element das Minimum der Vektoren
und
in
, wobei
,
und
drei Vektoren gleicher Grösse sind:
.
-
math.max(A, B, C)
-
Speichere für jedes Element das Maximum der Vektoren
und
in
, wobei
,
and
drei Vektoren gleicher Grösse sind:
.
-
math.dot(r, A, B, n)
-
Berechne das Skalarprodukt zweier gleichgrosser Vektoren
und
:
-
math.stat(V, min, max, mean)
-
Berechne das Maximum, den Mittelwert und das Minimum des Vektors
.
-
math.argbounds(A, argmin, argmax)
-
Bestimme die Indizes argmin und argmax, die dem kleinsten und dem grössten Wert aus
entsprechen.
-
math.sort(A)
-
Sortiere den Vektor
in situ.
-
math.muldiv(A, B, C, D)
-
Berechne die Multiplikations-Division mit 32-bit-Genauigkeit.
. Eine Division durch Null führt zu einer Ausnahmesituation.
-
math.atan2(A, Y, X)
-
Berechne
, wobei die Zeichen von
und
den Ausgabe-Quandranten festlegen.
,
und
müssen Vektoren gleicher Grösse sein. Beachte, dass
und
zu dem Ergebnis
führen..
-
math.sin(A, B)
-
Berechne
, wobei
und
zwei Vektoren gleicher Grösse sind.
-
math.cos(A, B)
-
Berechne
, wobei
und
zwei Vektoren gleicher Grösse sind.
-
math.rot2(A, B, Winkel)
-
Rotiere den Vektor
um Winkel und speichere das Ergebnis in
. Beachte:
und
müssen beide genau 2 Elemente enthalten.
-
math.sqrt(A, B)
-
Berechne
, wobei
und
zwei Vektoren gleicher Grösse sind.
-
math.nzseq(a, B, m)
-
Speichere in
den mittleren Index der längsten Aufeinanderfolge von Zahlen in
, die nicht Null sind oder
falls es keine solche gibt oder dessen Länge kleiner als
ist.
-
math.rand(v)
-
Bestimme einen zufälligen Wert
aus dem zwischen
und
.