【SymPy・Python】方程式の解き方Eq()、solve()の使い方について


はるか
SymPyはPythonで数式処理をするライブラリ。

ふゅか
複雑な方程式も解けちゃうし、使いやすいよね!
目次
1. SymPyと方程式
Pythonの数式処理ライブラリ「SymPy」を使用すると、複雑な方程式を簡単に解くことができます。この記事では、SymPyの基本的な関数の構文も含め、具体的な方程式を解く方法をわかりやすく解説します。
2. Eqの基本構文
方程式を定義するには、Eq
を使います。方程式の左辺と右辺を指定して、等式を表現できます。
Eq(left, right)

ふゅか
方程式を定義するときは、
Eq
を使うのよね。たとえば、2x + 3 = 7 みたいな。
はるか
そう。
Eq(left, right)
。左右を指定するだけ。簡単。2.1. Eqの例
from sympy import symbols, Eq
x = symbols('x')
equation = Eq(2*x + 3, 7) # 方程式 2x + 3 = 7 を定義
3. solveの基本構文
方程式の解を求めるには、solve
関数を使います。solve
関数は、解をリスト形式で返します。
solve(expression, x)
- expression: 解きたい方程式(
Eq
で定義した等式)。 - x: 方程式の中で解きたい変数。

はるか
解くには
solve
。リスト形式で結果が返る。
ふゅか
例えば、xを解きたい場合は、
solve(expression, x)
ね!3.1. solveの例
from sympy import symbols, Eq, solve
x = symbols('x')
equation = Eq(2*x + 3, 7) # 方程式 2x + 3 = 7 を定義
solution = solve(equation, x) # xについて解く
print(solution) # 結果: [2]
4. 方程式を解く方法
4.1. 一次方程式
以下の一次方程式を解いてみます。
$$4x + 3 = 7$$
from sympy import symbols, Eq, solve
# シンボルを定義
x = symbols('x')
# 方程式を定義
equation = Eq(4*x + 3, 7)
# 方程式を解く
solution = solve(equation, x)
print(solution)
解は $x=1$です。
4.2. 二次方程式
SymPyを使えば、二次方程式も簡単に解けます。
$$x^2 - 4x + 3 = 0$$
from sympy import symbols, Eq, solve
# シンボルを定義
x = symbols('x')
# 方程式を定義
equation = Eq(x**2 - 4*x + 3, 0)
# 方程式を解く
solution = solve(equation, x)
print(solution)
[1, 3]
解は$x=1$ と $x=3$です。
4.3. $\sin(x) = 0.5$
from sympy import symbols, Eq, sin, solve
x = symbols('x')
# 方程式を定義
equation = Eq(sin(x), 0.5)
# 方程式を解く
solution = solve(equation, x)
print(solution)
PR