本文实例讲述了Python实现的多项式拟合功能。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
# -*- 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模块时坐标轴标题中文及各种特殊符号显示方法》上介绍的中文显示方法,这里使用:
1
2
|
from pylab import mpl
mpl.rcParams[ 'font.sans-serif' ] = [ 'SimHei' ] # 指定默认字体
|
来进行全局的中文显示设置
另外,使用:
1
|
plt.rcParams[ 'axes.unicode_minus' ] = False
|
来进行负数坐标的显示设置
希望本文所述对大家Python程序设计有所帮助。
原文链接:https://blog.csdn.net/luoganttcc/article/details/78887285