在Python中,當係數為多維時,如何計算切比雪夫級數在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(4).reshape(2,2)

顯示陣列:

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(4).reshape(2,2)

# 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 thechebyshev.chebval(() method in Python Numpy
print("\nResult (chebval)...\n",C.chebval([1,2],c,tensor=True))

輸出

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

Dimensions of our Array...
2

Datatype of our Array object...
int64

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

Result (chebval)...
[[2. 4.]
[4. 7.]]

更新於:2022年3月8日

90次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告