Ich bin Neuling in Python Ich habe diesen Code ich will Unterklasse lmfit.models verwenden und eine Vermutung Methode zu implementieren,wie kann ich dieses Problem beheben ‚‘ ‚Name ist nicht definiert‘
class DecayingSineModel():
def __init__(self, *args, **kwargs):
def decaying_sine(self, x, ampl, offset, freq, x0, tau):
return ampl * np.sin((x - x0)*freq) * np.exp(-x/tau) + offset
super(DecayingSineModel, self).__init__(decaying_sine, *args, **kwargs)
def pset(param, value):
params["%s%s" % (self.prefix, param)].set(value=value)
def guess(self, data, **kwargs):
params = self.make_params()
pset("ampl", np.max(data) - np.min(data))
pset("offset", np.mean(data))
pset("freq", 1)
pset("x0", 0)
pset("tau", 1)
return lmfit.models.update_param_vals(params, self.prefix, **kwargs)
sp = DecayingSineModel()
params = sp.guess(y, x=x)
fit = sp.fit(y, params, x=x)
und ich bin recieving folgende Fehler die Fehler, die ich the image of error that i recieved is in this address
Dies ist, wie Sie Ihren Code eingerückt, weil diese es erklären kann. –
Bitte poste eine genaue Kopie deines Codes, da es momentan sehr seltsam ist ... –
Ist der Aufruf von 'super' innerhalb deiner' __init__' Methode? Mit der gebrochenen Einrückung ist es unmöglich zu sagen. Ähnlich verhält es sich mit 'sp = DecayingSineModel()' im Klassenkörper? Oder ist es außerhalb der Klasse? –