Я использую Matplotlib и Numpy для создания сюжетов. Я хочу определить функцию, которая для данного массива возвращает другой массив со значениями, вычисленными поэлементно , например:
def func(x):
return x*10
x = numpy.arrange(-1,1,0.01)
y = func(x)
Это нормально. Однако теперь я хочу иметь оператор if внутри func
, например:
def func(x):
if x<0:
return 0
else:
return x*10
x = numpy.arrange(-1,1,0.01)
y = func(x)
Это, к сожалению, вызывает следующую ошибку
Traceback (most recent call last):
File "D:\Scripts\test.py", line 17, in
y = func(x)
File "D:\Scripts\test.py", line 11, in func
if x<0:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
. Я просмотрел документацию для all ()
и any ()
, и они не подходят для того, что мне нужно. Так есть ли хороший способ сделать массивы дескрипторов функций поэлементными, как в первом примере?