Python_拟合多项式并预测

Python_拟合多项式并预测

需要使用的模块numpy

初始化数据

以列表的形式导入(列表内的数据必须是数值型)

num_x = [...]
num_y = [...]
x = numpy.array(num_x)
y = numpy.array(num_y)

也可以直接初始化numpy.ndarray对象

num_x = [...]
num_y = [...]
x = numpy.zeros(len(num_x))
y = numpy.zeros(len(num_y))
# 然后逐一导入数据
for i in range(len(num_x)):
    x[i] = num_x[i]
    y[i] = num_x[i]
# 注意这个对象虽然看来是列表形式的,但实际上不是,所以不能使用append()

该对象的内部数据形式

'''
[0.46981163 0.80075814 0.09964955 0.37890761 0.2650933  0.31628878
 0.91808893 0.0145856  0.57455246 0.53082407 0.02810338 0.82485248
 0.27567205 0.86225695 0.67937601 0.64436468 0.50801514 0.74002311
 0.35550654 0.59271749 0.32824979 0.04932156 0.58561606 0.48792921
 0.11215748 0.19286186 0.25224102 0.76515066 0.04928864 0.62978241
 0.62320733 0.93044909 0.5212575  0.02558131 0.42817565 0.24744022
 0.91785279 0.13239371 0.65855355 0.92242441 0.280845   0.63201731
 0.86534876 0.85806012 0.87509949 0.88361419 0.58132066 0.14300146
 0.06674203 0.92075683 0.84842896 0.33914303 0.15057493 0.00295414
 0.22454145 0.31915917 0.31217369 0.93501314 0.87887448 0.29873817
 0.17098519 0.28102075 0.7320147  0.19014982 0.15022144 0.60383853
 0.62033784 0.28640719 0.94580551 0.1557577 ]
'''

拟合多项式

求多项式每项的系数(多项式的阶deg需要自己设定)

coeff = numpy.polyfit(x,y,deg=2) # 这里拟合的是最高次为二次的多项式

求整个多项式

func = numpy.poly1d(coeff)

预测数据

直接代入系数求解

now_x = 
now_y = numpy.ployval(coeff,now_x)

使用求得的多项式函数求解

now_x = 
now_y = func(now_x)

P e f e r e n c e Peference Peference

(11条消息) python 对于任意数据和曲线进行拟合并求出函数表达式的三种方案。_changdejie的专栏-CSDN博客_python 曲线拟合

你可能感兴趣的:(杂项知识总结,python,拟合曲线)