Scipy.optimize.curve_fit kullanarak histogramım için uygun bir eğri yapmaya çalışıyorum. Burada üzerinde çalışıyorum örnek kod:Scipy.optimize.curve_fit işlevi nasıl tanımlanır?
x, y (aynı zamanda histogram çıktı) o binned x tekabül eden ağırlığı binned x değeri (ki histogram çıkış) olan birdef gaussian(x,a,b,c):
return a * exp(-(x - b)**2/c**2)
def curvefit(gaussian, x, y,sigma):
popt, pcov = curve_fit(gaussian, x, y, p0 = [1, mean, sigma])
image = plt.plot(x, gauss_function(x, *popt), label='fit')
.
global name 'a' is not defined
Ve bu hata uyandırmak ama bunu düzeltmek için bir yol bulamıyorum neden anlamıyorum: kod çalışırken, bir hata almaya devam. Curve_fit, callable işlevi olarak 1. parametreye sahip olduğundan, bunu Python'da nasıl tanımlayacağımı bilmiyorum (program, gauss fonksiyonumun değerini bir değer olarak okuyor gibi görünüyor). Çok teşekkür ederim.
Bunu denediğimde, 'mean'ı tanımlamam ya da 'curvefit' parametresine bir parametre olarak aktarmalıyım, yoksa' mean' undefined olduğu bir hata alıyorum. Bunu denedin mi? Ayrıca, 'gauss_function' gaussian' olması gerekiyordu? –
Lütfen hatayı üreten eksiksiz bir çalışma örneği sağlayın. – egpbos