我对编程很陌生,我不知道如何使用Numpy数组在函数中进行操作,比如P**2
。在
import math
import numpy
span_x = numpy.array([0,250,500,750,1000])
P = span_x
example = P**2
span_y = [example for i in P]
y = float(input("Enter y: "))
bracket1 = min(span_y, lambda span_y: abs(span_y-y))
if bracket1 < y:
for i in span_y:
bracket2 = span_y[span_y.index(bracket1) + 1]
else:
for i in span_y:
bracket2 = span_y[span_y.index(bracket1) - 1]
print "Brackets: ", bracket1, bracket2
我尝试不使用Numpy数组,但收到了一个TypeError。在
我的主要问题是我有一个x值数组(span_x
),我想把它放入一个类似P**2
的函数中,然后在数组中得到y值(span_y
)。然后,用户输入一个y值,我要检查span_y
中哪个y值最接近这个输入,那就是bracket1
。bracket2
是第二个最近的y值。我很乐意帮忙!在
在NumPy中,您可以而且应该将操作矢量化,例如:
span_y
是1D数组的列表,因此min
无法按预期工作并返回函数。之后,span_y.index(bracket1)
引发一个异常。span_y
应该这样初始化将
^{pr2}$min
中的键函数(lambda)作为指定参数传递给in documention。在相关问题 更多 >
编程相关推荐