日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python中polyfit、poly1d函数

發(fā)布時間:2024/3/12 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python中polyfit、poly1d函数 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

python中polyfit、poly1d函數(shù)

一、polyfit函數(shù)

函數(shù)原型

np.polyfit(x,y,num)

可以對一組數(shù)據(jù)進行多項式擬合

下面舉個例子說明:
其中:np.polyval(p,x)計算多項式的函數(shù)值。返回在x處多項式的值,p為多項式系數(shù)

import matplotlib.pyplot as plt import numpy as np# 構(gòu)建噪聲數(shù)據(jù)xu,yu xu = np.random.rand(50) * 4 * np.pi - 2 * np.pi def f(x):return np.sin(x) + 0.5 * x yu = f(xu)plt.figure(figsize=(8, 4)) # 用噪聲數(shù)據(jù)xu,yu,得到擬合多項式系數(shù),自由度為5 reg = np.polyfit(xu, yu, 5) # 計算多項式的函數(shù)值。返回在x處多項式的值,p為多項式系數(shù),元素按多項式降冪排序 ry = np.polyval(reg, xu) # 原先函數(shù)繪制 plt.plot(xu, yu, 'bo', label='f(x)')#藍色虛線 # 擬合繪制 plt.plot(xu, ry, 'r.', label='regression')#紅色點狀 plt.legend(loc=0) plt.show()

輸出結(jié)果:

二、poly1d函數(shù)

np.poly1d()此函數(shù)有3個參數(shù)
注意:下面紅色代表輸出

1.參數(shù)1:系數(shù)向量

import numpy as npa= np.array([2,1,1]) f = np.poly1d(a) print(f)

2 x2 + 1 x + 1

2.參數(shù)2:bool

則表示把數(shù)組中的值作為根,然后反推多項式,例如:

q = np.poly1d([2,3,5],True) print(q)

(x - 2)(x - 3)(x - 5) = x^3 - 10x^2 + 31x -30

3.參數(shù)3:字母

variable=‘z’表示改變未知數(shù)的字母,例如:

q = np.poly1d([2,3,5],True,varibale = 'z') print(q)

(z - 2)(z - 3)(z - 5) = z^3 - 10z^2 + 31z -30

計算多項式的值:代入x

print(f([1,2,3,4]))#可以多個運算,x=1\2\3\4的時候

[ 4 11 22 37]

三、綜合應(yīng)用例子

import numpy as np from scipy.optimize import leastsq import pylab as plx = np.arange(1, 17, 1) y = np.array([4.00, 6.40, 8.00, 8.80, 9.22, 9.50, 9.70, 9.86, 10.00, 10.20, 10.32, 10.42, 10.50, 10.55, 10.58, 10.60])# 第一個擬合,自由度為3 z1 = np.polyfit(x, y, 3) # 生成多項式對象 p1 = np.poly1d(z1) print(z1) print(p1)

總結(jié)

以上是生活随笔為你收集整理的python中polyfit、poly1d函数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。