Matek#
Bevezetés#
A C++ szabványos függvénykönyvtár alapvető matematikai funkciókat biztosít <cmath>függvényeken keresztül, amelyeket a VEXcode IQ támogat. Ezek a függvények lehetővé teszik olyan gyakori matematikai műveletek végrehajtását, mint a trigonometria, a kerekítés, a hatványozás és egyebek.
Használja őket pozíciók, szögek, távolságok kiszámításához, vagy fokok és radiánok közötti átváltások végrehajtásához.
Az alábbiakban a rendelkezésre álló matematikai függvények, konstansok és segédprogramok listája látható:
Gyakori matematikai függvények – Gyakori matematikai eszközök.
abs– Egy szám abszolút értékét adja vissza.fmin– Visszaadja a bemeneti értékek közül a legkisebbet.fmax– Visszaadja a bemeneti értékek közül a legnagyobbat.pow– Egy számot adott hatványra emel.
Konstansok – Előre definiált értékek <cmath> ig
Trigonometria – Szögek és oldalak közötti kapcsolatok kiszámítása.
sin– Egy szög szinuszai radiánban.cos– Egy szög koszinusza radiánban.tan– Egy szög tangense radiánban.atan– Egy radiánban megadott érték arkusztangense.atan2– Az y/x arkusztangense radiánban, figyelembe véve a kvadránst.asin– Egy radiánban megadott érték arkusz szinuszja.acos– Egy radiánban megadott érték arkusz koszinusza.
Kerekítés és abszolút érték – Pontosság vagy irány beállítása.
ceil– Felfelé kerekíti a legközelebbi egész számra.floor– Lefelé kerekíti a legközelebbi egész számra.trunc– Eltávolítja a tizedes részt.
Kitevők és logaritmusok – Hatvány-, gyök- és logaritmusszámítások.
sqrt– Visszaadja a négyzetgyököt.exp– Kiszámítja az e-t x hatványán.log– Természetes logaritmus (e alapú).log10– 10-es alapú logaritmus.
Lebegőpontos műveletek – Lebegőpontos értékek vizsgálata vagy bontása.
Gyakori matematikai függvények#
abs#
Egy szám abszolút értékét adja vissza, eltávolítva a negatív előjeleket.
Available Functions1 — Egy egész szám abszolút értékét adja vissza.
int abs( int x );
Parameters2 — Visszaadja a dupla szám abszolút értékét.
double abs( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egész szám vagy dupla szám. |
A bemenet abszolút értékét adja vissza azonos típusként.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Két érték közül az alacsonyabbat adja vissza dupla számként.
Available Functionsdouble fmin( double value1, double value2 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az első összehasonlítandó érték. |
|
|
A második összehasonlítandó érték. |
Egy double es értéket ad vissza, amely a két bemeneti érték közül a kisebbet jelöli.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Két érték közül a magasabbat adja vissza dupla számként.
Available Functionsdouble fmax( double value1, double value2 );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az első összehasonlítandó érték. |
|
|
A második összehasonlítandó érték. |
Egy double es értéket ad vissza, amely a két bemeneti érték közül a nagyobbat jelöli.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Egy adott hatványra emelt számot ad vissza dupla értékként.
Available Functionsdouble pow( double base, double exponent );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az alapszám. |
|
|
A kitevő. |
Egy double értéket ad vissza, amely az alapszám kitevőjére emelt hatványát jelenti.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Konstansok#
A konstansok előre definiált értékek, amelyek egy projekt során rögzítettek maradnak. Számításokban felhasználhatók anélkül, hogy bármilyen definíciót vagy értékadást igényelnének.
M_PI#
M_PI megadja a π matematikai állandót, a kör kerületének és átmérőjének arányát.
const double M_PI;
Ennek az állandónak nincsenek paraméterei.
Return ValuesA π matematikai állandót adja vissza double dupla összegeként.
// 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#
Az e matematikai állandó (Euler-szám), a természetes logaritmus alapja.
Available Constantsconst double M_E;
Ennek az állandónak nincsenek paraméterei.
Return ValuesAz „e” matematikai állandót adja vissza double dupla összegeként.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonometria#
sin#
Kiszámítja egy szög szinuszát radiánban, és a szám kétszeresét adja vissza.
Available Functionsdouble sin( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy radiánban megadott szöget reprezentáló kettős szám. |
Egy double es értéket ad vissza, amely a szög szinuszát jelöli.
// 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#
Kiszámítja egy szög koszinuszát radiánban, és egy kétszeresét adja vissza.
Available Functionsdouble cos( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy radiánban megadott szöget reprezentáló kettős szám. |
Egy double értéket ad vissza, amely a szög koszinuszát jelöli.
// 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#
Kiszámítja egy szög tangensét radiánban, és egy kétszeresét adja vissza.
Available Functionsdouble tan( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy radiánban megadott szöget reprezentáló kettős szám. |
Egy double értéket ad vissza, amely a szög tangensét jelöli.
// 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#
Kiszámítja egy szám inverz tangensét (ívtangenst), és egy kétszeres értéket ad vissza, amely a radiánban megadott szöget jelenti.
Available Functionsdouble atan( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Kettős érték. |
Egy double értéket ad vissza, amely a radiánban megadott arkusz tangenst jelenti.
// 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#
Kiszámítja az y/x függvény inverz tangensének főértékét, és egy kétszeres értéket ad vissza, amely a radiánban megadott szöget jelenti.
Available Functionsdouble atan2( double y, double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az y koordinátát reprezentáló kettős szám. |
|
|
Az x koordinátát reprezentáló dupla szám. |
Egy double értéket ad vissza, amely az y/x arkusz tangensét jelenti radiánban.
// 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#
Kiszámítja egy szám inverz szinuszát (arc szinuszát), és egy kétszeres értéket ad vissza, amely a radiánban megadott szöget jelöli.
Available Functionsdouble asin( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy -1 és 1 közötti dupla. |
Egy double értéket ad vissza, amely a radiánban megadott arkusz szinuszát jelöli.
// 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#
Kiszámítja egy szám inverz koszinuszát (arkus koszinuszát), és egy kétszeres értéket ad vissza, amely a radiánban megadott szöget jelenti.
Available Functionsdouble acos( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy -1 és 1 közötti dupla. |
Egy double értéket ad vissza, amely a radiánban megadott arkusz koszinuszt jelöli.
// 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
Kerekítés és abszolút érték#
ceil#
Felfelé kerekített számot ad vissza dupla értékként.
Available Functionsdouble ceil( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy dupla felfelé kerekítendő. |
Egy double értéket ad vissza, amely az x-nél nagyobb vagy egyenlő legkisebb egész számot jelöli.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Lefelé kerekített számot ad vissza dupla értékként.
Available Functionsdouble floor( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Dupla, lefelé kerekítendő. |
Egy double értéket ad vissza, amely az x-nél kisebb vagy azzal egyenlő legnagyobb egész számot jelöli.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Dupla számként adja vissza a számot, amelynek tizedes része nulla.
Available Functionsdouble trunc( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy csonkolandó dupla szám. |
double értéket ad vissza a tizedes rész eltávolítása után.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Kitevők és logaritmusok#
sqrt#
Egy szám négyzetgyökét adja vissza.
Available Functionsdouble sqrt( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Nemnegatív kettős szám. |
Egy double értéket ad vissza, amely az x négyzetgyökét jelöli.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Kiszámítja egy szám exponenciálisát.
Available Functionsdouble exp( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Egy dupla tétel az exponenciálisának kiszámításához. |
Egy double ad vissza, amely az e-t az x hatványára emeli.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Kiszámítja egy szám természetes logaritmusát.
Available Functionsdouble log( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Pozitív dupla. |
Egy double értéket ad vissza, amely az x természetes logaritmusát jelöli.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Kiszámítja egy szám 10-es alapú logaritmusát.
Available Functionsdouble log10( double x );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Pozitív dupla. |
Egy double értéket ad vissza, amely az x tízes alapú logaritmusát jelöli.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Lebegőpontos műveletek#
fmod#
Az osztás maradékát adja vissza, miközben megtartja az osztandó előjelét.
Available Functionsdouble fmod( double x, double y );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az osztalék. |
|
|
Az osztó. |
Egy double értéket ad vissza, amely az x/y maradékát jelöli x előjellel.
// 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#
Egy x nagyságrendű és y előjelű számot ad vissza.
Available Functionsdouble copysign( double x, double y );
Paraméter |
Típus |
Leírás |
|---|---|---|
|
|
Az az érték, amelynek nagyságát használni fogják. |
|
|
Az az érték, amelynek az előjelét használni fogják. |
double értéket ad vissza x nagyságrendjével és y előjelével.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000