當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python numpy poly1d用法及代碼示例


本文簡要介紹 python 語言中 numpy.poly1d 的用法。

用法:

class  numpy.poly1d(c_or_r, r=False, variable=None)

一維多項式類。

注意

這構成了舊多項式 API 的一部分。從版本 1.4 開始,首選在 numpy.polynomial 中定義的新多項式 API。可以在過渡指南中找到差異摘要。

一個便利類,用於封裝多項式上的“natural” 運算,以便所述運算可以在代碼中采用它們的慣用形式(參見示例)。

參數

c_or_r array_like

多項式的係數,以遞減的冪計算,或者如果第二個參數的值為 True,則為多項式的根(多項式計算為 0 的值)。例如,poly1d([1, 2, 3]) 返回一個表示 的對象,而 poly1d([1, 2, 3], True) 返回一個表示 的對象。

r 布爾型,可選

如果為真,c_or_r 指定多項式的根;默認為假。

variable str,可選

更改打印時使用的變量pxvariable(見示例)。

例子

構造多項式

>>> p = np.poly1d([1, 2, 3])
>>> print(np.poly1d(p))
   2
1 x + 2 x + 3

處計算多項式:

>>> p(0.5)
4.25

尋找根源:

>>> p.r
array([-1.+1.41421356j, -1.-1.41421356j])
>>> p(p.r)
array([ -4.44089210e-16+0.j,  -4.44089210e-16+0.j]) # may vary

上一行中的這些數字表示 (0, 0) 到機器精度

顯示係數:

>>> p.c
array([1, 2, 3])

顯示順序(去除前導零係數):

>>> p.order
2

顯示多項式中k-th 冪的係數(相當於p.c[-(i+1)]):

>>> p[1]
2

多項式可以相加、相減、相乘和相除(返回商和餘數):

>>> p * p
poly1d([ 1,  4, 10, 12,  9])
>>> (p**3 + 4) / p
(poly1d([ 1.,  4., 10., 12.,  9.]), poly1d([4.]))

asarray(p) 給出係數數組,因此多項式可用於所有接受數組的函數:

>>> p**2 # square of polynomial
poly1d([ 1,  4, 10, 12,  9])
>>> np.square(p) # square of individual coefficients
array([1, 4, 9])

在字符串表示中使用的變量p可以修改,使用variable範圍:

>>> p = np.poly1d([1,2,3], variable='z')
>>> print(p)
   2
1 z + 2 z + 3

從其根構造一個多項式:

>>> np.poly1d([1, 2], True)
poly1d([ 1., -3.,  2.])

這與通過以下方式獲得的多項式相同:

>>> np.poly1d([1, -1]) * np.poly1d([1, -2])
poly1d([ 1, -3,  2])

屬性

c

多項式係數

coef

多項式係數

coefficients

多項式係數

coeffs

多項式係數

o

多項式的階數或次數

order

多項式的階數或次數

r

多項式的根,其中 self(x) == 0

numpy.roots

多項式的根,其中 self(x) == 0

variable

多項式變量的名稱

相關用法


注:本文由純淨天空篩選整理自numpy.org大神的英文原創作品 numpy.poly1d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。