在 Python 中評估切比雪夫級數在 x 點的值,並擴充套件係數陣列的形狀以適應 x 的每個維度


要評估切比雪夫級數在 x 點的值,可以使用 Python NumPy 中的 `chebyshev.chebval()` 方法。第一個引數 x,如果 x 是列表或元組,則將其轉換為 ndarray,否則保持不變並將其視為標量。無論哪種情況,x 或其元素都必須支援自身以及 c 的元素之間的加法和乘法。

第二個引數 C,一個係數陣列,按順序排列,使得 n 次項的係數包含在 c[n] 中。如果 c 是多維的,則其餘索引列舉多個多項式。在二維情況下,係數可以認為儲存在 c 的列中。

第三個引數 tensor,如果為 True,則係數陣列的形狀在右側用 1 擴充套件,對於 x 的每個維度一個 1。標量對此操作的維度為 0。結果是 c 中的每一列係數都針對 x 的每個元素進行評估。如果為 False,則在評估時將 x 廣播到 c 的列上。此關鍵字在 c 為多維時很有用。預設值為 True。

步驟

首先,匯入所需的庫:

import numpy as np
from numpy.polynomial import chebyshev as C

建立一個多維繫數陣列:

c = np.arange(6).reshape(2,3)

顯示陣列:

print("Our Array...\n",c)

檢查維度:

print("\nDimensions of our Array...\n",c.ndim)

獲取資料型別:

print("\nDatatype of our Array object...\n",c.dtype)

獲取形狀:

print("\nShape of our Array object...\n",c.shape)

要評估切比雪夫級數在 x 點的值,使用 `chebyshev.chebval()` 方法:

print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

示例

import numpy as np
from numpy.polynomial import chebyshev as C

# Create a multidimensional array of coefficients
c = np.arange(6).reshape(2,3)

# Display the array
print("Our Array...\n",c)

# Check the Dimensions
print("\nDimensions of our Array...\n",c.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",c.dtype)

# Get the Shape
print("\nShape of our Array object...\n",c.shape)

# To evaluate a Chebyshev series at points x, use the chebyshev.chebval(() method in Python Numpy
print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

輸出

Our Array...
   [[0 1 2]
   [3 4 5]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(2, 3)

Result (chebval)...
   [[ 3. 6.]
   [ 5. 9.]
   [ 7. 12.]]

更新於:2022年3月1日

82 次瀏覽

開啟您的職業生涯

完成課程獲得認證

開始學習
廣告