我尝试使用UnivariateSpline函数插入数据时遇到了一个奇怪的问题.通过所有点(s = 0)和样条函数进行插值不会对整个数据集产生结果.s> = 1的结果也很奇怪.我认为它与我正在使用的数据有关,我加入了他们的附件.
我被卡住了,所以如果有人对解决方案有好主意,我会非常感激.
谢谢,
这里是部分代码:
import numpy as np
import matplotlib.pyplot as plt
from scipy.interpolate import UnivariateSpline
def openfile(infilename):
ifile = open(infilename, 'r') # open file for reading
lines = ifile.readlines()
ifile.close()
return lines
def extractData(lines):
data=[]
CV=[]
for i in range(len(lines)):
item=lines[i].split()
for j in range(len(item)):
item[j]=float(item[j])
data.append(item[j])
CV=np.array(data)
CV.shape = (len(CV)/3,3)
return CV
if __name__ == "__main__":
lines=openfile("D:\capamos\LOCOS\cap15L1_rec_mod.csv")
CV=extractData(lines)
Vg1=CV[:,0]
C1=CV[:,1]
Cmax=C1.max()
Cmin=C1.min()
S=0.002
Cfb=compute(Cmax,Cmin,S) #compute the flat band capacitance
print "Cfb=",Cfb
splineCV= UnivariateSpline(Vg1,C1,s=0)
x …Run Code Online (Sandbox Code Playgroud)