コードに少し問題があります。
def pval(x, p, i):
return sum(p[0]*(cos(i*x)) for i in range(1, p[1] + 1))
if __name__ == '__main__':
main()
x, y = loadtxt("Data.txt" , unpack=True)
errfunc = lambda p, x, y: pval(p, x, i) - y # Distance to the target function
p0 = [49, 100] # Initial guess for the parameters
p1, success = optimize.leastsq(errfunc, p0[:], args=(x, y))
name 'optimize' is not defined というプロンプトが表示されますが、エラーの原因がわかりません。