【发布时间】:2015-09-16 13:52:42
【问题描述】:
虽然我知道有各种问题在寻找此错误消息的解决方案,但我还没有找到可以帮助我解决代码以进行比较的答案,我有代码
def f(x,d,h,L):
ans=0.
if ((0.<=x) & (x<d)):
ans=h*(x/d)
elif ((d<=x) & (x<=L)):
ans=((L-x)/(L-d))
return ans
x=np.linspace(0,10,1000)
h=5*10**(-3)
d=16*10**(-2)
L=64.52*10**(-2)
func=f(x,d,h,L)
但是当我尝试运行它时,我得到一个指向 if 行的错误,并且标题中有错误代码,我已经尝试了类似问题中给出的建议解决方案,例如改用 np.logical_and 或 and的& 但所有三个都产生相同的错误,请帮助我
【问题讨论】:
-
x是一个数组。如果x中的任何一个/所有都在一个范围内,您是否希望f做一件事,如果他们不这样做,则做不同的事情?或者您是否希望它对位于一个范围内的x值做一件事,而对其他x值做另一件事?换句话说,if测试适用于整个x还是适用于单个元素? -
另一种方式来提出我的问题 - 如果您将
x的元素单独传递给它,该功能是否正常工作?
标签: python arrays numpy error-code