Matemáticas#
Introducción#
La biblioteca estándar de C++ proporciona una funcionalidad matemática básica a través de <cmath>, que es compatible con VEXcode V5. Estas funciones te permiten realizar operaciones matemáticas comunes como trigonometría, redondeo, exponenciación y más.
Úsalos para calcular posiciones, ángulos, distancias o realizar conversiones entre grados y radianes.
A continuación se muestra una lista de funciones, constantes y utilidades matemáticas disponibles:
Funciones matemáticas comunes: herramientas matemáticas comunes.
abs– Devuelve el valor absoluto de un número.fmin– Devuelve el menor de los valores de entrada.fmax– Devuelve el mayor de los valores de entrada.pow– Eleva un número a una potencia.
Constantes – Valores predefinidos desde <cmath>.
Trigonometría: calcula los ángulos y las relaciones entre los lados.
sin– Seno de un ángulo en radianes.cos– Coseno de un ángulo en radianes.tan– Tangente de un ángulo en radianes.atan– Arcotangente de un valor en radianes.atan2– Arcotangente de y/x en radianes, considerando el cuadrante.asin– Arcseno de un valor en radianes.acos– Arcosina de un valor en radianes.
Redondeo y valor absoluto: ajuste la precisión o la dirección.
ceil– Redondea al número entero más cercano.floor– Redondea al entero más cercano.trunc– Elimina la parte decimal.
Exponentes y logaritmos: cálculos de potencia, raíz y registro.
sqrt– Devuelve la raíz cuadrada.exp– Calcula e a la potencia de x.log– Logaritmo natural (base e).log10– Logaritmo en base 10.
Operaciones en coma flotante: inspeccione o descomponga los valores flotantes.
Funciones matemáticas comunes#
abs#
Devuelve el valor absoluto de un número, eliminando cualquier signo negativo.
Available Functions1 — Devuelve el valor absoluto de un número entero.
int abs( int x );
Parameters2 — Devuelve el valor absoluto de un doble.
double abs( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un entero o doble. |
Devuelve el valor absoluto de la entrada del mismo tipo.
Examples// Display the absolute value of -10
Brain.Screen.print("%d", abs(-10));
// Output: 10
fmin#
Devuelve el menor de dos valores como un doble.
Available Functionsdouble fmin( double value1, double value2 );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El primer valor a comparar. |
|
|
El segundo valor a comparar. |
Devuelve un double que representa el menor de los dos valores de entrada.
// Display the lower of two values
Brain.Screen.print("%f", fmin(7, 4));
// Output: 4.000000
fmax#
Devuelve el mayor de dos valores como un doble.
Available Functionsdouble fmax( double value1, double value2 );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El primer valor a comparar. |
|
|
El segundo valor a comparar. |
Devuelve un double que representa el mayor de los dos valores de entrada.
// Display the higher of two values
Brain.Screen.print("%f", fmax(7, 4));
// Output: 7.000000
pow#
Devuelve un número elevado a una potencia como un doble.
Available Functionsdouble pow( double base, double exponent );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El número base. |
|
|
El exponente. |
Devuelve un double que representa la base elevada a la potencia del exponente.
// Display 2 to the power of 3
Brain.Screen.print("%f", pow(2, 3));
// Output: 8.000000
Constantes#
Las constantes son valores predefinidos que permanecen fijos durante un proyecto. Se pueden utilizar en cálculos sin necesidad de ninguna definición o asignación.
M_PI#
M_PI da la constante matemática π, la relación entre la circunferencia de un círculo y su diámetro.
const double M_PI;
Esta constante no tiene parámetros.
Return ValuesDevuelve la constante matemática π como un 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#
La constante matemática e (número de Euler), la base del logaritmo natural.
Available Constantsconst double M_E;
Esta constante no tiene parámetros.
Return ValuesDevuelve la constante matemática e como un double.
// Calculate e raised to the power of 2
double result = pow(M_E, 2);
Brain.Screen.print("%f", result);
// Output: 7.389056
Trigonometría#
sin#
Calcula el seno de un ángulo en radianes y devuelve un doble.
Available Functionsdouble sin( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble que representa un ángulo en radianes. |
Devuelve un double que representa el seno del ángulo.
// 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#
Calcula el coseno de un ángulo en radianes y devuelve un doble.
Available Functionsdouble cos( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble que representa un ángulo en radianes. |
Devuelve un double que representa el coseno del ángulo.
// 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#
Calcula la tangente de un ángulo en radianes y devuelve un doble.
Available Functionsdouble tan( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble que representa un ángulo en radianes. |
Devuelve un double que representa la tangente del ángulo.
// 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#
Calcula la tangente inversa (tangente de arco) de un número y devuelve un doble que representa el ángulo en radianes.
Available Functionsdouble atan( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un valor doble. |
Devuelve un double que representa la tangente del arco en radianes.
// 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#
Calcula el valor principal de la tangente inversa de y/x y devuelve un doble que representa el ángulo en radianes.
Available Functionsdouble atan2( double y, double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble que representa la coordenada y. |
|
|
Un doble que representa la coordenada x. |
Devuelve un double que representa la tangente del arco de y/x en radianes.
// 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#
Calcula el seno inverso (seno de arco) de un número y devuelve un doble que representa el ángulo en radianes.
Available Functionsdouble asin( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble entre -1 y 1. |
Devuelve un double que representa el seno del arco en radianes.
// 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#
Calcula el coseno inverso (coseno de arco) de un número y devuelve un doble que representa el ángulo en radianes.
Available Functionsdouble acos( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble entre -1 y 1. |
Devuelve un double que representa el coseno del arco en radianes.
// 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
Redondeo y valor absoluto#
ceil#
Devuelve un número redondeado como un doble.
Available Functionsdouble ceil( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble para ser redondeado. |
Devuelve un double que representa el número entero más pequeño mayor o igual que x.
// Round up 9.7
Brain.Screen.print("%f", ceil(9.7));
// Output: 10.000000
floor#
Devuelve un número redondeado hacia abajo como un doble.
Available Functionsdouble floor( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble que se redondeará hacia abajo. |
Devuelve un double que representa el entero más grande menor o igual a x.
// Round down 9.7
Brain.Screen.print("%f", floor(9.7));
// Output: 9.000000
trunc#
Devuelve un número como doble, con su porción decimal establecida en cero.
Available Functionsdouble trunc( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble a truncar. |
Devuelve un double con la porción decimal eliminada.
// Truncate 9.7
Brain.Screen.print("%f", trunc(9.7));
// Output: 9.000000
Exponentes y logaritmos#
sqrt#
Devuelve la raíz cuadrada de un número.
Available Functionsdouble sqrt( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble no negativo. |
Devuelve un double que representa la raíz cuadrada de x.
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));
// Output: 11.000000
exp#
Calcula la exponencial de un número.
Available Functionsdouble exp( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble para calcular el exponencial de. |
Devuelve un double que representa la e elevada a la potencia de x.
// Calculate e raised to the power of 1
double result = exp(1);
Brain.Screen.print("%f", result);
// Output: 2.718282
log#
Calcula el logaritmo natural de un número.
Available Functionsdouble log( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble positivo. |
Devuelve un double que representa el logaritmo natural de x.
// Calculate the natural logarithm (base e) of e
double result = log(M_E);
Brain.Screen.print("%f", result);
// Output: 1.000000
log10#
Calcula el logaritmo en base 10 de un número.
Available Functionsdouble log10( double x );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
Un doble positivo. |
Devuelve un double que representa el logaritmo en base 10 de x.
// Calculate the base-10 logarithm of 1000
double result = log10(1000);
Brain.Screen.print("%f", result);
// Output: 3.000000
Operaciones de coma flotante#
fmod#
Devuelve el resto de la división manteniendo el signo del dividendo.
Available Functionsdouble fmod( double x, double y );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El dividendo. |
|
|
El divisor. |
Devuelve un double que representa el resto de x/y con el signo de 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#
Devuelve un número con la magnitud de x y el signo de y.
Available Functionsdouble copysign( double x, double y );
Parámetro |
Tipo |
Descripción |
|---|---|---|
|
|
El valor cuya magnitud se utilizará. |
|
|
El valor cuyo signo se utilizará. |
Devuelve un double con la magnitud de x y el signo de y.
// Return -10 with the sign of -3 (negative)
double result = copysign(10, -3);
Brain.Screen.print("%f", result);
// Output: -10.000000