Я звоню функцию obtainingparams
рекурсивно и требуют, чтобы значение для residuals
, tau_1
и tau_2
, в коде ниже, от каждого вызова хранится где-то, так что я могу затем сравнить значения, связанные с каждым вызовом функции. Однако я не слишком уверен, как это сделать.Сохранение значения от вызова рекурсивной функции
def obtainingparams(self, df, tau_1, tau_2, residuals):
print('Calculate the yields Matrix and matrix_of_params in this part')
params = np.linalg.lstsq(matrix_of_params,yields)
residuals = np.sqrt(((yields - matrix_of_params.dot(params))**2).sum())
tau_1 = tau_1 + 0.2
tau_2 = tau_2 + 0.2
#Checkin how many times the function has been called via a decorator not included in this code
while self.obtainingparams(self, df, tau_1, tau_2, residuals).called < 5:
self.obtainingparams(self, df, tau_1, tau_2, residuals)
Спасибо
Как я мог это сделать, если бы я не хотел использовать рекурсию? – user131983
У меня, вероятно, были бы 'getparams' return' tau_1', 'tau_2' и' остатки', а затем вызывать их в цикле. Вам все равно нужен список для отслеживания параметров, используемых каждый раз. Каждая итерация цикла, вы бы назвали 'getparams' последним элементом в списке. То, как вы делаете это сейчас, отлично, но вы не получаете много преимуществ от рекурсии. – ezig