怎么在Python中实现一个曲线拟合操作

发布时间:2021-04-07 17:20:46 作者:Leah
来源:亿速云 阅读:294

今天就跟大家聊聊有关怎么在Python中实现一个曲线拟合操作,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

曲线拟合的例子

import matplotlib.pyplot as plt
import math
import numpy as np
import random
import csv
plt.rcParams['font.sans-serif'] = ['SimHei']#设置显示中文
fig = plt.figure()
ax = fig.add_subplot(111)#将画布分割成1行1列,图像画在从左到右从上到下的第1块
#阶数为6阶
order=6
#生成曲线上的各个点
dataMat = np.loadtxt(open("c:\\yandu.csv","rb"),delimiter=",",skiprows=0)
size=dataMat.shape
num=size[0]
trandata=np.transpose(dataMat)#矩阵转置
xa=trandata[0]#得到天数数组(横坐标)
ya=trandata[1]#实测盐度值数组
#数据筛选,去除盐度值为零的,提高拟合精度
i=0
x=[]
y=[]
for yy in ya:
  if yy>0:
    xx=xa[i]
    i+=1
    x.append(xx)
    y.append(yy)
#绘制原始数据
ax.plot(x,y,label=u'原始数据',color='m',linestyle='',marker='.')
#计算多项式
c=np.polyfit(x,y,order)#拟合多项式的系数存储在数组c中
yy=np.polyval(c,x)#根据多项式求函数值
#进行曲线绘制
x_new=np.linspace(0, 365, 2000)
f_liner=np.polyval(c,x_new)
#ax.plot(x,y,color='m',linestyle='',marker='.')
ax.plot(x_new,f_liner,label=u'拟合多项式曲线',color='g',linestyle='-',marker='')
# labels标签设置
ax.set_xlim(0, 366)
ax.set_xlabel(u'天')
ax.set_ylabel(u'盐度')
ax.set_title(u'盐度的日变化', bbox={'facecolor':'0.8', 'pad':5})
ax.legend()
plt.show()

看完上述内容,你们对怎么在Python中实现一个曲线拟合操作有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注亿速云行业资讯频道,感谢大家的支持。

推荐阅读:
  1. 怎么在Python中操作内建序列
  2. 怎么在Python中操作Sqlite

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:如何在微信小程序中使用form表单组件

下一篇:怎么在iOS中实现一个按比例拼图功能

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》