如何在x和两个函数(交集)之间填充?

时间:2018-08-27 23:49:24

标签: python matplotlib intersection fuzzy

如何填充两个函数之间的交点?

我有这个:

enter image description here

我需要f1和f2之间的交点(min(f1,f2))。像这样:

enter image description here

这是我的代码:

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()

1 个答案:

答案 0 :(得分:1)

您的问题简化为能够找到f1f2的元素最小值。 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()

enter image description here