0

我有 A 数组的下一个数字序列(是数组 1D )

  1. -1.7654142212e-06
  2. 7.0737426918e-07
  3. 1.63230254789e-06
  4. 1.88255344022e-06
  5. 5.00966829007e-06
  6. 1.88631278169e-06
  7. -4.08751917695e-06
  8. 9.12971786351e-07
  9. 5.33615185204e-06
  10. -1.01338496378e-05

是 100 个值,只是说只有 10 个。

我需要一个调用这些数字的函数。

编辑

使用 x, x= np.linspace(0,1000,10)

我使用了 scipy.interpolate.interp1d 并且它的效果不太好......

编辑

插值取第一个和最后一个值,并进行近似。在我的情况下,这些值太小了,准确性很重要。此外,A 值在每个 x 步上都在变化,足以在几次迭代后导致错误。

所以如果我们的数组是

A = ((-1.7654142212e-06 , ....,-1.01338496378e-05 ))`

我需要一个函数来像这样工作:

编辑

ea A_FUNCTION(0) = -1.7654142212e-06 ....

在主脚本或第二个脚本的另一个函数中调用我想要的任何值,而不调用该值的近似值(对于 x 的特定#number)。

4

1 回答 1

1

为什么不创建一个接受两个输入的函数:一个数组和数字

In [15]: A
Out[15]: 
array([-4611686018427387904, -4611686018427387904,                    7,
                          0, -4611686018427387904,  5764616295532855496,
       -4611686018427387899, -4611686018427387904,                    4,
           1407374883553280])

In [16]: def grab_item(array,number):
   ....:     return array[number]
   ....: 

In [17]: grab_item(A,8)
Out[17]: 4

在大量评论之后,这是我相信您希望通过使用此功能的示例:

In [24]: x = np.linspace(0,1000,100)

In [25]: grab_item(x,9)
Out[25]: 90.909090909090907
于 2013-05-02T21:28:19.437 回答