Matek#

Bevezetés#

A C++ szabványos könyvtár alapvető matematikai funkciókat biztosít <cmath>függvényeken keresztül, amelyeket a VEXcode EXP 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

  • M_PI – A π (pi) állandó.

  • M_E – Euler-szám, a természetes logaritmus alapja.

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.

  • fmod – Az osztandó előjelével jelölt maradék.

  • copysign – Egy másik előjelű értéket ad vissza.

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 Functions

1 — Egy egész szám abszolút értékét adja vissza.

int abs( int x );

2 — Visszaadja a dupla szám abszolút értékét.

double abs( double x );

Parameters

Paraméter

Típus

Leírás

x

int or double

Egész szám vagy dupla szám.

Return Values

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 Functions
double fmin( double value1, double value2 );

Parameters

Paraméter

Típus

Leírás

value1

double

Az első összehasonlítandó érték.

value2

double

A második összehasonlítandó érték.

Return Values

Egy double es értéket ad vissza, amely a két bemeneti érték közül a kisebbet jelöli.

Examples
// 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 Functions
double fmax( double value1, double value2 );

Parameters

Paraméter

Típus

Leírás

value1

double

Az első összehasonlítandó érték.

value2

double

A második összehasonlítandó érték.

Return Values

Egy double es értéket ad vissza, amely a két bemeneti érték közül a nagyobbat jelöli.

Examples
// 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 Functions
double pow( double base, double exponent );

Parameters

Paraméter

Típus

Leírás

base

double

Az alapszám.

exponent

double

A kitevő.

Return Values

Egy double értéket ad vissza, amely az alapszám kitevőjére emelt hatványát jelenti.

Examples
// 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.

Available Constants
const double M_PI;

Parameters

Ennek az állandónak nincsenek paraméterei.

Return Values

A π matematikai állandót adja vissza double dupla összegeként.

Examples
// 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 Constants
const double M_E;

Parameters

Ennek az állandónak nincsenek paraméterei.

Return Values

Az „e” matematikai állandót adja vissza double dupla összegeként.

Examples
// 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 Functions
double sin( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy radiánban megadott szöget reprezentáló kettős szám.

Return Values

Egy double es értéket ad vissza, amely a szög szinuszát jelöli.

Examples
// 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 Functions
double cos( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy radiánban megadott szöget reprezentáló kettős szám.

Return Values

Egy double értéket ad vissza, amely a szög koszinuszát jelöli.

Examples
// 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 Functions
double tan( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy radiánban megadott szöget reprezentáló kettős szám.

Return Values

Egy double értéket ad vissza, amely a szög tangensét jelöli.

Examples
// 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 Functions
double atan( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Kettős érték.

Return Values

Egy double értéket ad vissza, amely a radiánban megadott arkusz tangenst jelenti.

Examples
// 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 Functions
double atan2( double y, double x );

Parameters

Paraméter

Típus

Leírás

y

double

Az y koordinátát reprezentáló kettős szám.

x

double

Az x koordinátát reprezentáló kettős szám.

Return Values

Egy double értéket ad vissza, amely az y/x arkusz tangensét jelenti radiánban.

Examples
// 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 Functions
double asin( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy -1 és 1 közötti dupla.

Return Values

Egy double értéket ad vissza, amely a radiánban megadott arkusz szinuszát jelöli.

Examples
// 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 Functions
double acos( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy -1 és 1 közötti dupla.

Return Values

Egy double értéket ad vissza, amely a radiánban megadott arkusz koszinuszt jelöli.

Examples
// 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 Functions
double ceil( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy dupla felfelé kerekítendő.

Return Values

Egy double értéket ad vissza, amely az x-nél nagyobb vagy egyenlő legkisebb egész számot jelöli.

Examples
// 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 Functions
double floor( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Dupla, lefelé kerekítendő.

Return Values

Egy double értéket ad vissza, amely az x-nél kisebb vagy egyenlő legnagyobb egész számot jelöli.

Examples
// 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 Functions
double trunc( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy csonkolandó dupla szám.

Return Values

double értéket ad vissza a tizedes rész eltávolítása után.

Examples
// 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 Functions
double sqrt( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Nemnegatív kettős szám.

Return Values

Egy double értéket ad vissza, amely az x négyzetgyökét jelöli.

Examples
// 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 Functions
double exp( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Egy dupla tétel az exponenciálisának kiszámításához.

Return Values

Egy double ad vissza, amely az e-t az x hatványára emeli.

Examples
// 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 Functions
double log( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Pozitív dupla.

Return Values

Egy double értéket ad vissza, amely az x természetes logaritmusát jelöli.

Examples
// 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 Functions
double log10( double x );

Parameters

Paraméter

Típus

Leírás

x

double

Pozitív dupla.

Return Values

Egy double értéket ad vissza, amely az x tízes alapú logaritmusát jelöli.

Examples
// 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 Functions
double fmod( double x, double y );

Parameters

Paraméter

Típus

Leírás

x

double

Az osztalék.

y

double

Az osztó.

Return Values

Egy double értéket ad vissza, amely az x/y maradékát jelöli x előjellel.

Examples
// 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 Functions
double copysign( double x, double y );

Parameters

Paraméter

Típus

Leírás

x

double

Az az érték, amelynek nagyságát használni fogják.

y

double

Az az érték, amelynek az előjelét használni fogják.

Return Values

double értéket ad vissza x nagyságrendjével és y előjelével.

Examples
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);

Brain.Screen.print("%f", result);  
  
// Output: -10.000000