import numpy as np import matplotlib.pyplot as plt a=np.linspace(1,5,20) b=np.linspace(5,12,30) #模拟数据 x=np.hstack((a,b)) #合成一个数组 c=np.linspace(5,10,20) d=np.linspace(10,4,30) y=np.hstack((c,d)) for i in range(1,49): f=y[i+1]-y[i] h=x[i+1]-x[i] if f<0: n=i x1=x[0:i] #切片处理 y1=y[0:i] x2=x[i:50] y2=y[i:50] yy1=np.polyfit(x1, y1, 1) #线性拟合 返回的是系数 yy2=np.polyfit(x2, y2, 1) p1=np.poly1d(yy1) #将系数代入方程,得到函数 p2=np.poly1d(yy2) plt.plot(x1,y1) #输出线型图 plt.plot(x2,y2) plt.show() #显示
python中数据拟合
最新推荐文章于 2024-03-14 08:30:00 发布