在Python中将scipy interp1d数组转换为浮点值

2024-06-10 06:53:29 发布

您现在位置:Python中文网/ 问答频道 /正文

在我当前的项目中,我目前有一个转换问题: 第一步,我用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中不可能)。。。在

提前感谢您的帮助!!在


Tags: 项目函数列表错误scipy数组real插值
2条回答

您没有指定使用哪个Python版本,但是如果您使用python2.7,那么操作符/代表整数除法。这意味着1/15将生成0。不管如何访问数组值,与此结果相乘的结果将为0。在

要解决此问题,请确保至少有一个操作数是浮点数。在

result1 = 1/15 # Produces 0
result2 = 1.0/15 # Produces 0.06666666666666667

如果将此应用于代码,则应使用

^{pr2}$

你在用python2吗?如果是这样的话,问题在于分工。 整数除法将产生一个整数,因此1/15将产生{}。 请改为尝试1.0/15。通过使用1.0将其显式地设为浮点,则结果将如预期的那样。在

相关问题 更多 >