numpy.polynomial.polynomial.polyval#

polynomial.polynomial.polyval(x, c, tensor=True)[原始碼]#

在點 x 評估多項式。

如果 c 的長度為 n + 1,此函數會傳回值

\[p(x) = c_0 + c_1 * x + ... + c_n * x^n\]

參數 x 只有在是元組或列表時才會轉換為陣列,否則會被視為純量。在任一種情況下,x 或其元素都必須支援與自身以及與 c 元素進行乘法和加法運算。

如果 c 是一維陣列,則 p(x) 的形狀將與 x 相同。如果 c 是多維的,則結果的形狀取決於 tensor 的值。如果 tensor 為 true,則形狀將為 c.shape[1:] + x.shape。如果 tensor 為 false,則形狀將為 c.shape[1:]。請注意,純量具有形狀 (,)。

係數中的尾隨零將用於評估,因此如果注重效率,應避免使用。

參數:
xarray_like, 相容物件

如果 x 是列表或元組,則會轉換為 ndarray,否則會保持不變並視為純量。在任一種情況下,x 或其元素都必須支援與自身以及與 c 元素進行加法和乘法運算。

carray_like

係數陣列,排序方式為次數為 n 的項的係數包含在 c[n] 中。如果 c 是多維的,則剩餘索引會枚舉多個多項式。在二維情況下,係數可以認為儲存在 c 的列中。

tensor布林值,可選

如果為 True,則係數陣列的形狀會在右側以 1 擴展,每個 x 的維度對應一個 1。純量的維度為 0 以進行此操作。結果是 c 中每個係數列都會針對 x 的每個元素進行評估。如果為 False,則 x 會在 c 的列上廣播以進行評估。當 c 是多維時,此關鍵字很有用。預設值為 True。

傳回值:
valuesndarray, 相容物件

傳回陣列的形狀如上所述。

註解

評估使用霍納法。

範例

>>> import numpy as np
>>> from numpy.polynomial.polynomial import polyval
>>> polyval(1, [1,2,3])
6.0
>>> a = np.arange(4).reshape(2,2)
>>> a
array([[0, 1],
       [2, 3]])
>>> polyval(a, [1, 2, 3])
array([[ 1.,   6.],
       [17.,  34.]])
>>> coef = np.arange(4).reshape(2, 2)  # multidimensional coefficients
>>> coef
array([[0, 1],
       [2, 3]])
>>> polyval([1, 2], coef, tensor=True)
array([[2.,  4.],
       [4.,  7.]])
>>> polyval([1, 2], coef, tensor=False)
array([2.,  7.])