iT邦幫忙

2024 iThome 鐵人賽

0
Python

進擊的Python系列 第 36

SymPY(進擊巨人中學校)

  • 分享至 

  • xImage
  •  

進擊巨人中學校出動!

https://ithelp.ithome.com.tw/upload/images/20240922/20163257w1SNGcHvJ4.jpg

趕緊去學校吧!

https://ithelp.ithome.com.tw/upload/images/20240922/20163257FBnGF4x6uP.jpg
https://ithelp.ithome.com.tw/upload/images/20240922/20163257LbnvBDEhFv.jpg
圖片來源:(https://gnn.gamer.com.tw/detail.php?sn=122002)

https://ithelp.ithome.com.tw/upload/images/20240922/201632576hcIPlE7Ie.png
圖片來源:(https://zh.wikipedia.org/zh-tw/SymPy)

SymPy(Python符號運算強大工具)

是一個 Python 庫,專門用於符號運算。它可以處理包含變數的數學式,不僅僅是數字,可以用它來:

  • 簡化數學式:展開、因式分解、合併同類項
  • 求解方程式:包括代數方程、微分方程
  • 進行微積分運算:計算導數、積分、求極值
  • 處理矩陣運算:進行矩陣加法、乘法、求行列式、求逆矩陣
  • 繪製函數圖形:將符號運算的結果視覺化

為什麼要使用 SymPy?

  • 易學易用:SymPy語法直觀,學習成本低
  • 功能強大:它涵蓋了廣泛的數學領域
  • 完全免費:SymPy是開源軟體,可以自由使用和修改
  • 與其他 Python 庫兼容性高: 可以與 NumPy、Matplotlib 等庫結合使用,擴展功能

SymPy安裝

pip install sympy

基本用法範例

from sympy import *

# 定義符號
x, y, z = symbols('x y z')

# 建立表達式
expr = x**2 + 2*x*y + y**2

# 展開
print(expand(expr))

# 因式分解
print(factor(expr))

# 求導
print(diff(expr, x))

# 求積分
print(integrate(expr, x))

# 求解方程
print(solve(x**2 - 1, x))

微分方程求解

from sympy import dsolve, Function
f = Function('f')
eq = Eq(f(x).diff(x, 2) + f(x), sin(x))
sol = dsolve(eq, f(x))
print(sol)

矩陣運算

A = Matrix([[1, 2], [3, 4]])
B = Matrix([[5, 6], [7, 8]])
print(A * B)

繪圖

from sympy.plotting import plot
plot(sin(x), (x, -10, 10))

https://ithelp.ithome.com.tw/upload/images/20240922/20163257JZnTrqeDL1.jpghttps://ithelp.ithome.com.tw/upload/images/20240922/20163257WmGvh8RHPr.jpg
https://ithelp.ithome.com.tw/upload/images/20240922/20163257vRfMyHQfSn.jpghttps://ithelp.ithome.com.tw/upload/images/20240922/20163257qu3wF8ggB1.jpg
圖片來源:(https://gnn.gamer.com.tw/detail.php?sn=122002)

資料來源:Sympy


上一篇
完賽心得(進擊的巨人)
系列文
進擊的Python36
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言