Matematika#
Zavedení#
The C++ standard library provides basic math functionality through <cmath>, which is supported in VEXcode IQ. These functions let you perform common mathematical operations such as trigonometry, rounding, exponentiation, and more.
Používejte je pro výpočet poloh, úhlů, vzdáleností nebo pro provádění převodů mezi stupni a radiány.
Níže je uveden seznam dostupných matematických funkcí, konstant a utilit:
Běžné matematické funkce – Běžné matematické nástroje.
abs– Vrátí absolutní hodnotu čísla.fmin– Vrací nejmenší ze vstupních hodnot.fmax– Vrací největší ze vstupních hodnot.pow– Umocní číslo.
Konstanty – Předdefinované hodnoty od <cmath>.
Trigonometrie – Výpočet úhlů a vztahů mezi stranami.
sin– Sinus úhlu v radiánech.cos– Kosinus úhlu v radiánech.tan– Tangens úhlu v radiánech.atan– Arkustangens hodnoty v radiánech.atan2– Arkustangens osy y/x v radiánech, s ohledem na kvadrant.asin– Arkus sinus hodnoty v radiánech.acos– Arkuskosinus hodnoty v radiánech.
Zaokrouhlování a absolutní hodnota – Úprava přesnosti nebo směru.
ceil– Zaokrouhlí nahoru na nejbližší celé číslo.floor– Zaokrouhlí dolů na nejbližší celé číslo.trunc– Odstraní desetinnou část.
Exponenty a logaritmy – Výpočty mocnin, odmocnin a logaritmů.
sqrt– Vrátí druhou odmocninu.exp– Vypočítá e umocněné na x.log– Přirozený logaritmus (o základu e).log10– Desetinový logaritmus.
Operace s plovoucí desetinnou čárkou – Kontrola nebo rozklad hodnot s plovoucí desetinnou čárkou.
Běžné matematické funkce#
abs#
Vrátí absolutní hodnotu čísla bez záporného znaménka.
Available Functions1 — Vrátí absolutní hodnotu celého čísla.
int abs( int x );
Parameters2 — Vrátí absolutní hodnotu typu double.
double abs( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Celé číslo nebo číslo double. |
Vrátí absolutní hodnotu vstupu stejného typu.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Vrátí nižší ze dvou hodnot jako typ typu double.
Available Functionsdouble fmin( double value1, double value2 );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
První hodnota k porovnání. |
|
|
Druhá hodnota k porovnání. |
Vrací hodnotu double která představuje menší ze dvou vstupních hodnot.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Vrátí vyšší ze dvou hodnot jako typ typu double.
Available Functionsdouble fmax( double value1, double value2 );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
První hodnota k porovnání. |
|
|
Druhá hodnota k porovnání. |
Vrací hodnotu double která představuje větší ze dvou vstupních hodnot.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Vrátí číslo umocněné na danou hodnotu jako double.
Available Functionsdouble pow( double base, double exponent );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Základní číslo. |
|
|
Exponent. |
Vrací hodnotu double představující základ umocněný na exponent.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Konstanty#
Konstanty jsou předdefinované hodnoty, které zůstávají během projektu neměnné. Lze je použít ve výpočtech bez nutnosti jakékoli definice nebo přiřazení.
M_PI#
M_PI udává matematickou konstantu π, poměr obvodu kruhu k jeho průměru.
const double M_PI;
Tato konstanta nemá parametry.
Return ValuesVrátí matematickou konstantu π 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#
Matematická konstanta e (Eulerovo číslo), základ přirozeného logaritmu.
Available Constantsconst double M_E;
Tato konstanta nemá parametry.
Return ValuesVrátí matematickou konstantu 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
Trigonometrie#
sin#
Vypočítá sinus úhlu v radiánech a vrátí hodnotu typu double.
Available Functionsdouble sin( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující úhel v radiánech. |
Vrací hodnotu double představující sinus úhlu.
// 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#
Vypočítá kosinus úhlu v radiánech a vrátí hodnotu typu double.
Available Functionsdouble cos( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující úhel v radiánech. |
Vrací hodnotu double představující kosinus úhlu.
// 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#
Vypočítá tangens úhlu v radiánech a vrátí hodnotu typu double.
Available Functionsdouble tan( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující úhel v radiánech. |
Vrátí hodnotu double představující tangens úhlu.
// 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#
Vypočítá inverzní tangens (arkustangens) čísla a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble atan( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota. |
Vrací hodnotu double představující arkustangens v radiánech.
// 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#
Vypočítá hlavní hodnotu inverzního tangensu osy y/x a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble atan2( double y, double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota představující souřadnici y. |
|
|
Typ double představující souřadnici x. |
Vrací hodnotu double představující arkus tangens osy y/x v radiánech.
// 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#
Vypočítá inverzní sinus (arkus sinus) čísla a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble asin( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitý počet mezi -1 a 1. |
Vrací hodnotu double představující arkus sinus v radiánech.
// 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#
Vypočítá inverzní kosinus (arkuskosinus) čísla a vrátí hodnotu typu double představující úhel v radiánech.
Available Functionsdouble acos( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitý počet mezi -1 a 1. |
Vrací hodnotu double představující arkuskosinus v radiánech.
// 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
Zaokrouhlování a absolutní hodnota#
ceil#
Vrátí číslo zaokrouhlené nahoru na dvojnásobek.
Available Functionsdouble ceil( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojnásobek k zaokrouhlení nahoru. |
Vrací hodnotu double představující nejmenší celé číslo větší nebo rovno x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Vrátí číslo zaokrouhlené dolů na dvojnásobek.
Available Functionsdouble floor( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojnásobek, který se zaokrouhluje dolů. |
Vrací hodnotu double představující největší celé číslo menší nebo rovno x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Vrátí číslo ve formátu double s desetinnou částí nastavenou na nulu.
Available Functionsdouble trunc( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitý objekt, který má být zkrácen. |
Vrátí hodnotu double bez desetinné části.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Exponenty a logaritmy#
sqrt#
Vrátí druhou odmocninu čísla.
Available Functionsdouble sqrt( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Nezáporný dvojnásobek. |
Vrací hodnotu double představující druhou odmocninu z x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Vypočítá exponenciál čísla.
Available Functionsdouble exp( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dvojitá hodnota pro výpočet exponenciály. |
Vrací hodnotu double představující e umocněné na x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Vypočítá přirozený logaritmus čísla.
Available Functionsdouble log( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Pozitivní dvojka. |
Vrátí hodnotu double představující přirozený logaritmus x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Vypočítá logaritmus čísla se základem 10.
Available Functionsdouble log10( double x );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Pozitivní dvojka. |
Vrátí hodnotu double představující desátkový logaritmus x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Operace s plovoucí desetinnou čárkou#
fmod#
Vrátí zbytek po dělení se zachováním znaménka dělence.
Available Functionsdouble fmod( double x, double y );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Dividenda. |
|
|
Dělitel. |
Vrací hodnotu double představující zbytek x/y se znaménkem 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#
Vrátí číslo o velikosti x a znaménku y.
Available Functionsdouble copysign( double x, double y );
Parametr |
Typ |
Popis |
|---|---|---|
|
|
Hodnota, jejíž velikost bude použita. |
|
|
Hodnota, jejíž znaménko bude použito. |
Vrací hodnotu double s velikostí x a znaménkem y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000