所用模块:numpy
实现功能:一元多项式拟合
<span style="font-size:18px;"># -*- coding: utf-8 -*-
"""
Created on Fri Oct 07 08:07:42 2016
@author: zhangweiguo
"""
'''
这里使用numpy来对函数进行最小二乘的多项式拟合
'''
import numpy
from matplotlib import pyplot as pl
class fitting:
def __init__(self,X,Y):
self.x=numpy.array(X)
self.y=numpy.array(Y)
def fitting(self,n):
self.z=numpy.polyfit(self.x,self.y,n)
self.p=numpy.poly1d(self.z)
self.error=numpy.abs(self.y-numpy.polyval(self.p,self.x))
self.ER2=numpy.sum(numpy.power(self.error,2))/len(self.x)
return self.z,self.p
def geterror(self):
return self.error,self.ER2
def show(self):
figure1=pl.figure()
pl.plot(self.x,self.y,'ro-',markersize=7,figure=figure1,label='origin data')
pl.plot(se