numpy.poly1d#
- class numpy.poly1d(c_or_r, r=False, variable=None)[原始碼]#
一維多項式類別。
注意
這構成了舊多項式 API 的一部分。自 1.4 版以來,
numpy.polynomial
中定義的新多項式 API 是首選。差異摘要可以在轉換指南中找到。一個便利類別,用於封裝多項式的「自然」運算,以便這些運算可以在程式碼中採用其慣用形式(請參閱範例)。
- 參數:
- c_or_rarray_like
多項式的係數,依遞減冪排列;或者,如果第二個參數的值為 True,則為多項式的根(多項式求值為 0 的值)。例如,
poly1d([1, 2, 3])
返回一個表示 \(x^2 + 2x + 3\) 的物件,而poly1d([1, 2, 3], True)
返回一個表示 \((x-1)(x-2)(x-3) = x^3 - 6x^2 + 11x -6\) 的物件。- rbool,選用
如果為 True,則 c_or_r 指定多項式的根;預設值為 False。
- variablestr,選用
將列印 p 時使用的變數從 x 更改為
variable
(請參閱範例)。
範例
建構多項式 \(x^2 + 2x + 3\)
>>> import numpy as np
>>> p = np.poly1d([1, 2, 3]) >>> print(np.poly1d(p)) 2 1 x + 2 x + 3
在 \(x = 0.5\) 處評估多項式
>>> 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 次方的係數(相當於
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])
可以使用
variable
參數修改 p 字串表示法中使用的變數>>> 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])
- 屬性:
方法