Я построил некоторые экспериментальные данные в Python, и мне нужно найти кубическую подгонку к данным. Причина, по которой мне нужно это сделать, заключается в том, что кубическая подгонка будет использоваться для удаления фона (в данном случае сопротивления в диоде), и у вас останутся очевидные особенности. Вот код, который я сейчас использую для подгонки куба в первую очередь, где Vnew и yone представляют массивы экспериментальных данных.
answer1=raw_input ('Cubic Plot attempt?\n ')
if answer1 in['y','Y','Yes']:
def cubic(x,A):
return A*x**3
cubic_guess=array([40])
popt,pcov=curve_fit(cubic,Vnew,yone,cubic_guess)
plot(Vnew,cubic(Vnew,*popt),'r-',label='Cubic Fit: curve_fit')
#ylim(-0.05,0.05)
legend(loc='best')
print 'Cubic plotted'
else:
print 'No Cubic Removal done'
У меня есть знания о сглаживании кривых, но только в теории. Я не знаю, как это реализовать. Буду очень признателен за любую помощь.
Вот график, созданный на данный момент:
popt
(что будет отличаться от вашего первоначального предположения 40). Вы можете извлечь новые значения y-данных, как и на графике, с помощьюcubic(Vnew,*popt)
. - person Oliver W.   schedule 02.12.2014