Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 以numpy格式提取数值数组函数的值_Python_Numpy - Fatal编程技术网

Python 以numpy格式提取数值数组函数的值

Python 以numpy格式提取数值数组函数的值,python,numpy,Python,Numpy,如果我用两个数组定义一个函数,例如: from numpy import * x = arange(-10,10,0.1) y = x**3 如何通过插值两个较近点y(5)和y(5.1)的值来提取y(5.05)的值?现在,如果我想找到该值,我使用以下方法: y0 = y[x>5][0] 对于x=5.1,我应该获得y的值,但我认为存在更好的方法,而且可能是正确的方法。如果线性插值足够,则有: >>> import numpy as np >>> x =

如果我用两个数组定义一个函数,例如:

from numpy import *
x = arange(-10,10,0.1)
y = x**3
如何通过插值两个较近点y(5)和y(5.1)的值来提取y(5.05)的值?现在,如果我想找到该值,我使用以下方法:

y0 = y[x>5][0]
对于
x=5.1
,我应该获得
y
的值,但我认为存在更好的方法,而且可能是正确的方法。

如果线性插值足够,则有:

>>> import numpy as np
>>> x = np.arange(-10, 10, 0.1)
>>> y = x**3
>>> np.interp(5.05, x, y)
128.82549999999998
>>> 5.05**3
128.787625
scipy
中有一系列用于插值的工具:

导入scipy.interpolate >>>f=scipy.插值.单变量样条线(x,y) >>>f >>>f(5.05) 阵列(128.7876250000025)
在numpy/scipy中有一个用于此的函数

import numpy as np
np.interp(5.05, x, y)

5.05**3
?;)​​​​​​你是对的,但我会在其他更复杂的函数中使用它;)非常感谢。这是一个微不足道的问题。。。我不知道
interp
函数
单变量样条线(x,y,s=0)
会精确插值,即
f(x)=y
。(注意:如果使用
s>0
平滑,
s
值必须使用
y
缩放)
import numpy as np
np.interp(5.05, x, y)