Кусочно-линейная функция
можете подсказать в чем может быть проблема,что идет неправильно вывод графика кусочно-линейной функции?
import numpy as np
from matplotlib import pyplot as plt
x=float(input("enter x="))
def func(x):
if -10<=x<-5:
return -8*x-7
elif -5<=x<-3:
return -6*x+3
elif -3<=x<-2:
return -5*x+6
elif -2<=x<2:
return -2*x+11
elif 2<=x<8:
return 0.5*x+6
elif 8<=x<=15:
return 5*x+30
x=np.linspace(-10,15,200)
y = np.vectorize(func, otypes=[float])#возвращает ссылку на "векторизированную" функцию.
graph1 = plt.plot(x, y(x))
а вот что он должен выводить какой график:

Ответы (1 шт):
Автор решения: MarianD
→ Ссылка
Когда ваша проблема заключается в том, что функция прерывна, но график непрерывный, вы можете нарисовать две частичные функции в тот же самую систему координат (объект типа axes)
Замените последние 3 строки вашей программы на
y = np.vectorize(func) # возвращает ссылку на "векторизированную" функцию.
__, ax = plt.subplots() # __ вместо fig, т.к. это имя дальше не используется
x = np.linspace(-10, 7.999, 200) # Первый интервал
ax.plot(x, y(x), color="b")
x = np.linspace(8, 15, 200) # Второй интервал
ax.plot(x, y(x), color="b")


