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.])