Pythonで方程式を解く方法

Python

本記事ではPythonで方程式を解く方法を紹介します。
Pythonで方程式を解くにはSymPyライブラリを使用します。

SymPyをインストールする

Pythonで方程式を解くためにSymPyというライブラリをインストールします。
SymPyは代数計算ができます。方程式の計算以外にも、微分、積分、分数、漸化式など様々な計算が可能です。

pip install sympy

SymPyで方程式を解く

いよいよ、SymPyで方程式を解いてみましょう。試しに、

  • 一次方程式
  • 二次方程式
  • 三次方程式

の三つを解いてみましょう。

一次方程式

まずはPythonで一次方程式を解いてみます。
次の方程式を解いてみましょう。

\begin{eqnarray} 2x+1&=&7 \end{eqnarray}

先にコードを紹介すると次の通りです。

# ①ライブラリのインポート
import sympy

# ②変数の定義
x = sympy.Symbol('x') 

# ③式の定義
equation = 2*x+1-7

# ④式を解く
print(sympy.solve(equation))

コードの解説は以下の通りです。

一次方程式を解くための手順
  • ライブラリのインポート

    sympyをインポートします。

  • 変数の定義

    使用する変数を定義します。今回はxが該当します。

  • 式の定義

    式を定義します。その際に、式 = 0の形式にします。
    今回の場合は、\begin{eqnarray} 2x+1&=&7 \end{eqnarray}
    から、\begin{eqnarray} 2x+1-7&=&0 \end{eqnarray}
    へ変形し、そのあとにコードにします。

  • 式を解く

    sympy.solveで式を解きます。

以上の手順を実行すると、下記の結果を出力します。

[3]

二次方程式

続いてPythonで二次方程式を解いてみます。
次の方程式を解いてみましょう。

\begin{eqnarray} 2x^2+x&=&6 \end{eqnarray}

コードを紹介すると次の通りです。

# ①ライブラリのインポート
import sympy

# ②変数の定義
x = sympy.Symbol('x') 

# ③式の定義
equation = 2*x**2+x-6

# ④式を解く
print(sympy.solve(equation))

コードの解説は以下の通りです。

二次方程式を解くための手順
  • ライブラリのインポート

    sympyをインポートします。

  • 変数の定義

    使用する変数を定義します。今回はxが該当します。

  • 式の定義

    式を定義します。その際に、式 = 0の形式にします。
    今回の場合は、\begin{eqnarray} 2x^2+x&=&6 \end{eqnarray}
    から、\begin{eqnarray} 2x^2+x-6&=&0 \end{eqnarray}
    へ変形し、そのあとにコードにします。

  • 式を解く

    sympy.solveで式を解きます。

以上の手順を実行すると、下記の結果を出力します。

[-2, 3/2]

三次方程式

最後にPythonで三次方程式を解いてみます。
次の方程式を解いてみましょう。

\begin{eqnarray} x^3+2x^2-5x&=&6 \end{eqnarray}

コードを紹介すると次の通りです。

# ①ライブラリのインポート
import sympy

# ②変数の定義
x = sympy.Symbol('x') 

# ③式の定義
equation = x**3 + 2*x**2 - 5*x - 6

# ④式を解く
print(sympy.solve(equation))

コードの解説は以下の通りです。

三次方程式を解くための手順
  • ライブラリのインポート

    sympyをインポートします。

  • 変数の定義

    使用する変数を定義します。今回はxが該当します。

  • 式の定義

    式を定義します。その際に、式 = 0の形式にします。
    今回の場合は、\begin{eqnarray} x^3+2x^2-5x&=&6 \end{eqnarray}
    から、\begin{eqnarray} x^3+2x^2-5x-6&=&0 \end{eqnarray}
    へ変形し、そのあとにコードにします。

  • 式を解く

    sympy.solveで式を解きます。

以上の手順を実行すると、下記の結果を出力します。

[-3, -1, 2]
楽天Kobo電子書籍ストア
¥2,750 (2025/03/14 23:06時点 | 楽天市場調べ)
\楽天ポイント4倍セール!/
楽天市場
タイトルとURLをコピーしました