以下のPythonソースコードは変数5つの5元連立方程式を解くものです。
実行すると解は以下のように表示されます。
[{a: 2.20873478523683, b: -3.06122464206139 - 1.35525271560688e-20I, c: 1.472
48985682455 + 0.e-20I, d: 0.096, e: 0.144}, {a: -1.15104515778236 + 2.0328790
7341032e-20I, b: 2.53840859630394 - 2.71050543121376e-20I, c: -0.76736343852
1576 + 0.e-20I, d: 0.096, e: 0.144}, {a: 9.7309770392122 - 2.16840434497101e-
19I, b: -15.5982950653537 + 0.e-22I, c: 6.48731802614147 - 0.e-21I, d: 0.09
6, e: 0.144}]
a,b,c,d,e の解は3組あるようです。
ただこの表示だと見づらいので3組の解を改行してわかりやすく表示したいのですが、
やり方がわかりません。
わかる方、ご教授願いたいです。
また上記の解を用いて別の式の展開を行うことはできないでしょうか?
(ex) a+b+c-0.62 = ?
exp2の式が0になるかを確かめたいです。
ただ連立方程式で出した解を別の式で扱う方法がわかりません。
こちらもわかる方は教えていただきたいです。
よろしくお願い致します。
Python
1from sympy import Symbol 2from sympy import solve 3from sympy import pprint 4 5a = Symbol('a'); 6b = Symbol('b'); 7c = Symbol('c'); 8d = Symbol('d'); 9e = Symbol('e'); 10 11exp1 = a+b+c-d*a*b-d*a*c-e*a*c-e*b*c+d*e*a*b*c-1; 12exp2 = a+b+c-0.62; 13exp3 = d+e-0.24; 14exp4 = d*a-e*c; 15exp5 = e-1.5*d; 16 17pprint(solve((exp1,exp2,exp3,exp4,exp5),dict=True)); 18 19

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。