хотя я знаю, что есть разные вопросы, ищущие решения для этого сообщения об ошибке, мне еще предстоит найти ответ, который поможет мне решить мой код, чтобы заставить сравнение работать, у меня есть код
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
- это массив. Вы хотите, чтобыf
выполнял одно действие, если некоторые/всеx
попадают в один диапазон, и другое, если они не попадают? Или вы хотите, чтобы он делал одно действие со значениямиx
, попадающими в один диапазон, и другое — с другими значениямиx
? Другими словами, применяется ли тестif
ко всемуx
или к отдельным элементам? - person hpaulj   schedule 30.06.2015x
по отдельности? - person hpaulj   schedule 30.06.2015