官方文件的解釋:一維多項式類,用於封裝多項式上的「自然」運算,以便所述運算可以採用**中的慣用形式。
引數解釋:
c_or_r : array_like
多項式的係數,按照冪的降序排列。如果第二個引數為 `true`,則表示多項式的根。
比如 ``poly1d([1, 2, 3])`` 返回的物件表示:math:`x^2 + 2x + 3`;
而``poly1d([1, 2, 3], true)`` 返回表示:math:`(x-1)(x-2)(x-3) = x^3 - 6x^2 + 11x -6`。
r : bool, optional
如果為 `true`,第乙個引數表示多項式的多個根。預設 `false`。
variable : str, optional
改變列印時未知數的表示字元。如:
p = poly1d([1,2], false, varibale='z')
print(p) ====>> 1z + 2
類的方法# 構造多項式 x^2 + 2x + 4
p = np.poly1d([1
,2,4
])
__call__(x)
多項式運算
計算多項式p
在x
處的值。等價於np.polyval(p, x)
。
p(
0.5)
# 返回 5.25p([
1,2,
3])# 返回 array([ 7, 12, 28])
deriv(m=1)
求導
返回多項式的m階
導數,返回poly1d
例項。和函式np.polyder(p, m)
等價。
d = p.deriv(
)print
(d)# 2x + 2
integ(m=1, k=none)
不定積分
返回多項式的m次
不定積分,返回poly1d
例項;
k
為每次積分後的常數項,m=1
時可為數字,否則是長度為m
的列表。
和函式np.polyint(p, m, k)
等價。
i = p.integ(
)print
(i)# 0.3333 x^3 + x^2 + 4x
類的屬性
p.r 求根
p.c 多項式係數
p.order 多項式的階
p[n] 第n階的係數:等於p[-(n+1)]
p.r # array([-1.+1.73205081j, -1.-1.73205081j])
p.c # array([1, 2, 4])
p.order # 2p[0
]# 4
多項式物件可之間進行常用的數**算。
np.polyfit()
方便地進行多項式擬合。採用最小二乘法進行擬合,返回多項式的係數。引數如下:
x : array_like, shape (m,)
m個樣本在x軸上的座標 ``(x[i], y[i])``.
y : array_like, shape (m,) or (m, k)
樣本在y軸上的座標點。如果有多列,每一列分別進行擬合。
deg : int
擬合的多項式的階
full : bool, optional
決定返回值內容。當是 `false` 時,僅返回多項式的係數,預設 `false`。為 `true` 時,
奇異值分解的診斷資訊也將被返回。
其餘引數rcond, w, cov
目前暫未使用到,理解不到位。
使用舉例:
# 構造資料並進行擬合
x = np.array(
[0.0
,1.0
,2.0
,3.0
,4.0
,5.0])
y = np.array(
[0.0
,0.8
,0.9
,0.1,-
0.8,
-1.0])
z = np.polyfit(x, y,3)
print
(z)# >>> array([ 0.08703704, -0.81349206, 1.69312169, -0.03968254]) # may vary
# 使用擬合的多項式
y_ = np.polyval(z,
[0.5
,1.5])
pring(y_)
# >>> array([0.61438492, 0.96339286])
主要內容來自對官方文件的翻譯,做一記錄,加深記憶。
意外知道了python中類的__call__()
方法,可直接使用類例項的名稱進行呼叫。
MATLAB多項式及多項式擬合
多項式均表示為陣列形式,陣列元素為多項式降冪係數 1.polyval函式 求多項式在某一點或某幾個點的值.p 1,1,1 x 2 x 1 x 1,0,1 y polyval p,x 另外求函式在某一點或某幾個點的值可以用函式feval.x 1,0,1 y feval x exp x x 注意用的乘法...
多項式擬合缺點 多項式擬合
在網上看別人的心得 一 最小二乘法的基本原理 從整體上考慮近似函式同所給資料點 i 0,1,m 誤差 i 0,1,m 的大小,常用的方法有以下三種 一是誤差 i 0,1,m 絕對值的最大值,即誤差 向量的 範數 二是誤差絕對值的和,即誤差向量r的1 範數 三是誤差平方和的算術平方根,即誤差向量r的2...
多項式擬合
class1.cs 擬合類 using system using system.collections.generic using system.text namespace 最小二乘法擬合多項式 guass i,j sumarr arrx,i,arry,1,length return comput...