如何找到函数的最大 x 值?

How to find the maximum x value of a function?

我需要找到与我使用 Python matplotlib 模块绘制的以下函数的最大 y 值关联的最大 x 值:

# Import modules
import numpy as np
from matplotlib import pyplot as plt 

# Define the function
x = np.arange(0., 1000, 0.2)
y = np.abs(-np.exp(-x/1068)+np.exp(-x/46))

# Plot
plt.title("") 
plt.xlabel("x") 
plt.ylabel("y") 
plt.plot(x,y) 
plt.grid()

因此,趋势是:

如果我这样使用max()函数:

print(max(y))

它仅打印最大 y 值(在本例中等于 0.8306243772229114)。我该怎么做才能获得最大 x 值?

如果 x 是一个 np.array 并且您想找到与最大值 y 关联的 x,您可以使用 np.argmax.

x_max = x[np.argmax(y)]