Skip to content
Advertisement

How to find the maximum x value of a function?

I need to find the maximum x value associated to the maximum y value of the following function that I plot using Python matplotlib module:

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

Hence, the trend is this one:

plot

If I use the max() function in such way:

print(max(y))

It prints only the maximum y value (that in this case is equal to 0.8306243772229114). How can I do to have also the maximum x value ?

Advertisement

Answer

If x is an np.array and you want to find the x associated with the maximum y, you can use np.argmax.

x_max = x[np.argmax(y)] 
User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement