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

不言
リリース: 2018-11-15 13:50:58
転載
5108 人が閲覧しました

この記事では、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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート