【Python】Sympyで対数や三角関数を記号処理して方程式を解いてみた!

🧮 Pythonで“記号のまま”計算できる世界へ|Sympy超入門

Python には、数式を 「記号として」扱いながら計算できるライブラリ が存在します。
それが Sympy(シンパイ) です。

「平方根を含む厳密解が欲しい」
「三角関数や対数を記号のまま扱いたい」
「微分・積分・方程式をプログラムで処理したい」

そんな数学処理を 誰でも数行で実現できる のが Sympy の最大の魅力。

数学が苦手な人でも、紙の代わりに Python が“綺麗な式”を返してくれるので、
一度使うと戻れなくなる強力なライブラリです。

より高度な例は 👉
3次方程式をSympyで解く記事


📘 目次


✨ Sympyでできること|“数値”ではなく“記号”で計算する世界

Sympyは、Pythonで代数・解析・方程式処理・微積分を「記号のまま」扱えるライブラリです。

  • 記号を含む式のまま解が得られる
  • 三角関数・指数関数を記号で処理
  • 方程式・連立方程式・不等式も解ける
  • 微分・積分を自動で実行

📝 変数の定義方法|まずはシンボルの作成から

Sympyでは「記号の変数」を作るところから始めます。

import sympy as sp
x = sp.Symbol('x')

📌 式を作ってみる

expr = x + 1
print(expr)  # x + 1

📌 値を代入(subs)

expr.subs(x, 1)  # 2

📌 展開・因数分解

expr = (x + 1)**2
sp.expand(expr)
sp.factor(expr)

📐 sin・cos・exp・log などの数学関数の使い方

sp.sin(x)
sp.cos(x)
sp.exp(x)
sp.log(x)

π、e、i も記号として扱えます。

sp.I, sp.pi, sp.E

🔍 方程式・連立方程式を解く

📌 方程式

sp.solve((x+1)**2)

📌 連立方程式

x, y = sp.symbols('x y')
expr1 = 2*x + y - 1
expr2 = x + 3*y + 2
sp.solve((expr1, expr2))

📚 まとめ|Sympyは“数学の紙とペン”を自動化する魔法のツール

Sympy を使えば、数学の計算を 美しく・正確に・自動で 処理できます。

  • 展開/因数分解
  • 微分・積分
  • 三角/指数/対数関数
  • 方程式・連立方程式
  • 厳密解の計算

研究・分析・教育・競技プログラミングなど、あらゆる分野で活躍します。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA