前提・実現したいこと
SymPyを使って、特定の変数について連立方程式を解こうと思っています。
例)
以下のような連立方程式があるとして、c,dについて解きたい
a=c+d
b=c-d
答えは以下です
c=(a+b)/2
d=(a-b)/2
発生している問題・エラーメッセージ
上記について、SymPyを使って解くと以下のように
{d: 0, c: 0}となってしまいます。
該当のソースコード
Python
1>>> from sympy import * 2>>> a=Symbol('a') 3>>> b=Symbol('b') 4>>> c=Symbol('c') 5>>> d=Symbol('d') 6>>> a=c+d 7>>> b=c-d 8>>> h=solve([a,b],[c,d]) 9>>> print(h) 10{d: 0, c: 0}
試したこと
WolframAlphaで同様の式を試しましたが、ちゃんと数式処理的に解いてくれました。
WolframAlpha
1solve[{a==c+d,b==c-d},{c,d}]
上記の結果は、
c=(a+b)/2
d=(a-b)/2
###ご質問
SymPyでは、WolframAlphaのように連立方程式の解を変数で表せないのでしょうか?
もし表せるとしたらどうしたらよいでしょうか?
もし良ければお教えください。
よろしくお願い致します。
補足情報(FW/ツールのバージョンなど)
環境 Visual Studio Community 2017
Python3.6.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/21 22:18