sympy ライブラリを使用して Python で方程式を解く

1 sympy ライブラリの概要

sympy ライブラリは、Python 言語をベースとした記号数学計算システムであり、数値の代わりに記号を使用して数学的問題を処理するのが特徴です。

2 シンボリック変数

sympy ライブラリは数学的な問題をシンボルで扱うため、sympy ライブラリを使用する際には未知数を表すシンボルを定義する必要があり、この定義されたシンボルをシンボル変数と呼びます。数学式はこのシンボリック変数で表すことができます。sympy ライブラリのSymbols() 関数を使用してシンボル変数を定義します。コードは次のとおりです。

from sympy import *
x = symbols('x')

このうち、変数 x はシンボル変数であり、シンボル「x」を表します。また、symbols() 関数を使用して複数のシンボル変数を定義することもできます。コードは次のとおりです。

x, y, z = symbols('x, y, z')

3 方程式を解く

シンボリック変数を定義すると、方程式をシンボリック変数で表すことができます。

3.1 1 つの変数で線形方程式を解く

単項一次方程式「2x-3=5」は、シンボリック変数を使用して「2*x-3-5」と表現でき、sympy のsolve()関数を使用して方程式を解くと、コードは次のようになります。

>>> ex = 2*x-3-5
>>> solve(ex, x)
[4]

solve() 関数の最初のパラメーターはシンボリック変数で表される方程式を表し、2 番目のパラメーターはシンボリック変数を指定します。得られる結果はリストであり、リスト内の要素は方程式の解です。

3.2 1 つの変数で二次方程式を解く

二項一次方程式「x2-2x+3=2」の場合、解のコードは次のとおりです。

>>> ex = x**2-2*x+3-2
>>> solve(ex, x)
[1]

2 つの変数におけるこの一次方程式の解は 1 です。

3.3 連立方程式を解く

連立方程式「2x-y=3 3x+y=7」の場合、次のコードを使用して解きます。

>>> x, y = symbols('x, y')
>>> ex1 = 2*x-y-3
>>> ex2 = 3*x+y-7
>>> solve([ex1, ex2], [x, y])
{x: 2, y: 1}

このうち、連立方程式を解く場合、solve() 関数の最初のパラメータはリストとして設定され、リスト内の各要素は連立方程式の各方程式を表し、2 番目のパラメータもリストとして設定されます。とリスト内の要素 各要素は方程式系の未知数を表します。

sympy ライブラリがインストールされていない場合は、コンソールで pip install sympy コマンドを使用してインストールする必要があることに注意してください。

おすすめ

転載: blog.csdn.net/hou09tian/article/details/131966374