这篇文章给大家分享的是有关Python如何实现多项式拟合功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
具体如下:
# -*- coding: utf-8 -*-
#! python2
import numpy as np
import matplotlib.pyplot as plt
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
plt.rcParams['axes.unicode_minus']=False #解决负数坐标显示问题
#x的个数决定了样本量
x = np.arange(-1,1,0.02)
#y为理想函数
y = 2*np.sin(x*2.3)+0.5*x**3
#y1为离散的拟合数据
y1 = y+0.5*(np.random.rand(len(x))-0.5)
z1 = np.polyfit(x, y, 6)
# 生成多项式对象
p1 = np.poly1d(z1)
pp1=p1(x)
##################################
#plt.plot(x,y,color='g',linestyle='-',marker='',label=u'理想曲线')
plt.plot(x,y1,color='m',linestyle='',marker='o',label=u'拟合数据')
plt.plot(x,pp1,color='b',linestyle='-',marker='.',label=u"拟合曲线")
# 把拟合的曲线在这里画出来
plt.legend(loc='upper left')
plt.show()
运行效果:
注意:不同于之前《Python使用Matplotlib模块时坐标轴标题中文及各种特殊符号显示方法》上介绍的中文显示方法,这里使用:
from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['SimHei'] # 指定默认字体
来进行全局的中文显示设置
另外,使用:
plt.rcParams['axes.unicode_minus']=False
来进行负数坐标的显示设置
感谢各位的阅读!关于“Python如何实现多项式拟合功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!