Mathe#
Einführung#
Die C+±Standardbibliothek stellt grundlegende mathematische Funktionen über <cmath>bereit, die in VEXcode EXP unterstützt werden. Mit diesen Funktionen können Sie gängige mathematische Operationen wie Trigonometrie, Runden, Potenzieren und mehr durchführen.
Man kann sie zur Berechnung von Positionen, Winkeln und Entfernungen oder zur Umrechnung zwischen Grad und Bogenmaß verwenden.
Nachfolgend finden Sie eine Liste der verfügbaren mathematischen Funktionen, Konstanten und Hilfsprogramme:
Häufige mathematische Funktionen – Häufig verwendete mathematische Werkzeuge.
abs– Gibt den Absolutwert einer Zahl zurück.fmin– Gibt den kleinsten der Eingabewerte zurück.fmax– Gibt den größten der Eingabewerte zurück.pow– Erhöht eine Zahl zu einer Potenz.
Konstanten – Vordefinierte Werte von <cmath>.
Trigonometrie – Winkel und Beziehungen zwischen Seiten berechnen.
sin– Sinus eines Winkels im Bogenmaß.cos– Kosinus eines Winkels im Bogenmaß.tan– Tangens eines Winkels im Bogenmaß.atan– Arkustangens eines Wertes im Bogenmaß.atan2– Arkustangens von y/x im Bogenmaß, unter Berücksichtigung des Quadranten.asin– Arcussinus eines Wertes im Bogenmaß.acos– Arkuskosinus eines Wertes im Bogenmaß.
Rundung & Absolutwert – Genauigkeit oder Richtung anpassen.
ceil– Rundet auf die nächste ganze Zahl auf.floor– Rundet auf die nächste ganze Zahl ab.trunc– Entfernt den Dezimalteil.
Exponenten & Logarithmen – Potenz-, Wurzel- und Logarithmusberechnungen.
sqrt– Gibt die Quadratwurzel zurück.exp– Berechnet e hoch x.log– Natürlicher Logarithmus (zur Basis e).log10– Logarithmus zur Basis 10.
Gleitkommaoperationen – Gleitkommawerte prüfen oder zerlegen.
Gängige mathematische Funktionen#
abs#
Gibt den Absolutwert einer Zahl zurück, wobei das negative Vorzeichen entfernt wird.
Available Functions1 — Gibt den Absolutwert einer ganzen Zahl zurück.
int abs( int x );
Parameters2 — Gibt den Absolutwert einer Gleitkommazahl zurück.
double abs( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine ganze Zahl oder eine Gleitkommazahl. |
Gibt den Absolutwert der Eingabe als denselben Typ zurück.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Gibt den kleineren von zwei Werten als Gleitkommazahl (double) zurück.
Available Functionsdouble fmin( double value1, double value2 );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der erste zu vergleichende Wert. |
|
|
Der zweite zu vergleichende Wert. |
Gibt einen double zurück, der den kleineren der beiden Eingabewerte darstellt.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Gibt den höheren von zwei Werten als Gleitkommazahl (double) zurück.
Available Functionsdouble fmax( double value1, double value2 );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der erste zu vergleichende Wert. |
|
|
Der zweite zu vergleichende Wert. |
Gibt einen double zurück, der den größeren der beiden Eingabewerte darstellt.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Gibt eine Zahl potenziert mit einem Gleitkommawert zurück.
Available Functionsdouble pow( double base, double exponent );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Basiszahl. |
|
|
Der Exponent. |
Gibt einen Wert vom Typ double zurück, der die Basis potenziert mit dem Exponenten darstellt.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Konstanten#
Konstanten sind vordefinierte Werte, die während eines Projekts unverändert bleiben. Sie können in Berechnungen verwendet werden, ohne dass eine Definition oder Zuweisung erforderlich ist.
M_PI#
M_PI gibt die mathematische Konstante π an, das Verhältnis des Umfangs eines Kreises zu seinem Durchmesser.
const double M_PI;
Diese Konstante hat keine Parameter.
Return ValuesGibt die mathematische Konstante π als double zurück.
// Calculate the area of a circle with radius 5
double area = M_PI * 5 * 5;
Brain.Screen.print("%f", area);
// Output: 78.539816
M_E#
Die mathematische Konstante e (Eulersche Zahl), die Basis des natürlichen Logarithmus.
Available Constantsconst double M_E;
Diese Konstante hat keine Parameter.
Return ValuesGibt die mathematische Konstante e als double zurück.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonometrie#
sin#
Berechnet den Sinus eines Winkels im Bogenmaß und gibt einen Double-Wert zurück.
Available Functionsdouble sin( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Doppelwert, der einen Winkel im Bogenmaß darstellt. |
Gibt einen Wert vom double zurück, der den Sinus des Winkels darstellt.
// Convert 30 degrees to radians
double radians = 30 * M_PI / 180.0;
// Display the sine of 30 degrees
Brain.Screen.print("%f", sin(radians));
// Output: 0.500000
cos#
Berechnet den Kosinus eines Winkels im Bogenmaß und gibt einen Double-Wert zurück.
Available Functionsdouble cos( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Doppelwert, der einen Winkel im Bogenmaß darstellt. |
Gibt einen Wert vom Typ double zurück, der den Kosinus des Winkels darstellt.
// Convert 60 degrees to radians
double radians = 60 * M_PI / 180.0;
// Display the cosine of 60 degrees
Brain.Screen.print("%f", cos(radians));
// Output: 0.500000
tan#
Berechnet den Tangens eines Winkels im Bogenmaß und gibt einen Gleitkommawert (double) zurück.
Available Functionsdouble tan( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Doppelwert, der einen Winkel im Bogenmaß darstellt. |
Gibt einen Wert vom Typ double zurück, der den Tangens des Winkels darstellt.
// Convert 45 degrees to radians
double radians = 45 * M_PI / 180.0;
// Compute tangent of 45 degrees
Brain.Screen.print("%f", tan(radians));
// Output: 1.000000
atan#
Berechnet den Arkustangens einer Zahl und gibt einen Double-Wert zurück, der den Winkel im Bogenmaß darstellt.
Available Functionsdouble atan( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Gleitkommawert. |
Gibt einen Wert vom double zurück, der den Arkustangens im Bogenmaß darstellt.
// Calculate the arc tangent of 1 in degrees
double degrees = atan(1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
atan2#
Berechnet den Hauptwert des Arkustangens von y/x und gibt einen Double-Wert zurück, der den Winkel im Bogenmaß darstellt.
Available Functionsdouble atan2( double y, double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Double-Wert, der die y-Koordinate darstellt. |
|
|
Ein Gleitkommawert, der die x-Koordinate darstellt. |
Gibt einen Wert vom Typ double zurück, der den Arkustangens von y/x im Bogenmaß darstellt.
// Calculate the inverse tangent of 1/1 in degrees
double degrees = atan2(1.0, 1.0) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 45.000000
asin#
Berechnet den Arkussinus einer Zahl und gibt einen Double-Wert zurück, der den Winkel im Bogenmaß darstellt.
Available Functionsdouble asin( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Doppelwert zwischen -1 und 1. |
Gibt einen Wert vom Typ double zurück, der den Arkussinus im Bogenmaß darstellt.
// Calculate the arc sine of 0.5 in degrees
double degrees = asin(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 30.000000
acos#
Berechnet den Arkuskosinus einer Zahl und gibt einen Double-Wert zurück, der den Winkel im Bogenmaß darstellt.
Available Functionsdouble acos( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Doppelwert zwischen -1 und 1. |
Gibt einen Wert vom double zurück, der den Arkuskosinus im Bogenmaß darstellt.
// Calculate the arc cosine of 0.5 in degrees
double degrees = acos(0.5) * 180.0 / M_PI;
Brain.Screen.print("%f", degrees);
// Output: 60.000000
Rundung & Absolutwert#
ceil#
Gibt eine Zahl als Double aufgerundet zurück.
Available Functionsdouble ceil( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Doppelbetrag, der aufgerundet wird. |
Gibt einen double Wert zurück, der die kleinste ganze Zahl größer oder gleich x darstellt.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Gibt eine abgerundete Zahl als Gleitkommazahl zurück.
Available Functionsdouble floor( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Double wird abgerundet. |
Gibt einen double Wert zurück, der die größte ganze Zahl kleiner oder gleich x darstellt.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Gibt eine Zahl als Gleitkommazahl zurück, deren Dezimalteil auf Null gesetzt ist.
Available Functionsdouble trunc( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein Double, das abgeschnitten werden soll. |
Gibt eine double zurück, bei der der Dezimalteil entfernt wurde.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Exponenten und Logarithmen#
sqrt#
Gibt die Quadratwurzel einer Zahl zurück.
Available Functionsdouble sqrt( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein nicht-negatives Doppel. |
Gibt einen Wert vom double zurück, der die Quadratwurzel von x darstellt.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Berechnet die Exponentialfunktion einer Zahl.
Available Functionsdouble exp( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Eine Gleitkommazahl, um die Exponentialfunktion zu berechnen. |
Gibt einen double zurück, der e hoch x darstellt.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Berechnet den natürlichen Logarithmus einer Zahl.
Available Functionsdouble log( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein positives Doppel. |
Gibt einen double zurück, der den natürlichen Logarithmus von x darstellt.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Berechnet den Zehnerlogarithmus einer Zahl.
Available Functionsdouble log10( double x );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Ein positives Doppel. |
Gibt einen double zurück, der den Logarithmus zur Basis 10 von x darstellt.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Gleitkommaoperationen#
fmod#
Gibt den Rest der Division zurück, wobei das Vorzeichen des Dividenden erhalten bleibt.
Available Functionsdouble fmod( double x, double y );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Die Dividende. |
|
|
Der Divisor. |
Gibt einen Wert vom double zurück, der den Rest von x/y mit dem Vorzeichen von x darstellt.
// Calculate remainder of 10 / -3
// that preserves the sign of 10
double result = fmod(10.0, -3.0);
Brain.Screen.print("%f", result);
// Output: 1.000000
copysign#
Gibt eine Zahl mit dem Betrag von x und dem Vorzeichen von y zurück.
Available Functionsdouble copysign( double x, double y );
Parameter |
Typ |
Beschreibung |
|---|---|---|
|
|
Der Wert, dessen Betrag verwendet wird. |
|
|
Der Wert, dessen Vorzeichen verwendet wird. |
Gibt einen double mit dem Betrag von x und dem Vorzeichen von y zurück.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000