2013年11月17日 星期日 15:30
import numpy.ma as ma
import numpy as np
import pylab as plt
Sig = np.loadtxt('Sig.txt')
x = np.array (range(0,len(Sig[:])))
y = Sig[:]
#print ' unmasked: ', np.polyfit (x, y, 3)
mask = np.zeros (x.shape, dtype = np.bool)
mask[238:316] = True
mask[368:415] = True
mask[486:540] = True
mask[628:731] = True
mask[765:808] = True
mx = ma.array (x, mask = mask)
my = ma.array (y, mask = mask)
Coeff1 = np.polyfit (mx, my, 4)
#Coeff1 = [-6.71108E-9,1.66786E-5,-0.01098,-6.56826,21700.0458]
Fit_baseline = np.polyval(Coeff1, x)
plt.figure(3).clf()
plt.plot(Sig, '.',label='raw data')
plt.plot(x,Fit_baseline,label='Fit_baseline')
plt.plot(mx,my,'r-',label='unmasked')
plt.grid(True)
plt.legend(loc='best')
2013年11月17日 星期日 15:33
不知道问题出在什么地方?请指教,感谢
原始数据上传到群共享中,但找不到在哪不知道为啥
2013年11月23日 星期六 12:23
用numpy.ma.polyfit()
2013年11月23日 星期六 18:48
eps = np.finfo(np.float32).eps
Coeff1 = np.ma.polyfit (np.float32(mx), my, 5)
问题解决,谢谢版主!
Zeuux © 2024
京ICP备05028076号