Matematyka#
Wstęp#
Biblioteka standardowa C++ zapewnia podstawowe funkcje matematyczne za pośrednictwem <cmath>, które są obsługiwane w VEXcode IQ. Funkcje te umożliwiają wykonywanie typowych operacji matematycznych, takich jak trygonometria, zaokrąglanie, potęgowanie i inne.
Można ich używać do obliczania pozycji, kątów, odległości lub wykonywania konwersji między stopniami i radianami.
Poniżej znajduje się lista dostępnych funkcji matematycznych, stałych i narzędzi:
Typowe funkcje matematyczne – Typowe narzędzia matematyczne.
abs– Zwraca wartość bezwzględną liczby.fmin– Zwraca najmniejszą z wartości wejściowych.fmax– Zwraca największą z wartości wejściowych.pow– Podnosi liczbę do potęgi.
Stałe – predefiniowane wartości od <cmath>.
Trygonometria – obliczanie kątów i relacji między bokami.
sin– Sinus kąta w radianach.cos– Cosinus kąta w radianach.tan– Tangens kąta w radianach.atan– Arcus tangens wartości w radianach.atan2– Arcus tangens y/x w radianach, biorąc pod uwagę ćwiartkę.asin– Arcus sinus wartości w radianach.acos– Arcus cosinus wartości w radianach.
Zaokrąglanie i wartość bezwzględna – Dostosuj precyzję lub kierunek.
ceil– Zaokrągla w górę do najbliższej liczby całkowitej.floor– Zaokrągla w dół do najbliższej liczby całkowitej.trunc– Usuwa część dziesiętną.
Wykładniki i logarytmy – obliczenia potęg, pierwiastków i logarytmów.
sqrt– Zwraca pierwiastek kwadratowy.exp– Oblicza e do potęgi x.log– Logarytm naturalny (podstawa e).log10– logarytm dziesiętny.
Operacje na liczbach zmiennoprzecinkowych – inspekcja i rozkład wartości zmiennoprzecinkowych.
Typowe funkcje matematyczne#
abs#
Zwraca wartość bezwzględną liczby, usuwając wszystkie znaki ujemne.
Available Functions1 — Zwraca wartość bezwzględną liczby całkowitej.
int abs( int x );
Parameters2 — Zwraca wartość bezwzględną liczby zmiennoprzecinkowej.
double abs( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba całkowita lub zmiennoprzecinkowa. |
Zwraca wartość bezwzględną danych wejściowych tego samego typu.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Zwraca niższą z dwóch wartości jako liczbę podwójną.
Available Functionsdouble fmin( double value1, double value2 );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Pierwsza wartość do porównania. |
|
|
Druga wartość do porównania. |
Zwraca wartość double , co oznacza mniejszą z dwóch wartości wejściowych.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Zwraca wyższą z dwóch wartości jako wartość typu double.
Available Functionsdouble fmax( double value1, double value2 );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Pierwsza wartość do porównania. |
|
|
Druga wartość do porównania. |
Zwraca wartość double , co oznacza większą z dwóch wartości wejściowych.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Zwraca liczbę podniesioną do potęgi double.
Available Functionsdouble pow( double base, double exponent );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba bazowa. |
|
|
Wykładnik. |
Zwraca wartość double co oznacza podstawę podniesioną do potęgi wykładnika.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Stałe#
Stałe to predefiniowane wartości, które pozostają niezmienne w trakcie projektu. Można ich używać w obliczeniach bez konieczności definiowania lub przypisywania.
M_PI#
M_PI określa stałą matematyczną π, która jest stosunkiem obwodu koła do jego średnicy.
const double M_PI;
Ta stała nie ma parametrów.
Return ValuesZwraca stałą matematyczną π jako 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#
Stała matematyczna e (liczba Eulera), podstawa logarytmu naturalnego.
Available Constantsconst double M_E;
Ta stała nie ma parametrów.
Return ValuesZwraca stałą matematyczną e jako double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trygonometria#
sin#
Oblicza sinus kąta w radianach i zwraca wartość zmiennoprzecinkową o podwójnej precyzji.
Available Functionsdouble sin( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba double oznacza kąt w radianach. |
Zwraca wartość double reprezentujące sinus kąta.
// 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#
Oblicza cosinus kąta w radianach i zwraca wartość typu double.
Available Functionsdouble cos( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba double oznacza kąt w radianach. |
Zwraca wartość double reprezentujące cosinus kąta.
// 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#
Oblicza tangens kąta w radianach i zwraca wartość zmiennoprzecinkową.
Available Functionsdouble tan( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba double oznacza kąt w radianach. |
Zwraca wartość double reprezentujące tangens kąta.
// 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#
Oblicza odwrotny tangens (arc tangens) liczby i zwraca wartość typu double reprezentującą kąt w radianach.
Available Functionsdouble atan( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójna wartość. |
Zwraca wartość double co oznacza arcus tangens w radianach.
// 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#
Oblicza wartość główną odwrotnego tangensa y/x i zwraca wartość typu double reprezentującą kąt w radianach.
Available Functionsdouble atan2( double y, double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba double reprezentująca współrzędną y. |
|
|
Liczba double reprezentująca współrzędną x. |
Zwraca wartość double , co oznacza arcus tangens y/x w radianach.
// 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#
Oblicza odwrotność sinusa (arcsinus) liczby i zwraca wartość typu double reprezentującą kąt w radianach.
Available Functionsdouble asin( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójny wynik pomiędzy -1 i 1. |
Zwraca wartość double co oznacza arcus sinus w radianach.
// 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#
Oblicza odwrotny cosinus (arc cosinus) liczby i zwraca wartość typu double reprezentującą kąt w radianach.
Available Functionsdouble acos( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójny wynik pomiędzy -1 i 1. |
Zwraca wartość double co oznacza arcus cosinus w radianach.
// 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
Zaokrąglanie i wartość bezwzględna#
ceil#
Zwraca liczbę zaokrągloną w górę do wartości podwójnej.
Available Functionsdouble ceil( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójna kwota do zaokrąglenia. |
Zwraca wartość double oznaczającą najmniejszą liczbę całkowitą większą lub równą x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Zwraca liczbę zaokrągloną w dół do postaci double.
Available Functionsdouble floor( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójna liczba, którą należy zaokrąglić w dół. |
Zwraca wartość double oznaczającą największą liczbę całkowitą mniejszą lub równą x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Zwraca liczbę jako wartość typu double, której część dziesiętna jest równa zero.
Available Functionsdouble trunc( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójny, który należy skrócić. |
Zwraca wartość double z usuniętą częścią dziesiętną.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Wykładniki i logarytmy#
sqrt#
Zwraca pierwiastek kwadratowy liczby.
Available Functionsdouble sqrt( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójna liczba nieujemna. |
Zwraca wartość double oznaczającą pierwiastek kwadratowy z x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Oblicza wykładnik liczby.
Available Functionsdouble exp( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Liczba podwójna do obliczenia funkcji wykładniczej. |
Zwraca wartość double co oznacza e podniesione do potęgi x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Oblicza logarytm naturalny liczby.
Available Functionsdouble log( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójny pozytywny. |
Zwraca wartość double co oznacza logarytm naturalny x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Oblicza logarytm dziesiętny danej liczby.
Available Functionsdouble log10( double x );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Podwójny pozytywny. |
Zwraca wartość double reprezentującą logarytm dziesiętny x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Operacje zmiennoprzecinkowe#
fmod#
Zwraca resztę z dzielenia, zachowując znak dzielnej.
Available Functionsdouble fmod( double x, double y );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Dywidenda. |
|
|
Dzielnik. |
Zwraca wartość double reprezentującą resztę z x/y ze znakiem 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#
Zwraca liczbę o wartości x i znaku y.
Available Functionsdouble copysign( double x, double y );
Parametr |
Typ |
Opis |
|---|---|---|
|
|
Wartość, której wielkość zostanie użyta. |
|
|
Wartość, której znak będzie używany. |
Zwraca wartość double , modułem x i znakiem y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000