2015-04-29 31 views
-1

我的问题是,当我的_imp_功能numpy的过程中使用下面的代码不分析功能f含有NumPy的功能

class f(sympy.Function): 
    @staticmethod 
    def _imp_(x): 
     return numpy.sin(x) # shows f(0.1) 
     # return sympy.sin(x) # shows 0.0998334166468282 

print f(0.1) 

数字sympy.function评价。但是,当我仅使用sympy时,它运行良好。这里有什么不对?

回答

0

没有什么不对。

精度是由于浮点数。

检查herehere,您可以在其中设置精度。

+0

嗯..我不需要改变浮点运算的精度。我只需要在数值上评估函数的值。我希望'print f(0.1)'显示数字结果,而不是符号。 –

+0

@Maksim Surov:但sympy给你的数值结果..它只是不如蟒蛇'准确'。 – George

+0

'sympy.sin'给出结果。但我的问题是为什么'numpy.sin'没有给出结果。无论如何,我找到了答案。 –

0

的显式类型转换固定我的问题:

def _imp_(x): 
    return numpy.sin(float(x))