虽然我知道有很多问题需要解决这个错误消息,但是我还没有找到一个帮助我解决代码以使比较正常工作的答案,我有代码
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
,而不是&
,但是这三个都会产生相同的错误,请帮助我解决
使用numpy.where。可选地,对浮点数使用指数表示法。
你关注的是从句的连词,但这是从句本身。你可能想要这样的东西:
请参阅^{} 的文档。
我可以通过将
x
定义为数组来解决我的问题,并创建一个单独评估每个x
的循环,不确定这是否是最有效的方法,但我只使用了1000次迭代,因此它工作得很好,下面是我所做的:希望它也能解决别人的问题,如果它能优化得更快,我很想学习如何。
相关问题 更多 >
编程相关推荐