Python math.cbrt()-Funktion

Python math 模块Python math-Modul


In mathematischen Berechnungen ist dieKubikwurzeleine sehr wichtige Operation. Im Gegensatz zur Quadratwurzel kann die Kubikwurzel negative Zahlen verarbeiten, denn die Kubik einer negativen Zahl ist immer noch negativ.

math.cbrt()ist eine in Python 3.11 eingeführte Funktion, die speziell verwendet wird, um dieKubikwurzeleiner Zahl zu berechnen. Sie gibt die Kubikwurzel von x zurück, also den Wert y, der y³ = x erfüllt.

Begriffsdefinition: cbrtist die Abkürzung für 'cube root', was 'Kubikwurzel' bedeutet.


Grundlegende Syntax und Parameter

math.cbrt()ist eine statische Funktion des math-Moduls. Sie müssen das math-Modul importieren, bevor Sie sie verwenden.

Syntaxformat

import math

math.cbrt(x)

Parameterbeschreibung

  • Parameter: x
    • Typ: numerisch (Ganzzahl oder Gleitkommazahl)
    • Beschreibung: Die Zahl, deren Kubikwurzel berechnet werden soll. Sie kann jede reelle Zahl sein, einschließlich negativer Zahlen.

Rückgabewert

  • Gibt zurückxdie Kubikwurzel von x, und der Rückgabetyp ist float.
  • Wenn x 0 ist, wird 0 zurückgegeben.
  • Wenn x negativ ist, wird die Kubikwurzel der negativen Zahl zurückgegeben.

Beispiele

Lass uns das gründlich meisternmath.cbrt()die Verwendung von.

Beispiel 1: Grundlegende Verwendung – Kubikwurzel einer positiven Zahl berechnen

Beispiel

import math

# Berechne die Kubikwurzeln einiger gängiger Zahlen
print("Kubikwurzel von 8:", math.cbrt(8))      # 2.0, weil 2³ = 8
print("Kubikwurzel von 27:", math.cbrt(27))    # 3.0, weil 3³ = 27
print("Kubikwurzel von 1000:", math.cbrt(1000)) # 10.0, weil 10³ = 1000
print("Kubikwurzel von 2:", math.cbrt(2))      # Ungefähr 1.2599

# Kubikwurzel von 0
print("Kubikwurzel von 0:", math.cbrt(0))      # 0.0

Ausgabe:

8 的立方根: 2.0
27 的立方根: 3.0
1000 的立方根: 10.0
2 的立方根: 1.2599210498948732
0 的立方根: 0.0

Beispiel 2: Die Kubikwurzel einer negativen Zahl berechnen

math.cbrt()Ihre große Stärke ist, dass sie negative Zahlen korrekt verarbeiten kann, währendmath.sqrt()bei negativen Zahlen einen Fehler auslöst.

Beispiel

import math

# Kubikwurzeln negativer Zahlen berechnen
print("Kubikwurzel von -8:", math.cbrt(-8))    # -2.0, denn (-2)³ = -8
print("Kubikwurzel von -27:", math.cbrt(-27))  # -3.0, denn (-3)³ = -27
print("Kubikwurzel von -1:", math.cbrt(-1))    # -1.0

# Vergleich: sqrt kann keine negativen Zahlen verarbeiten
try:
    print(math.sqrt(-8))
except ValueError as e:
    print("math.sqrt(-8)-Fehler:", e)

Ausgabe:

-8 的立方根: -2.0
-27 的立方根: -3.0
-1 的立方根: -1.0
math.sqrt(-8) 报错: math domain error

Beispiel 3: Die Eigenschaften der Kubikwurzel überprüfen

Verwende die Kubikwurzel, um eine mathematische Eigenschaft zu überprüfen: Die dritte Potenz der Kubikwurzel von a ist gleich a selbst.

Beispiel

import math

# Die Eigenschaft der Kubikwurzel überprüfen: 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(f"cbrt({val}) = {cube_root}, sein Kubus = {result}")

# Problem mit der Gleitkommagenauigkeit
print("\nPräzisionsüberprüfung:")
print("cbrt(5)³ =", math.cbrt(5) ** 3)  # Sollte gleich 5 sein

Ausgabe:

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

Beispiel 4: Praktische Anwendung - Lösen einer kubischen Gleichung

Kubikwurzeln können verwendet werden, um kubische Gleichungen zu lösen. Zum Beispiel erhält man beim Lösen von x³ = 27 x = cbrt(27) = 3.

Beispiel

import math

# Praktisches Problem: Seitenlänge aus dem Volumen ermitteln
# Angenommen, es gibt eine würfelförmige Kiste mit einem Volumen von 1000 Kubikmetern
# Seitenlänge ermitteln
volume = 1000
side_length = math.cbrt(volume)
print(f"Ein Würfel mit einem Volumen von {volume} Kubikmetern hat eine Seitenlänge: {side_length:.4f} Meter")

# Physikalische Anwendung: Radius einer Kugel bestimmen
# Gegeben Kugelvolumen V = (4/3)πr³, finde den Radius r
# r = cbrt(V * 3 / (4 * π))
sphere_volume = 904.78  # Kugelvolumen näherungsweise berechnen
radius = math.cbrt(sphere_volume * 3 / (4 * math.Pi))
print(f"Eine Kugel mit dem Volumen {sphere_volume:.2f} hat einen ungefähren Radius: {radius:.4f}")

Ausgabe:

体积为 1000 立方米的正方体,边长为: 10.0000 米
体积为 904.78 的球,半径约为: 6.0000

Vergleich mit anderen Methoden

Inmath.cbrt()Bevor es eingeführt wurde, verwendeten wir normalerweise den Potenzoperator, um Kubikwurzeln zu berechnen:

Beispiel

import math

x = 27

# Methode 1: Verwendung von math.cbrt() (empfohlen)
result1 = math.cbrt(x)

# Methode 2: Verwendung der Potenzierung x ** (1/3)
result2 = x ** (1/3)

# Methode 3: Verwendung der pow()-Funktion
result3 = pow(x, 1/3)

print(f"math.cbrt({x}) = {result1}")
print(f"{x} ** (1/3) = {result2}")
print(f"pow({x}, 1/3) = {result3}")

# Der Fall negativer Zahlen
y = -8
print(f"\nFür negative Zahl {y}:")
print(f"math.cbrt({y}) = {math.cbrt(y)}")
print(f"{y} ** (1/3) = {y ** (1/3)}")  # Kann komplexe Zahlen erzeugen

Ausgabe:

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  # 由于运算符优先级,结果正确但不够直观

Erklärung:math.cbrt()ist die beste Wahl für die Berechnung von Kubikwurzeln, weil:

  1. Klare Semantik, gut lesbarer Code
  2. Behandelt negative Zahlen korrekt
  3. Höhere Genauigkeit, wodurch Präzisionsprobleme von Gleitkommaoperationen vermieden werden

Hinweise

  • math.cbrt()ist eine Funktion, die nur in Python 3.11+ verfügbar ist, und ältere Versionen von Python können sie nicht verwenden.
  • Für ältere Versionen können Sie verwendenx ** (1/3)oderpow(x, 1/3)stattdessen.
  • Diese Funktion gilt nur für reelle Zahlen und unterstützt keine komplexen Zahlen. Für komplexe Kubikwurzeln verwenden Sie bittecmathModul.

Python math 模块Python math-Modul

Andere Erweiterungen