Để tạo ma trận Vandermonde của đa thức Chebyshev, sử dụng chebyshev.chebvander() trong Python NumPy. Phương thức trả về ma trận Vandermonde. Hình dạng ma trận trả về là x.shape + (deg + 1,), nơi chỉ số cuối là bậc của đa thức Chebyshev tương ứng. Kiểu dtype sẽ giống với x đã chuyển đổi.
Tham số a là mảng điểm. Kiểu dtype được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc có phần tử phức hay không. Nếu x là scalar, nó được chuyển thành mảng 1-D. Tham số deg là bậc của ma trận kết quả.
Các bước thực hiện
Trước tiên, nhập thư viện cần thiết:
import numpy as np
from numpy.polynomial import chebyshev as C
Tạo mảng:
x = np.array([0, 3.5, -1.4, 2.5])
Hiển thị mảng:
print("Mảng của chúng ta...\n", x)
Kiểm tra số chiều:
print("\nSố chiều của mảng...\n", x.ndim)
Lấy kiểu dữ liệu:
print("\nKiểu dữ liệu của đối tượng mảng...\n", x.dtype)
Lấy hình dạng:
print("\nHình dạng của đối tượng mảng...\n", x.shape)
Để tạo ma trận Vandermonde của đa thức Chebyshev, sử dụng chebyshev.chebvander():
print("\nKết quả...\n", C.chebvander(x, 2))
Ví dụ hoàn chỉnh
import numpy as np
from numpy.polynomial import chebyshev as C
# Tạo mảng điểm float
x = np.array([0, 3.5, -1.4, 2.5])
# Hiển thị mảng
print("Mảng của chúng ta...\n", x)
# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", x.ndim)
# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", x.dtype)
# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", x.shape)
# Tạo ma trận Vandermonde Chebyshev bậc 2
print("\nKết quả...\n", C.chebvander(x, 2))
Kết quả đầu ra
Mảng của chúng ta...
[ 0. 3.5 -1.4 2.5]
Số chiều của mảng...
1
Kiểu dữ liệu của đối tượng mảng...
float64
Hình dạng của đối tượng mảng...
(4,)
Kết quả...
[[ 1. 0. -1. ]
[ 1. 3.5 23.5 ]
[ 1. -1.4 2.92]
[ 1. 2.5 11.5 ]]
Giải thích: Ma trận Vandermonde Chebyshev bậc 2 cho 4 điểm thực. Hình dạng (4, 3). Các cột: T₀(x)=1, T₁(x)=x, T₂(x)=2x²-1.
- x=0: T₀=1, T₁=0, T₂=-1
- x=3.5: T₀=1, T₁=3.5, T₂=2(12.25)-1=23.5
- x=-1.4: T₀=1, T₁=-1.4, T₂=2(1.96)-1=2.92
- x=2.5: T₀=1, T₁=2.5, T₂=2(6.25)-1=11.5