ホームページ  >  記事  >  バックエンド開発  >  Python で方程式を解くテクニックの紹介 (コード例)

Python で方程式を解くテクニックの紹介 (コード例)

不言
不言転載
2018-11-15 13:50:585094ブラウズ

この記事では、Python で方程式を解くテクニック (コード例) を紹介します。一定の参考価値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

numpy

numpy を使用して方程式を解くのは少し複雑で、行列思考を使用する必要があります。行列もしっかり勉強してないし、numpyでは非線形方程式が解けないので…やり方も分かりません!

sympy

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

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

z3 は制約ソルバーとも呼ばれ、どんな方程式も問題なく解くことができます。ただし、Windows はインストールが簡単ではないため、基本的に linux で実行します。python2 と python3 の両方がサポートされています。これを使用するアイデアは非常に簡単です。

  • まず、必要な型のシンボリック変数を作成します。

  • 次に、制約、

  • 制約を追加

  • #最終的に制約に解があるかどうかを判断し、変数を解決します

一般的に使用される関数を以下に示します。

以上がPython で方程式を解くテクニックの紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はsegmentfault.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。