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 EXP. 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>.

  • M_PI – La constante π (pi).

  • M_E – Número de Euler, base del registro natural.

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.

  • fmod – Resto con signo del dividendo.

  • copysign – Devuelve un valor con el signo de otro.

Funciones matemáticas comunes#

abs#

Devuelve el valor absoluto de un número, eliminando cualquier signo negativo.

Available Functions

1 — Devuelve el valor absoluto de un número entero.

int abs( int x );

2 — Devuelve el valor absoluto de un doble.

double abs( double x );

Parameters

Parámetro

Tipo

Descripción

x

int or double

Un entero o doble.

Return Values

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

Parameters

Parámetro

Tipo

Descripción

value1

double

El primer valor a comparar.

value2

double

El segundo valor a comparar.

Return Values

Devuelve un double que representa el menor de los dos valores de entrada.

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

Parameters

Parámetro

Tipo

Descripción

value1

double

El primer valor a comparar.

value2

double

El segundo valor a comparar.

Return Values

Devuelve un double que representa el mayor de los dos valores de entrada.

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

Parameters

Parámetro

Tipo

Descripción

base

double

El número base.

exponent

double

El exponente.

Return Values

Devuelve un double que representa la base elevada a la potencia del exponente.

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

Available Constants
const double M_PI;

Parameters

Esta constante no tiene parámetros.

Return Values

Devuelve la constante matemática π como un double.

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#

La constante matemática e (número de Euler), la base del logaritmo natural.

Available Constants
const double M_E;

Parameters

Esta constante no tiene parámetros.

Return Values

Devuelve la constante matemática e como un double.

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

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble que representa un ángulo en radianes.

Return Values

Devuelve un double que representa el seno del ángulo.

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#

Calcula el coseno de un ángulo en radianes y devuelve un doble.

Available Functions
double cos( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble que representa un ángulo en radianes.

Return Values

Devuelve un double que representa el coseno del ángulo.

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#

Calcula la tangente de un ángulo en radianes y devuelve un doble.

Available Functions
double tan( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble que representa un ángulo en radianes.

Return Values

Devuelve un double que representa la tangente del ángulo.

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#

Calcula la tangente inversa (tangente de arco) de un número y devuelve un doble que representa el ángulo en radianes.

Available Functions
double atan( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un valor doble.

Return Values

Devuelve un double que representa la tangente del arco en radianes.

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#

Calcula el valor principal de la tangente inversa de y/x y devuelve un doble que representa el ángulo en radianes.

Available Functions
double atan2( double y, double x );

Parameters

Parámetro

Tipo

Descripción

y

double

Un doble que representa la coordenada y.

x

double

Un doble que representa la coordenada x.

Return Values

Devuelve un double que representa la tangente del arco de y/x en radianes.

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#

Calcula el seno inverso (seno de arco) de un número y devuelve un doble que representa el ángulo en radianes.

Available Functions
double asin( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble entre -1 y 1.

Return Values

Devuelve un double que representa el seno del arco en radianes.

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#

Calcula el coseno inverso (coseno de arco) de un número y devuelve un doble que representa el ángulo en radianes.

Available Functions
double acos( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble entre -1 y 1.

Return Values

Devuelve un double que representa el coseno del arco en radianes.

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

Redondeo y valor absoluto#

ceil#

Devuelve un número redondeado como un doble.

Available Functions
double ceil( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble para ser redondeado.

Return Values

Devuelve un double que representa el número entero más pequeño mayor o igual que x.

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

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble que se redondeará hacia abajo.

Return Values

Devuelve un double que representa el entero más grande menor o igual a x.

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

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble a truncar.

Return Values

Devuelve un double con la porción decimal eliminada.

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

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble no negativo.

Return Values

Devuelve un double que representa la raíz cuadrada de x.

Examples
// Display the square root of 121
Brain.Screen.print("%f", sqrt(121));

// Output: 11.000000

exp#

Calcula la exponencial de un número.

Available Functions
double exp( double x );

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble para calcular el exponencial de.

Return Values

Devuelve un double que representa la e elevada a la potencia de x.

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

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble positivo.

Return Values

Devuelve un double que representa el logaritmo natural de x.

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

Parameters

Parámetro

Tipo

Descripción

x

double

Un doble positivo.

Return Values

Devuelve un double que representa el logaritmo en base 10 de x.

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

Parameters

Parámetro

Tipo

Descripción

x

double

El dividendo.

y

double

El divisor.

Return Values

Devuelve un double que representa el resto de x/y con el signo de x.

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#

Devuelve un número con la magnitud de x y el signo de y.

Available Functions
double copysign( double x, double y );

Parameters

Parámetro

Tipo

Descripción

x

double

El valor cuya magnitud se utilizará.

y

double

El valor cuyo signo se utilizará.

Return Values

Devuelve un double con la magnitud de x y el signo de y.

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

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