在Python 2.6中使用scipy.optimize.fsolve时出现TypeError

时间:2015-02-06 03:30:46

标签: python scipy decimal

我尝试使用fsolve方法解决一个非常复杂的非线性方程,但面临一个我无法使用十进制模块的问题......

错误讯息: TypeError:根据规则'safe'

,无法将数组数据从dtype('O')转换为dtype('float64')

代码:(我已经简化了fun()。)

from scipy.optimize import fsolve
from decimal import Decimal, localcontext

def fun(x, *data):
    a, b = data
    return x**a + b*x**Decimal(str(0.5))

if __name__ == "__main__":
    a = Decimal(str(330.86/2.0))
    b =  Decimal(str(225.96/2.0))
    data = (a,b)
    EE = fsolve(func=fun,x0=Decimal(str(1)),args=data)
    print EE

有人可以帮助我吗?非常感谢!!

0 个答案:

没有答案