gpt4 book ai didi

python - 具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all()

转载 作者:行者123 更新时间:2023-11-28 19:55:05 25 4
gpt4 key购买 nike

虽然我知道有各种问题在寻找此错误消息的解决方案,但我还没有找到可以帮助我解决我的代码以使比较正常工作的答案,我有代码

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_andand 而不是 & 但所有三个都会产生相同的错误,请帮帮我

最佳答案

使用 numpy.where。 (可选)对 float 使用指数表示法。

import numpy as np

def f(x, d, h, L):
return np.where(x < d, h*(x/d), (L - x)/(L - d))

x = np.linspace(0,10,1000)
h = 5e-3
d = 16e-2
L = 64.52e-2

func = f(x, d, h, L)

关于python - 具有多个元素的数组的真值是不明确的。使用 a.any() 或 a.all(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31126893/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com