この記事では、Python で方程式を解くテクニック (コード例) を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。
numpy を使用して方程式を解くのは少し複雑で、行列思考を使用する必要があります。行列もしっかり勉強してないし、numpyでは非線形方程式が解けないので…やり方も分かりません!
sage や z3 には劣りますが、方程式を解くのも得意です。
from sympy import * x = symbols('x') y = symbols('y') res = solve([x+y-3,x-y-1],[x,y])[0] print(res)
sage は線形方程式と非線形方程式の両方を解くことができます。方程式を解く世界ではアーティファクトと呼ぶことができます。ただし、式は次のようなビット演算をサポートしていません: AND またはそうではなく、剰余と XOR です。ビット演算が発生する方程式は、z3 を使用して制約を作成することによってのみ解くことができます。 sage の利点も明らかです。式がシンプルで書きやすく、計算速度が速いです。
Online sagesolver
var('x y') solve([x**3+y**2+666==142335262,x**2-y==269086,x+y==1834],[x,y])
z3 は制約ソルバーとも呼ばれ、どんな方程式も問題なく解くことができます。ただし、Windows はインストールが簡単ではないため、基本的に linux
で実行します。python2 と python3 の両方がサポートされています。これを使用するアイデアは非常に簡単です。
まず、必要な型のシンボリック変数を作成します。
次に、制約、
制約を追加
以上がPython で方程式を解くテクニックの紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。