我已經擬合了一組數據點的曲線。我想知道如何找到我的曲線的最大點,然後我想註釋這一點(我不想用我的數據中最大的y值來做到這一點)。我不能完全寫我的代碼,但這是我的代碼的基本佈局。查找曲線scipy的最大值
import matplotlib.pyplot as plt
from scipy.optimize import curve_fit
x = [1,2,3,4,5]
y = [1,4,16,4,1]
def f(x, p1, p2, p3):
return p3*(p1/((x-p2)**2 + (p1/2)**2))
p0 = (8, 16, 0.1) # guess perameters
plt.plot(x,y,"ro")
popt, pcov = curve_fit(f, x, y, p0)
plt.plot(x, f(x, *popt))
還有沒有辦法找到峯寬?
我錯過了一個簡單的內置函數可以做到這一點嗎?我可以區分這個函數並找出它的零點嗎?如果是這樣如何?
你試過'最大(Y )'或'y.max()'如果'y'是一個numpy數組? –
它是一個數組,但我被要求找到曲線的最大值而不是數組中的最大數據點。 – skitt1z1
這與編程無關。這是純粹的數學。要查找函數的最大值,需要計算其導數 –