在sympy中解决功能(python)

时间:2014-10-09 23:34:33

标签: python-2.7 sympy

我想通过计算等于零的矩阵(包括变量)的确定来计算变量(程序中的'w')。但我不知道为什么它不适用于l = 0.01但适用于l = 0.0。 我使用Sympy版本7.4.1,如果sombody回答我,我会非常高兴!

 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

1 个答案:

答案 0 :(得分:1)

尝试使用solve(determ, w, rational=False)