2014-10-09 40 views
0

我想計算一個變量(程序中'w'),通過計算等於零的矩陣(女巫包括變量)的確定。但我不知道爲什麼它不適用於l = 0.01,但適用於l = 0.0。 我使用Sympy的7.4.1版本,如果sombody回答我會很高興!在sympy中解決函數(python)

from sympy import * 
import random as ra 

w = Symbol('w') 
l=0.01 
d1=ra.uniform(-l,l) 
d2=ra.uniform(-l,l) 
d3=ra.uniform(-l,l) 
d4=ra.uniform(-l,l) 
d5=ra.uniform(-l,l) 
d6=ra.uniform(-l,l) 
S = Matrix([[ -d1*w**2 - w**2 + 2.,-1,0,0,0], 
      [-1.,-d2*w**2 - w**2 + 2.,-1,0,0], 
      [0,-1.,-d3*w**2 - w**2 + 2.,-1,0], 
      [0,0,-1.,-d4*w**2 - w**2 + 2.,-1], 
     [0,0,0,-1.,-d5*w**2 - w**2 + 2.] 
    ]) 


    determ = S.berkowitz_det() 
    wha = solve(determ,w) 
    print wha 
+0

它不起作用? – asmeurer 2014-10-11 00:26:33

+0

我不知道你的意思,你嘗試過嗎? – user3109979 2014-10-12 09:30:07

+0

包含有關如何在您的問題中不起作用的更多信息。不要求人們運行你的代碼來看看發生了什麼。否則,您的問題可能因質量太差而關閉。 – asmeurer 2014-10-13 01:34:07

回答

1

嘗試使用solve(determ, w, rational=False)

+0

非常感謝。 – user3109979 2014-10-11 21:26:33