python拟合数据(scipy)

时间:2026-02-13 14:41:16

1、先准备数据。

pan.baidu.com/s/1SzUuCjgXcECw4xixVQNe1w

提取码: rjmr

先下载txt文档,里面是1000个数据,用英文的都好分割。

python拟合数据(scipy)

2、用python整理数据:

b=open('0.txt','r')

c=b.read().replace('\r','').split(',')

D=[]

for i in c[:-1]:

    i=float(i)

    D.append(i)

b.close()

把所有的数字提取出来,保存到列表D里面。

python拟合数据(scipy)

3、绘制数据集的图像。

import pylab as pl

D=np.array(D)

x=np.array(list(range(1000)))

pl.plot(x,D,c='g')

pl.show()

python拟合数据(scipy)

4、这个图像看起来像是正弦曲线,所以,用正弦曲线来拟合这组数据:

from scipy.optimize import leastsq

def f(x, p):

    A, k, theta = p

    return A*np.sin(2*np.pi*k*x+theta)

def nihe(p, y, x):

    A, k, theta = p

    return y - f(x,p)

p0 = [1,2,3]

p = leastsq(nihe, p0, args=(D, x))

python拟合数据(scipy)

5、画出拟合的曲线:

pl.plot(x,D,c='g')

pl.plot(x, f(x, p[0]),c='r')

pl.show()

python拟合数据(scipy)

© 2026 智德知识库
信息来自网络 所有数据仅供参考
有疑问请联系站长 site.kefu@gmail.com