Matematik#
Introduktion#
Standardbiblioteket i C++ tillhandahåller grundläggande matematiska funktioner till och med <cmath>, vilket stöds i VEXcode EXP. Dessa funktioner låter dig utföra vanliga matematiska operationer som trigonometri, avrundning, exponentiering med mera.
Använd dem för att beräkna positioner, vinklar, avstånd eller utföra omvandlingar mellan grader och radianer.
Nedan följer en lista över tillgängliga matematiska funktioner, konstanter och verktyg:
Vanliga matematiska funktioner – Vanliga matematiska verktyg.
abs– Returnerar absolutvärdet av ett tal.fmin– Returnerar det minsta av indatavärdena.fmax– Returnerar det största av indatavärdena.pow– Upphöjer ett tal till en potens.
Konstanter – Fördefinierade värden från <cmath>.
Trigonometri – Beräkna vinklar och förhållandet mellan sidor.
sin– Sinus för en vinkel i radianer.cos– Cosinus för en vinkel i radianer.tan– Tangenten till en vinkel i radianer.atan– Arcustangent av ett värde i radianer.atan2– Arcustangenten till y/x i radianer, med hänsyn till kvadranten.asin– Arcussinus av ett värde i radianer.acos– Arcus cosinus av ett värde i radianer.
Avrundning och absolutvärde – Justera precision eller riktning.
ceil– Avrundar uppåt till närmaste heltal.floor– Avrundar nedåt till närmaste heltal.trunc– Tar bort decimaldelen.
Exponenter och logaritmer – Potens-, rot- och logaritmberäkningar.
sqrt– Returnerar kvadratroten.exp– Beräknar e upphöjt till x.log– Naturlig logaritm (basen e).log10– Logaritmen med basen 10.
Flyttalsoperationer – Inspektera eller dekompilera flyttalvärden.
Vanliga matematiska funktioner#
abs#
Returnerar absolutvärdet av ett tal och tar bort eventuella negativa tecken.
Available Functions1 — Returnerar absolutvärdet av ett heltal.
int abs( int x );
Parameters2 — Returnerar absolutvärdet av en dubbel.
double abs( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ett heltal eller en dubbel. |
Returnerar absolutvärdet av indata som samma typ.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Returnerar det lägre av två värden som en dubbel.
Available Functionsdouble fmin( double value1, double value2 );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Det första värdet att jämföra. |
|
|
Det andra värdet att jämföra. |
Returnerar double som representerar det mindre av de två indatavärdena.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Returnerar det högsta av två värden som en dubbel.
Available Functionsdouble fmax( double value1, double value2 );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Det första värdet att jämföra. |
|
|
Det andra värdet att jämföra. |
Returnerar double som representerar det större av de två indatavärdena.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Returnerar ett tal upphöjt till en potens som en dubblett.
Available Functionsdouble pow( double base, double exponent );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Basnumret. |
|
|
Exponenten. |
Returnerar double som representerar basen upphöjt till exponenten.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Konstanter#
Konstanter är fördefinierade värden som förblir fasta under ett projekt. De kan användas i beräkningar utan att kräva någon definition eller tilldelning.
M_PI#
M_PI ger den matematiska konstanten π, förhållandet mellan en cirkels omkrets och dess diameter.
const double M_PI;
Denna konstant har inga parametrar.
Return ValuesReturnerar den matematiska konstanten π som double.
// 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#
Den matematiska konstanten e (Eulers tal), basen för den naturliga logaritmen.
Available Constantsconst double M_E;
Denna konstant har inga parametrar.
Return ValuesReturnerar den matematiska konstanten e som ett double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonometri#
sin#
Beräknar sinus för en vinkel i radianer och returnerar en dubbel.
Available Functionsdouble sin( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som representerar en vinkel i radianer. |
Returnerar double som representerar sinus för vinkeln.
// 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#
Beräknar cosinus för en vinkel i radianer och returnerar en dubbel.
Available Functionsdouble cos( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som representerar en vinkel i radianer. |
Returnerar double vilket representerar vinkelns cosinus.
// 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#
Beräknar tangenten till en vinkel i radianer och returnerar en double.
Available Functionsdouble tan( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som representerar en vinkel i radianer. |
Returnerar double som representerar tangenten till vinkeln.
// 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#
Beräknar den inversa tangenten (bågtangenten) för ett tal och returnerar en double som representerar vinkeln i radianer.
Available Functionsdouble atan( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Ett dubbelt värde. |
Returnerar double som representerar arcutangenten i radianer.
// 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#
Beräknar huvudvärdet för den inversa tangenten till y/x och returnerar en dubbel som representerar vinkeln i radianer.
Available Functionsdouble atan2( double y, double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som representerar y-koordinaten. |
|
|
En dubbel som representerar x-koordinaten. |
Returnerar double som representerar arcutangenten till y/x i radianer.
// 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#
Beräknar invers sinus (arcusinus) för ett tal och returnerar en dubbel som representerar vinkeln i radianer.
Available Functionsdouble asin( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel mellan -1 och 1. |
Returnerar double som representerar arcus sinus i radianer.
// 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#
Beräknar invers cosinus (arccosinus) för ett tal och returnerar en double som representerar vinkeln i radianer.
Available Functionsdouble acos( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel mellan -1 och 1. |
Returnerar double som representerar arcus cosinus i radianer.
// 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
Avrundning och absolutvärde#
ceil#
Returnerar ett tal avrundat uppåt som en dubbel.
Available Functionsdouble ceil( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som ska avrundas uppåt. |
Returnerar double som representerar det minsta heltalet större än eller lika med x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Returnerar ett tal avrundat nedåt som en dubbel.
Available Functionsdouble floor( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som ska avrundas nedåt. |
Returnerar double som representerar det största heltalet mindre än eller lika med x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Returnerar ett tal som en dubbel, med dess decimaldel inställd på noll.
Available Functionsdouble trunc( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel som ska avkortas. |
Returnerar double utan decimaldelen.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Exponenter och logaritmer#
sqrt#
Returnerar kvadratroten av ett tal.
Available Functionsdouble sqrt( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En icke-negativ dubbel. |
Returnerar double som representerar kvadratroten ur x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Beräknar exponentialvärdet för ett tal.
Available Functionsdouble exp( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En dubbel för att beräkna exponentialen för. |
Returnerar double och representerar e upphöjt till x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Beräknar den naturliga logaritmen för ett tal.
Available Functionsdouble log( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En positiv dubbel. |
Returnerar double som representerar den naturliga logaritmen av x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Beräknar logaritmen med basen 10 för ett tal.
Available Functionsdouble log10( double x );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
En positiv dubbel. |
Returnerar double som representerar logaritmen av x med basen 10.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Flyttalsoperationer#
fmod#
Returnerar resten av divisionen samtidigt som dividendens tecken bibehålls.
Available Functionsdouble fmod( double x, double y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Utdelningen. |
|
|
Divisorn. |
Returnerar double vilket representerar resten av x/y med tecknet x.
// 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#
Returnerar ett tal med magnituden x och tecknet y.
Available Functionsdouble copysign( double x, double y );
Parameter |
Typ |
Beskrivning |
|---|---|---|
|
|
Det värde vars magnitud kommer att användas. |
|
|
Det värde vars tecken kommer att användas. |
Returnerar ett double med magnituden x och tecknet y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000