2014-10-09 42 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