Python函数将调用1D向量值

时间:2013-05-02 20:05:19

标签: python arrays function scipy interpolation

我有下一个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
  11. 是100个值,只是说只有10个。

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

    修改

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

    我使用了scipy.interpolate.interp1d并且它工作得不好......

    修改

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

    所以如果我们的数组是

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

    我需要一个像这样工作的功能:

    修改

    E.A。 A_FUNCTION(0)= -1.7654142212e-06 ....

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

1 个答案:

答案 0 :(得分: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