Как заполнить между х и двумя функциями (пересечение)?

1

Как я могу заполнить пересечение двух функций?

У меня есть это:

Изображение 174551

Мне нужно пересечение между f1 и f2 (min (f1, f2)). Как это:

Изображение 174551

Вот мой код:

import matplotlib.pyplot as plt
import numpy as np

x = np.array(np.linspace(0, 10, 1000))
f1 = eval('-x+10')
f2 = eval('x')
plt.plot(x, f1, label='f1')
plt.plot(x, f2, label='f2')
plt.fill_between(x, f1, f2, alpha=.5)
plt.legend()
plt.show()
Теги:
matplotlib
intersection
fuzzy

1 ответ

1
Лучший ответ

Ваша проблема сводится к тому, что можно найти элементарный минимум f1 и f2. У Numpy есть numpy.minimum который делает именно это. Таким образом, следующий код дает желаемый сюжет:

import matplotlib.pyplot as plt
import numpy as np

x = np.array(np.linspace(0, 10, 1000))
f1 = eval('-x+10')
f2 = eval('x')
f3 = np.minimum(f1, f2)
plt.plot(x, f1, label='f1')
plt.plot(x, f2, label='f2')
plt.fill_between(x, f3, alpha=.5)
plt.legend()
plt.show()

Изображение 174551

  • 0
    Отлично спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню