我尝试使用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
有人可以帮助我吗?非常感谢!!