Matemáticas#
Introducción#
El módulo de matemáticas incluye tanto funciones integradas de Python como el módulo completo math , disponible automáticamente en VEXcode VR. 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– Logaritmo natural (base e).
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. |
def main():
# Get the absolute value of -10
abs_result = abs(-10)
brain.print(abs_result)
# abs_result = 10
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Round 5.7 to the nearest integer
round_int_result = round(5.7)
brain.print(round_int_result)
# round_int_result = 6
# VR threads — Do not delete
vr_thread(main)
def main():
# Round 3.14159 to 2 decimal places
round_result = round(3.14159, 2)
brain.print(round_result, precision=2)
# round_result = 3.14
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Get the smallest number from 3, 7, and 1
min_result = min(3, 7, 1)
brain.print(min_result)
# min_result = 1
# VR threads — Do not delete
vr_thread(main)
def main():
# Get the smallest value from a list
min_list_result = min([10, 4, 25, 1])
brain.print(min_list_result)
# min_list_result = 1
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Get the largest number from 3, 7, and 1
max_result = max(3, 7, 1)
brain.print(max_result)
# max_result = 7
# VR threads — Do not delete
vr_thread(main)
def main():
# Get the largest value from a list
max_list_result = max([10, 4, 25, 1])
brain.print(max_list_result)
# max_list_result = 25
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate the sum of a list of numbers
sum_result = sum([1, 2, 3, 4, 5])
brain.print(sum_result)
# sum_result = 15
# VR threads — Do not delete
vr_thread(main)
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Perform integer division and remainder of 10 / 3
divmod_result = divmod(10, 3)
brain.print(divmod_result)
# divmod_result = (3, 1)
# VR threads — Do not delete
vr_thread(main)
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 |
def main():
# Calculate 2 raised to the power of 3
pow_result = pow(2, 3)
brain.print(pow_result)
# pow_result = 8
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
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 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
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
tau#
tau da el valor de 2π.
Usage:
math.tau
def main():
# Calculate the circumference of a circle with radius
circumference = math.tau * 5
brain.print(circumference, precision=2)
# circumference = 31.42
# VR threads — Do not delete
vr_thread(main)
e#
e da la base del logaritmo natural.
Usage:
math.e
def main():
# 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
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate the sine of
# 30 degrees in radians
result = math.sin(math.radians(30))
brain.print(result, precision=2)
# result = 0.50
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate the cosine of
# 60 degrees in radians
result = math.cos(math.radians(60))
brain.print(result, precision=2)
# result = 0.50
# VR threads — Do not delete
vr_thread(main)
tan#
tan calcula la tangente de un ángulo en radianes y devuelve un flotador.
Usage:
math.tan(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en radianes. |
def main():
# Calculate the tangent of
# 45 degrees in radians
result = math.tan(math.radians(45))
brain.print(result, precision=2)
# result = 1.00
# VR threads — Do not delete
vr_thread(main)
atan#
atan calcula la tangente inversa (arco tangente) de un número y devuelve un flotador que representa el ángulo en radianes.
Usage:
math.atan(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero. |
def main():
# Calculate the arc tangent
# of 1 in degrees
arc_tan = math.atan(1.0)
result = math.degrees(arc_tan)
brain.print(result, precision=2)
# result = 45.00
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate the inverse tangent
# of 1/1 in degrees
atan2 = math.atan2(1.0, 1.0)
result = math.degrees(atan2)
brain.print(result, precision=2)
# result = 45.00
# VR threads — Do not delete
vr_thread(main)
asin#
asin calcula el seno inverso (arco seno) de un número y devuelve un flotador que representa el ángulo en radianes.
Usage:
math.asin(x)
Parámetro |
Descripción |
|---|---|
|
Un flotante o entero entre -1 y 1. |
def main():
# Calculate the arc sine
# of 0.5 in degrees
result = math.degrees(math.asin(0.5))
brain.print(result, precision=2)
# result = 30.00
# VR threads — Do not delete
vr_thread(main)
acos#
acos calcula el coseno inverso (arco coseno) de un número y devuelve un flotador que representa el ángulo en radianes.
Usage:
math.acos(x)
Parámetro |
Descripción |
|---|---|
|
Un flotante o entero entre -1 y 1. |
def main():
# Calculate the arc cosine
# of 0.5 in degrees
result = math.degrees(math.acos(0.5))
brain.print(result, precision=2)
# result = 60.00
# VR threads — Do not delete
vr_thread(main)
grados#
degrees convierte un ángulo de radianes a grados.
Usage:
math.degrees(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador o número entero que representa un ángulo en radianes. |
def main():
# Convert pi radians to degrees
degrees_result = math.degrees(math.pi)
brain.print(degrees_result, precision=2)
# degrees_result = 180.00
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Convert 180 degrees to radians
radians_result = math.radians(180)
brain.print(radians_result, precision=2)
# radians_result = 3.14
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Round 3.7 up to the nearest integer
ceil_result = math.ceil(3.7)
brain.print(ceil_result)
# ceil_result = 4
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Round 3.7 down to the nearest integer
floor_result = math.floor(3.7)
brain.print(floor_result)
# floor_result = 3
# VR threads — Do not delete
vr_thread(main)
trunc#
trunc elimina la parte decimal de un número sin redondear.
Usage:
math.trunc(x)
Parámetro |
Descripción |
|---|---|
|
Un flotador a truncar. |
def main():
# Remove the decimal part of 3.7
trunc_result = math.trunc(3.7)
brain.print(trunc_result)
# trunc_result = 3
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Get the absolute value of -3.7
fabs_result = math.fabs(-3.7)
brain.print(fabs_result, precision=2)
# fabs_result = 3.70
# VR threads — Do not delete
vr_thread(main)
Exponents & Logarithms#
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. |
def main():
# Calculate 2 raised to the power of 3
power_result = math.pow(2, 3)
brain.print(power_result, precision=2)
# power_result = 8.00
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate the square root of 16
sqrt_result = math.sqrt(16)
brain.print(sqrt_result, precision=2)
# sqrt_result = 4.00
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate e raised to the power of 1
exp_result = math.exp(1)
brain.print(exp_result, precision=2)
# exp_result = 2.72
# VR threads — Do not delete
vr_thread(main)
registro#
log calcula el logaritmo natural de un número y devuelve un flotante.
Usage:
math.log(x)
Parámetro |
Descripción |
|---|---|
|
Un número flotante o entero positivo. |
def main():
# Calculate the natural logarithm
# (base e) of 7.389056
log_result = math.log(7.389056)
brain.print(log_result, precision=2)
# log_result = 2.00
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate the log10 of 100
log_result = math.log10(100)
brain.print(log_result)
# log_result = 2
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Decompose 3.14159 into fractional and integer parts
fractional_part, integer_part = math.modf(3.14159)
brain.print(fractional_part, precision=2)
brain.new_line()
brain.print(integer_part, precision=2)
# fractional_part = 0.14
# integer_part = 3.00
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Decompose 16 into its mantissa and exponent
mantissa, exponent = math.frexp(16)
brain.print(mantissa, precision=2)
brain.new_line()
brain.print(exponent)
# mantissa = 0.50
# exponent = 5
# VR threads — Do not delete
vr_thread(main)
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. |
def main():
# Calculate remainder of 10 / 3
# that preserves the sign of 10
fmod_result = math.fmod(10, 3)
brain.print(fmod_result, precision=2)
# fmod_result = 1.00
# VR threads — Do not delete
vr_thread(main)
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á. |
def main():
# Return -10 with the sign of 3 (positive)
copysign_result = math.copysign(-10, 3)
brain.print(copysign_result, precision=2)
# copysign_result = 10.00
# VR threads — Do not delete
vr_thread(main)
ldexp#
ldexp calcula x * (2 ** exp), que es equivalente a x * 2exp{code}.
Usage:
math.ldexp(x, exp)
Parámetro |
Descripción |
|---|---|
|
El valor base. |
|
El exponente. |
def main():
# Compute 3 * (2 ** 4)
ldexp_result = math.ldexp(3, 4)
brain.print(ldexp_result, precision=2)
# ldexp_result = 48.00
# VR threads — Do not delete
vr_thread(main)