Matemáticas#
Introducción#
El módulo Math incluye tanto funciones integradas de Python como el módulo completo math , disponible automáticamente en VEXcode. Estas herramientas permiten realizar desde operaciones aritméticas básicas hasta trigonometría avanzada, redondeo y operaciones logarítmicas.
Utiliza estas funciones y constantes para calcular posiciones, ángulos, distancias y otros valores numéricos para tu 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 las funciones matemáticas, constantes y utilidades disponibles:
Funciones integradas: herramientas matemáticas comunes incluidas en Python.
abs– Devuelve el valor absoluto de un número.round– Redondea un número a un número específico de lugares 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 entero.float– Convierte un valor en un número de punto flotante.
Constantes: Valores predefinidos del módulo math.
Trigonometría: Calcular ángulos y relaciones entre 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– Arcoseno de un valor en radianes.math.acos– Arcocoseno de un valor en radianes.math.degrees– Convierte radianes a grados.math.radians– Convierte grados a radianes.
Redondeo y valor absoluto: ajuste la precisión o la dirección.
math.ceil– Redondea al entero más cercano.math.floor– Redondea hacia abajo al entero más cercano.math.trunc– Elimina la parte decimal.math.fabs– Devuelve el valor absoluto como un número flotante.
Exponentes y logaritmos: cálculos de potencia, raíz y logaritmo.
math.log– Calcula el logaritmo natural de x.math.log10– Calcula el logaritmo de x (base 10).math.pow– Eleva un número a una potencia.math.sqrt– Devuelve la raíz cuadrada.math.exp– Calcula e elevado a la potencia de x.
Operaciones con números de coma flotante: Inspeccione o descomponga valores de coma flotante.
math.modf– Devuelve las partes fraccionaria y entera de un float.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 permiten realizar operaciones matemáticas dentro de tu 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 decimal. |
# Get the absolute value of -10
abs_result = abs(-10)
brain.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 decimal. |
|
Opcional. Número de decimales a los que redondear. El valor predeterminado es 0. |
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.print(round_int_result)
# round_int_result = 6
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.print(round_result, precision=2)
# round_result = 3.14
min#
min devuelve el valor más pequeño de múltiples argumentos o un iterable.
Usage:
min(arg1, arg2, …) or min(sequence)
Parámetro |
Descripción |
|---|---|
|
Las cifras 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)
brain.print(min_result)
# min_result = 1
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.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 |
|---|---|
|
Las cifras 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)
brain.print(max_result)
# max_result = 7
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.print(max_list_result)
# max_list_result = 25
sum#
sum suma todos los valores de 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 añadir a la suma. El valor predeterminado es 0. |
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.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)
brain.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)
brain.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)
brain.print(pow_result)
# pow_result = 8
int#
int convierte un número o cadena en un entero. También admite la conversión de 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 que se 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)
brain.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)
brain.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
brain.print(apples_per_person)
# Output: 3.00
# Convert a string into a float to use in calculations
user_input = "23.4"
user_number = float(user_input)
brain.print(user_number * 3)
# Output: 70.20
Módulo de matemáticas#
El módulo math de MicroPython 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 usar en cálculos sin necesidad de definirlos ni asignarles ningún valor.
pi#
pi da como resultado 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
brain.print(circle_area, precision=2)
# circle_area = 78.54
mi#
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)
brain.print(e_power, precision=2)
# e_power = 7.39
Trigonometry#
pecado#
sin calcula el seno de un ángulo en radianes y devuelve un número decimal.
Usage:
math.sin(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que representa un ángulo en radianes. |
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.print(result, precision=2)
# result = 0.50
porque#
cos calcula el coseno de un ángulo en radianes y devuelve un número decimal.
Usage:
math.cos(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que representa un ángulo en radianes. |
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.print(result, precision=2)
# result = 0.50
broncearse#
tan calcula la tangente de un ángulo en radianes y devuelve un número decimal.
Usage:
math.tan(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que representa un ángulo en radianes. |
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.print(result)
# result = 1.00
asin#
asin calcula el seno inverso (arco seno) de un número y devuelve un número flotante que representa el ángulo en radianes.
Usage:
math.asin(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero entre -1 y 1. |
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.print(result)
# result = 30.00
acos#
acos calcula el coseno inverso (arco coseno) de un número y devuelve un número flotante que representa el ángulo en radianes.
Usage:
math.acos(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero entre -1 y 1. |
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.print(result)
# result = 60.00
atan#
atan calcula la tangente inversa (tangente de arco) de un número y devuelve un número flotante que representa el ángulo en radianes.
Usage:
math.atan(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero. |
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.print(result)
# result = 45.00
atan2#
atan2 calcula el valor principal de la tangente inversa de y/x y devuelve un número flotante que representa el ángulo en radianes.
Usage:
math.atan2(y, x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que representa la coordenada y. |
|
Un número decimal o 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)
brain.print(result)
# result = 45.00
títulos#
degrees convierte un ángulo de radianes a grados y devuelve un número decimal.
Usage:
math.degrees(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que representa un ángulo en radianes. |
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.print(degrees_result)
# degrees_result = 180.00
radianes#
radians convierte un ángulo de grados a radianes como un número flotante.
Usage:
math.radians(x)
Parámetro |
Descripción |
|---|---|
|
Un valor decimal o entero que representa un ángulo en grados. |
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.print(radians_result, precision=2)
# radians_result = 3.14
Rounding & Absolute Values#
fortificar techo#
ceil redondea un número al entero más cercano.
Usage:
math.ceil(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que se redondeará hacia arriba. |
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.print(ceil_result)
# ceil_result = 4
piso#
floor redondea un número hacia abajo al entero más cercano.
Usage:
math.floor(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero que se redondeará hacia abajo. |
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.print(floor_result)
# floor_result = 3
truncamiento#
trunc elimina la parte decimal de un número sin redondear.
Usage:
math.trunc(x)
Parámetro |
Descripción |
|---|---|
|
Un número flotante que se truncará. |
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.print(trunc_result)
# trunc_result = 3
fabs#
fabs devuelve el valor absoluto de un número como un número de coma flotante.
Usage:
math.fabs(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero. |
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.print(fabs_result, precision=1)
# fabs_result = 3.7
Exponents & Logarithms#
registro#
log calcula el logaritmo de un número y devuelve un número decimal.
Usage:
math.log(x, base)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero positivo. |
|
Opcional. La base del logaritmo que se utilizará. Por defecto, se utiliza el logaritmo natural. |
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.print(log_result)
# log_result = 2.00
# Calculate the log base 2 of 8
log_result = math.log(8, 2)
brain.print(log_result)
# log_result = 3.00
logaritmo en base 10#
log10 calcula el logaritmo en base 10 de un número y devuelve un número flotante.
Usage:
math.log10(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero positivo. |
# Calculate the log base 10 of 100
log_result = math.log10(100)
brain.print(log_result)
# log_result = 2.00
¡Pum!#
pow eleva x a la potencia de y y devuelve un número de punto flotante, incluso si ambas entradas son números enteros.
Usage:
math.pow(x, y)
Parámetro |
Descripción |
|---|---|
|
Una base de tipo flotante o entero. |
|
Un exponente de tipo flotante o entero. |
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.print(power_result)
# power_result = 8.00
raíz cuadrada#
La función sqrt calcula la raíz cuadrada de un número y devuelve un número decimal, incluso para cuadrados perfectos.
Usage:
math.sqrt(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero no negativo. |
# Calculate the square root of 16
square_root = math.sqrt(16)
brain.print(square_root)
# square_root = 4.00
exp#
exp calcula la exponencial de un número y devuelve un número decimal.
Usage:
math.exp(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero. |
# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.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), ambas como números de punto flotante.
Usage:
math.modf(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero para descomponer. |
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.print(fractional_part, precision=2)
brain.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 float y el exponente es un entero.
Usage:
math.frexp(x)
Parámetro |
Descripción |
|---|---|
|
Un número decimal o entero para descomponer. |
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.print(mantissa, precision=2)
brain.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)
brain.print(fmod_result)
# fmod_result = 1
firmar por copia#
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)
brain.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)
brain.print(ldexp_result)
# ldexp_result = 48