在我当前的项目中,我目前有一个转换问题: 第一步,我用scipy interp1d插值两个列表
f_speed = scipy.interpolate.interp1d(t, v, 'cubic')
之后,我想得到这个函数的一个具体点。这个值现在是scipy中的一个数组,其中只有一个值。在
^{pr2}$最后一步,我想用插值函数的值来计算其他值,但我只得到0作为一个值。完全没有错误。在
real_distance = currentSpeed * (1/15) # some calculations
# result: 0, all results with further calculations are zero
我需要一个从scipy数组到一个常规浮点值的转换来继续我的计算。有什么功能吗?在
我尝试了几个东西,比如V=currentSpeed[0],或者numpy中的.tolist(在scipy中不可能)。。。在
提前感谢您的帮助!!在
您没有指定使用哪个Python版本,但是如果您使用python2.7,那么操作符
/
代表整数除法。这意味着1/15
将生成0。不管如何访问数组值,与此结果相乘的结果将为0。在要解决此问题,请确保至少有一个操作数是浮点数。在
如果将此应用于代码,则应使用
^{pr2}$你在用python2吗?如果是这样的话,问题在于分工。 整数除法将产生一个整数,因此}。
请改为尝试
1/15
将产生{1.0/15
。通过使用1.0
将其显式地设为浮点,则结果将如预期的那样。在相关问题 更多 >
编程相关推荐