Matemáticas#
Introducción#
El módulo de matemáticas incluye tanto funciones integradas de Python como el módulo completo math , que está disponible automáticamente en VEXcode 123. Estas herramientas permiten realizar desde operaciones aritméticas básicas hasta trigonometría avanzada, redondeo y operaciones logarítmicas.
Utilice estas funciones y constantes para calcular posiciones, ángulos, distancias y otros valores numéricos para su robot. También puedes convertir entre grados y radianes, evaluar expresiones y trabajar con valores especiales como infinito y NaN.
A continuación se muestra una lista de funciones, constantes y utilidades matemáticas disponibles:
Funciones integradas: herramientas matemáticas comunes incluidas con Python.
abs– Devuelve el valor absoluto de un número.round– Redondea un número a un número específico de decimales.min– Devuelve el menor de los valores de entrada.max– Devuelve el mayor de los valores de entrada.sum– Suma todos los valores en un iterable.divmod– Devuelve el cociente y el resto como una tupla.pow– Eleva un número a una potencia, opcionalmente con un módulo.int– Convierte un valor en un número entero.float– Convierte un valor en un número de punto flotante.
Constantes: Valores predefinidos del módulo math.
math.pi– La constante π (pi).math.tau– La constante tau (2π).math.e– Número de Euler, base del registro natural.
Trigonometría: calcula los ángulos y las relaciones entre los lados.
math.sin– Seno de un ángulo en radianes.math.cos– Coseno de un ángulo en radianes.math.tan– Tangente de un ángulo en radianes.math.atan– Arcotangente de un valor en radianes.math.atan2– Arcotangente de y/x en radianes, considerando el cuadrante.math.asin– Arcseno de un valor en radianes.math.acos– Arccoseno de un valor en radianes.math.degrees– Convierte radianes en grados.math.radians– Convierte grados a radianes.
Redondeo y valor absoluto: ajuste la precisión o la dirección.
math.ceil– Redondea al número entero más cercano.math.floor– Redondea al entero más cercano.math.trunc– Elimina la parte decimal.math.fabs– Devuelve el valor absoluto como un valor flotante.
Exponentes y logaritmos: cálculos de potencia, raíz y registro.
math.pow– Eleva un número a una potencia.math.sqrt– Devuelve la raíz cuadrada.math.exp– Calcula e a la potencia de x.math.log– Calcula el logaritmo de x.math.log10– Calcula el logaritmo en base 10 de x.
Operaciones en coma flotante: inspeccione o descomponga los valores flotantes.
math.modf– Devuelve las partes fraccionarias y enteras de un flotador.math.frexp– Descompone un número en mantisa y exponente.math.fmod– Resto con signo del dividendo.math.copysign– Devuelve un valor con el signo de otro.math.ldexp– Calculax * (2 ** exp).
Funciones integradas#
Python proporciona varias funciones integradas que le permiten realizar operaciones matemáticas dentro de su proyecto.
abs#
abs devuelve el valor absoluto de un número, eliminando cualquier signo negativo.
Usage:
abs(x)
Parámetro |
Descripción |
|---|---|
|
Un número entero o flotante. |
# Get the absolute value of -10
abs_result = abs(-10)
console.print(abs_result)
# abs_result = 10
round#
round redondea un número a un número específico de decimales.
Usage:
round(x, ndigits)
Parámetro |
Descripción |
|---|---|
|
Un número entero o flotante. |
|
Opcional. El número de decimales a redondear. El valor predeterminado es 0. |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
console.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
console.print(round_result, precision=2)
# round_result = 3.14
min#
min devuelve el valor más pequeño de varios argumentos o un iterable.
Usage:
min(arg1, arg2, …) or min(sequence)
Parámetro |
Descripción |
|---|---|
|
Los números a comparar. |
|
Una lista, tupla u otra secuencia que contenga números. |
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
console.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
console.print(min_list_result)
# min_list_result = 1
max#
max devuelve el valor más grande de múltiples argumentos o un iterable.
Usage:
max(arg1, arg2, …) or max(sequence)
Parámetro |
Descripción |
|---|---|
|
Los números a comparar. |
|
Una lista, tupla u otra secuencia que contenga números. |
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
console.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
console.print(max_list_result)
# max_list_result = 25
sum#
sum suma todos los valores en un iterable, con un valor inicial opcional.
Usage:
sum(sequence, start)
Parámetro |
Descripción |
|---|---|
|
Una lista, tupla u otra secuencia que contenga números. |
|
Opcional. Un valor para agregar a la suma. El valor predeterminado es 0. |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
console.print(sum_result)
# sum_result = 15
# Calculate the sum of a list with a starting value of 10
sum_with_start = sum([1, 2, 3], 10)
console.print(sum_with_start)
# sum_with_start = 16
divmod#
divmod devuelve una tupla que contiene el cociente y el resto de una operación de división.
Usage:
divmod(a, b)
Parámetro |
Descripción |
|---|---|
|
El dividendo. |
|
El divisor. |
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
console.print(divmod_result)
# divmod_result = (3, 1)
pow#
pow eleva un número a una potencia y opcionalmente realiza una operación de módulo.
Usage:
pow(x, y, mod)
Parámetro |
Descripción |
|---|---|
|
El número base. |
|
El exponente. |
|
Opcional. Un valor de módulo. Si se proporciona, devuelve |
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
console.print(pow_result)
# pow_result = 8
int#
int convierte un número o cadena en un entero. También admite la conversión base al convertir desde una cadena.
Usage:
int(x, base)
Parámetro |
Descripción |
|---|---|
|
Un número, cadena u otro objeto para convertir. |
|
Opcional. La base numérica a utilizar para la conversión. El valor predeterminado es 10. |
# Convert a float to an integer to get rid of decimals
price = 19.99
price_int = int(price)
console.print("{} coins".format(price_int))
# Output: 19 coins
# Convert a string into an integer to use in calculations
user_input = "55"
user_number = int(user_input)
console.print(user_number * 2)
# Output: 110
float#
float convierte un número o cadena en un número de punto flotante.
Usage:
float(x)
Parámetro |
Descripción |
|---|---|
|
Un número, cadena u otro objeto para convertir. |
# Convert division result to a float
num_apples = 6
num_people = 2
apples_per_person = float(num_apples) / num_people
console.print(apples_per_person)
# Output: 3.0
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
console.print(user_number * 3)
# Output: 70.2
Módulo de Matemáticas#
El módulo math de Python proporciona métodos adicionales para realizar cálculos matemáticos comunes. Estos métodos incluyen operaciones trigonométricas, logarítmicas y otras operaciones numéricas.
El módulo math se importa por defecto en VEXcode.
Constants#
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.
pi#
pi da la constante matemática π, la relación entre la circunferencia de un círculo y su diámetro.
Usage:
math.pi
# Calculate the area of a circle with radius 5 using pi
circle_area = math.pi * 5 * 5
console.print(circle_area, precision=2)
# circle_area = 78.54
tau#
tau da el valor de 2π.
Usage:
math.tau
# Calculate the circumference of a circle with radius 5
circumference = math.tau * 5
console.print(circumference, precision=2)
# circumference = 31.42
e#
e da la base del logaritmo natural.
Usage:
math.e
# Calculate e raised to the power of 2
e_power = math.pow(math.e, 2)
console.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
sin#
sin calcula el seno de un ángulo en radianes y devuelve un flotador.
Usage:
math.sin(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en radianes. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
console.print(result, precision=2)
# result = 0.50
cos#
cos calcula el coseno de un ángulo en radianes y devuelve un flotador.
Usage:
math.cos(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en radianes. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
console.print(result, precision=2)
# result = 0.50
tan#
tan calcula la tangente de un ángulo en radianes y devuelve un número entero.
Usage:
math.tan(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en radianes. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
console.print(result)
# result = 1
asin#
asin calcula el seno inverso (arco seno) de un número y devuelve un entero que representa el ángulo en radianes.
Usage:
math.asin(x)
Parámetro |
Descripción |
|---|---|
|
Un flotante o entero entre -1 y 1. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
console.print(result)
# result = 30
acos#
acos calcula el coseno inverso (arco coseno) de un número y devuelve un entero que representa el ángulo en radianes.
Usage:
math.acos(x)
Parámetro |
Descripción |
|---|---|
|
Un flotante o entero entre -1 y 1. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
console.print(result)
# result = 60
atan#
atan calcula la tangente inversa (arco tangente) de un número y devuelve un entero que representa el ángulo en radianes.
Usage:
math.atan(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero. |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
console.print(result)
# result = 45
atan2#
atan2 calcula el valor principal de la tangente inversa de y/x y devuelve un flotador que representa el ángulo en radianes.
Usage:
math.atan2(y, x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa la coordenada y. |
|
Un flotador o número entero que representa la coordenada x. |
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
console.print(result)
# result = 45
grados#
degrees convierte un ángulo de radianes a grados y devuelve un número entero.
Usage:
math.degrees(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en radianes. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
console.print(degrees_result)
# degrees_result = 180
radianes#
radians convierte un ángulo de grados a radianes.
Usage:
math.radians(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en grados. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
console.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
techo#
ceil redondea un número hasta el entero más cercano.
Usage:
math.ceil(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero a redondear. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
console.print(ceil_result)
# ceil_result = 4
piso#
floor redondea un número hasta el entero más cercano.
Usage:
math.floor(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que se redondeará hacia abajo. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
console.print(floor_result)
# floor_result = 3
trunc#
trunc elimina la parte decimal de un número sin redondear.
Usage:
math.trunc(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador a truncar. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
console.print(trunc_result)
# trunc_result = 3
fabs#
fabs devuelve el valor absoluto de un número como un flotante.
Usage:
math.fabs(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero. |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
console.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
registro#
log calcula el logaritmo de un número y devuelve un float.
Usage:
math.log(x, base)
Parámetro |
Descripción |
|---|---|
|
Un número flotante o entero positivo. |
|
Opcional. La base del logaritmo a utilizar. Por defecto, este es el logaritmo natural. |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
console.print(log_result)
# log_result = 2
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
console.print(log_result)
# log_result = 3
log10#
log10 calcula el logaritmo en base 10 de un número y devuelve un valor flotante.
Usage:
math.log10(x)
Parámetro |
Descripción |
|---|---|
|
Un número flotante o entero positivo. |
# Calculate the base-10 logarithm of 100
log10_result = math.log10(100)
console.print(log10_result)
# log10_result = 2
pow#
pow eleva x a la potencia de y y devuelve un valor flotante, incluso si ambas entradas son números enteros.
Usage:
math.pow(x, y)
Parámetro |
Descripción |
|---|---|
|
Una base flotante o entera. |
|
Un exponente flotante o entero. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
console.print(power_result)
# power_result = 8
sqrt#
sqrt calcula la raíz cuadrada de un número y devuelve un valor flotante, incluso para cuadrados perfectos.
Usage:
math.sqrt(x)
Parámetro |
Descripción |
|---|---|
|
Un flotante o entero no negativo. |
# Calculate the square root of 25
sqrt_result = math.sqrt(25)
console.print(sqrt_result)
# sqrt_result = 5.0
exp#
exp calcula la exponencial de un número y devuelve un flotante.
Usage:
math.exp(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero. |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
console.print(exp_result, precision=2)
# exp_result = 2.72
Floating Point Operations#
modf#
modf descompone un número en sus partes fraccionaria y entera y devuelve una tupla (fractional part, integer part), tanto como flotantes.
Usage:
math.modf(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o entero para descomponer. |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
console.print(fractional_part, precision=2)
console.new_line()
console.print(integer_part)
# fractional_part = 0.14
# integer_part = 3
frexp#
frexp descompone un número en su mantisa y exponente y devuelve una tupla (mantissa, exponent), donde la mantisa es un flotador y el exponente es un número entero.
Usage:
math.frexp(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o entero para descomponer. |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
console.print(mantissa, precision=2)
console.new_line()
console.print(exponent)
# mantissa = 0.50
# exponent = 5
fmod#
fmod devuelve el resto de la división manteniendo el signo del dividendo (x).
Usage:
math.fmod(x, y)
Parámetro |
Descripción |
|---|---|
|
El dividendo. |
|
El divisor. |
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
console.print(fmod_result)
# fmod_result = 1
copysign#
copysign devuelve x con el signo de y.
Usage:
math.copysign(x, y)
Parámetro |
Descripción |
|---|---|
|
El valor a modificar. |
|
El valor cuyo signo se copiará. |
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
console.print(copysign_result)
# copysign_result = 10
ldexp#
ldexp calcula x * (2 ** exp), que es equivalente a x * 2exp.
Usage:
math.ldexp(x, exp)
Parámetro |
Descripción |
|---|---|
|
El valor base. |
|
El exponente. |
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
console.print(ldexp_result)
# ldexp_result = 48