Jua*_*ldo 2 python arrays numpy error-code
虽然我知道有各种问题寻找这个错误消息的解决方案,我还没有找到一个答案,帮助我解决我的代码,使比较工作,我有代码
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)
Run Code Online (Sandbox Code Playgroud)
但是当我尝试运行它时,我得到一个错误,指向if标题中带有错误代码的行,我尝试过在类似问题中给出的建议解决方案,例如使用np.logical_and或and代替&但三者都产生相同的错误,请帮助我出
小智 5
使用numpy.where.(可选)对浮点数使用指数表示法.
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)
Run Code Online (Sandbox Code Playgroud)