Мне нужно было построить самодельную сегментированную функцию, определенную следующим образом:
import numpy as np
import matplotlib.pyplot as plt
def f(x):
if x >=0 and x <=1:
return 2*np.sqrt(x)
elif x > 1:
return 1+x
x = np.linspace(0.0, 100)
plt.plot(x, f(x))
plt.show()
Сообщение об ошибке было:
ValueError: Значение истинности массива с более чем одним элементом неоднозначно. Используйте a.any () или a.all ()
Затем я последовал предложению Python и изменил реализацию функции следующим образом:
def f(x):
if x.all() >=0 and x.all() <=1:
return 2*np.sqrt(x)
elif x.all() > 1:
return 1+x
На этот раз фигура появилась, но не та кривая, которую предназначала определенная функция. Это неправильная кривая. Он только что построил часть 2 * np.sqrt (x). Я действительно могу использовать некоторую помощь, и большое спасибо любому, кто протягивает руку.