iT邦幫忙

1

用 SymPy 產生數學公式

前言

這陣子在整理數學筆記時,常要在 Jupyter Notebook 輸入 Latex 語法,如下:

$\int \left(2 x^{2} + 3 x + 2\right)\, dx$

以產生美美的數學式如下:
https://chart.googleapis.com/chart?cht=tx&chl=%5Cint%20%5Cleft(2%20x%5E%7B2%7D%20%2B%203%20x%20%2B%202%5Cright)%5C%2C%20dx

但是要記住這些關鍵字,對老人家實在太痛苦了,因此,求助谷大神,發覺使用 SymPy 產生數學公式,不失為一個好方法。

作法

打開Jupyter Notebook 輸入程式碼如下:

import sympy
from sympy import init_printing, Integral, Symbol, latex

# 定義變數 x
x = Symbol('x')

# 設定多項式
expr1 = 2*x**2 + 3*x + 2

init_printing(use_latex='mathjax')

# 積分一下
print("顯示數學式")
Integral(expr1, x)

顯示如下:
https://chart.googleapis.com/chart?cht=tx&chl=%5Cint%20%5Cleft(2%20x%5E%7B2%7D%20%2B%203%20x%20%2B%202%5Cright)%5C%2C%20dx

在上式按滑鼠右鍵,選Show Math As>Tex Commands,複製到另一個空格,前後加$即可,設置該空格為Markdown,內容如下:

$\displaystyle \left( \int \left(2 x^{2} + 3 x + 2\right)\, dx, \  \frac{2 x^{3}}{3} + \frac{3 x^{2}}{2} + 2 x\right)$

加 \displaystyle 有放大效果。

加強一下

懶的複製,可以直接用程式碼產生Latex。

print(f'$\displaystyle {latex(Integral(expr1, x))} $')

複製到另一個空格,設置該空格為Markdown,貼上測試成功,Ya!

在iT邦幫忙輸入數學式

如法炮製,先在工具列選擇『加入數學公式』,如下:
https://ithelp.ithome.com.tw/upload/images/20200323/20001976RpCZvXQqRC.png

不用加工,直接貼入即可。

\left( \int \left(2 x^{2} + 3 x + 2\right)\, dx, \  \frac{2 x^{3}}{3} + \frac{3 x^{2}}{2} + 2 x\right)

SymPy 真是一個好東東,既可以解數學題目,又可以幫助文件製作,力推。


圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言