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) print(yy1) print(yy2) p1=np.poly1d(yy1) #将系数代入方程,得到函数 p2=np.poly1d(yy2) plt.plot(x1,y1) #输出原始线型图 plt.plot(x2,y2) X1=[1,2,3,4,5] X2=[5,6,7,8,9,10,11,12] pp1=p1(X1) pp2=p2(X2) plt.plot(X1,pp1,color='red',linestyle='--') plt.plot(X2,pp2,color='red',linestyle='--') plt.show() #显示 n1=1+yy1[1]
数据拟合2
最新推荐文章于 2021-08-03 16:39:12 发布