在 Colab 筆記本裡呈現更美觀的數學式
在 SymPy 做數學符號運算時,輸出的數學式預設是以文字或符號來表示。
例如,我們輸出以下的式子:
from sympy import *
# Define the variable
x = Symbol("x")
print(sqrt(x**2 - 5) / 3 )
sqrt(x**2 - 5)/3
在上面的輸出,Python 是以 sqrt()
代表平方根。
如果要以較直觀的數學式來呈現,可以用以下的方法,先將文字的數學式轉換成 LaTeX 格式,再以 Math()
產生較美觀的式子。
from sympy import *
from IPython.display import Math, display
# Define the variable
x = Symbol("x")
result = sqrt(x**2 - 5) / 3
# 將文字數學式轉換為 LaTeX 格式
result_latex = latex(result)
# 再以較美觀的數學式呈現
display(Math(result_latex))
\(\displaystyle \frac{\sqrt{x^{2} - 5}}{3}\)
我們也可以把它應用在用 solve()
計算的方程式的答案。
from sympy import *
from IPython.display import Math, display
# Define the variable
x = Symbol("x")
# Create the equation
equation = Eq(x**2 - 5*x + 8, 0)
# Solve the equation
solution = solve(equation, x)
print(solution)
[5/2 - sqrt(7)*I/2, 5/2 + sqrt(7)*I/2]
原本的解是用文字表示,我們可以把它用更美觀的格式呈現。
# 將解轉換為 LaTeX 格式
solution_latex = latex(solution)
# 再以較美觀的數學式呈現
display(Math(solution_latex))
\(\displaystyle \left[ \frac{5}{2} - \frac{\sqrt{7} i}{2}, \ \frac{5}{2} + \frac{\sqrt{7} i}{2}\right]\)
另一種方式,是用 solveset()
來計算方程式的解,所得到的結果也會直接以較直觀的格式呈現。
from sympy import *
# Define the variable
x = Symbol("x")
# Create the equation
equation = Eq(x**2 - 5*x + 8, 0)
solveset(equation, x)
\(\displaystyle \left\{\frac{5}{2} - \frac{\sqrt{7} i}{2}, \frac{5}{2} + \frac{\sqrt{7} i}{2}\right\}\)