Función Python math.cbrt()
En los cálculos matemáticos,la raíz cúbicaes una operación muy importante. A diferencia de la raíz cuadrada, la raíz cúbica puede manejar números negativos, porque el cubo de un número negativo sigue siendo negativo.
math.cbrt()es una función introducida en Python 3.11, diseñada específicamente para calcular laraíz cúbica (cube root). Devuelve la raíz cúbica de x, es decir, el valor de y que satisface y³ = x.
Definición de la palabra: cbrtes la abreviatura de "cube root", que significa "raíz cúbica".
Sintaxis básica y parámetros
math.cbrt()es una función estática del módulo math; para usarla, primero debe importarse el módulo math.
Formato de sintaxis
import math math.cbrt(x)
Descripción de parámetros
- Parámetro:
x- Tipo: numérico (entero o flotante)
- Descripción: el número del cual se calculará la raíz cúbica. Puede ser cualquier número real, incluidos los negativos.
Valor de retorno
- Devuelve
xla raíz cúbica de x, con un tipo de retorno flotante. - Si x es 0, devuelve 0.
- Si x es negativo, devuelve la raíz cúbica del número negativo.
Ejemplos
Dominemos por completomath.cbrt()su uso mediante ejemplos.
Ejemplo 1: Uso básico - Calcular la raíz cúbica de números positivos
Ejemplo
# Calcular la raíz cúbica de algunos números comunes
print(Raíz cúbica de 8:, math.cbrt(8)) # 2.0, porque 2³ = 8
print(Raíz cúbica de 27:, math.cbrt(27)) # 3.0, porque 3³ = 27
print(Raíz cúbica de 1000:, math.cbrt(1000)) # 10.0, porque 10³ = 1000
print(Raíz cúbica de 2:, math.cbrt(2)) # Aproximadamente 1.2599
# Raíz cúbica de 0
print(Raíz cúbica de 0:, math.cbrt(0)) # 0.0
Resultado de la ejecución:
8 的立方根: 2.0 27 的立方根: 3.0 1000 的立方根: 10.0 2 的立方根: 1.2599210498948732 0 的立方根: 0.0
Ejemplo 2: Calcular la raíz cúbica de números negativos
math.cbrt()Su gran ventaja es que maneja correctamente los números negativos, mientras quemath.sqrt()da error con números negativos.
Ejemplo
# Calcular la raíz cúbica de números negativos
print(Raíz cúbica de -8:, math.cbrt(-8)) # -2.0, porque (-2)³ = -8
print(Raíz cúbica de -27:, math.cbrt(-27)) # -3.0, porque (-3)³ = -27
print(Raíz cúbica de -1:, math.cbrt(-1)) # -1.0
# Comparación: sqrt no puede manejar números negativos
try:
print(math.sqrt(-8))
except ValueError as e:
print(math.sqrt(-8) da error:, e)
Resultado de la ejecución:
-8 的立方根: -2.0 -27 的立方根: -3.0 -1 的立方根: -1.0 math.sqrt(-8) 报错: math domain error
Ejemplo 3: Verificar las propiedades de la raíz cúbica
Usa la raíz cúbica para verificar la propiedad matemática: el cubo de la raíz cúbica de a es igual a a.
Ejemplo
# Verificar la propiedad de la raíz cúbica: cbrt(x)³ = x
test_values = [8, -8, 27, -27, 0.125, -0.125]
for val in test_values:
cube_root = math.cbrt(val)
result = cube_root ** 3
print(fcbrt({val}) = {cube_root}, su cubo = {result})
# Problema de precisión de números de punto flotante
print("\nVerificación de precisión:)
print("cbrt(5)³ =", math.cbrt(5) ** 3) # Debería ser igual a 5
Resultado de la ejecución:
cbrt(8) = 2.0, 其立方 = 8.0 cbrt(-8) = -2.0, 其立方 = -8.0 cbrt(27) = 3.0, 其立方 = 27.0 cbrt(-27) = -3.0, 其立方 = -27.0 cbrt(0.125) = 0.5, 其立方 = 0.125 cbrt(-0.125) = -0.5, 其立方 = -0.125 精度验证: cbrt(5)³ = 5.0
Ejemplo 4: Aplicación práctica - Resolver ecuaciones cúbicas
La raíz cúbica se puede utilizar para resolver ecuaciones cúbicas. Por ejemplo, al resolver x³ = 27, se obtiene x = cbrt(27) = 3.
Ejemplo
# Problema real: calcular la longitud del lado a partir del volumen
# Supongamos una caja cúbica con un volumen de 1000 metros cúbicos
# Calcular la longitud del lado
volume = 1000
side_length = math.cbrt(volume)
print(fUn cubo con un volumen de {volume} metros cúbicos tiene una longitud de lado de: {side_length:.4f} metros)
# Aplicación física: calcular el radio de una esfera
# Dado el volumen de la esfera V = (4/3)πr³, calcular el radio r
# r = cbrt(V * 3 / (4 * π))
sphere_volume = 904.78 # Volumen aproximado de la esfera
radius = math.cbrt(sphere_volume * 3 / (4 * math.pi))
print(fUna esfera con un volumen de {sphere_volume:.2f} tiene un radio aproximado de: {radius:.4f})
Resultado de la ejecución:
体积为 1000 立方米的正方体,边长为: 10.0000 米 体积为 904.78 的球,半径约为: 6.0000
Comparación con otros métodos
Enmath.cbrt()Antes de que apareciera, normalmente usábamos el operador de exponenciación para calcular la raíz cúbica:
Ejemplo
x = 27
# Método 1: Usar math.cbrt() (recomendado)
result1 = math.cbrt(x)
# Método 2: Usar la operación de exponenciación x ** (1/3)
result2 = x ** (1/3)
# Método 3: Usar la función pow()
result3 = pow(x, 1/3)
print(f"math.cbrt({x}) = {result1}")
print(f"{x} ** (1/3) = {result2}")
print(f"pow({x}, 1/3) = {result3}")
# Caso de números negativos
y = -8
print(f"\nPara el número negativo {y}:)
print(f"math.cbrt({y}) = {math.cbrt(y)}")
print(f"{y} ** (1/3) = {y ** (1/3)}") # Puede producir números complejos
Resultado de la ejecución:
math.cbrt(27) = 3.0 27 ** (1/3) = 2.9999999999999996 pow(27, 1/3) = 2.9999999999999996 对于负数 -8: math.cbrt(-8) = -2.0 -8 ** (1/3) = -(8**(1/3)) = -2.0 # 由于运算符优先级,结果正确但不够直观
Explicación:math.cbrt()es la mejor opción para calcular la raíz cúbica, porque:
- Semántica clara y código legible
- Manejo correcto de números negativos
- Mayor precisión, evita los problemas de precisión de las operaciones con números de punto flotante
Notas
math.cbrt()es una función que solo está disponible en Python 3.11+, no se puede usar en versiones anteriores de Python.- Para versiones anteriores, se puede usar
x ** (1/3)opow(x, 1/3)en su lugar. - Esta función solo es aplicable a números reales, no admite números complejos. Si necesita raíces cúbicas de números complejos, use el
cmathmódulo.
Otras extensiones
Módulo math de Python