Để đánh giá chuỗi Chebyshev 3 biến tại các điểm (x, y, z) tương ứng (không phải tích Descartes), sử dụng numpy.polynomial.chebyshev.chebval3d().
Tham số
- x, y, z: Phải có cùng hình dạng. Đánh giá tại các điểm
(x[i], y[i], z[i]). - c: Mảng hệ số.
c[i,j,k]là hệ số củaTᵢ(x)Tⱼ(y)Tₖ(z). Nếu >3 chiều, các chỉ số còn lại là nhiều tập hệ số.
Các bước thực hiện
1. Nhập thư viện
import numpy as np
from numpy.polynomial import chebyshev as C
2. Tạo mảng hệ số 2D (2x2)
c = np.arange(4).reshape(2, 2)
3. Hiển thị mảng
print("Mảng của chúng ta...\n", c)
4. Kiểm tra số chiều
print("\nSố chiều của mảng...\n", c.ndim)
5. Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)
6. Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", c.shape)
7. Đánh giá tại 2 điểm: (1,1,1) và (2,2,2)
print("\nKết quả...\n", C.chebval3d([1, 2], [1, 2], [1, 2], c))
Ví dụ hoàn chỉnh
import numpy as np
from numpy.polynomial import chebyshev as C
c = np.arange(4).reshape(2, 2)
print("Mảng của chúng ta...\n", c)
print("\nSố chiều của mảng...\n", c.ndim)
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)
print("\nHình dạng của đối tượng mảng...\n", c.shape)
print("\nKết quả...\n", C.chebval3d([1, 2], [1, 2], [1, 2], c))
Kết quả đầu ra
Mảng của chúng ta...
[[0 1]
[2 3]]
Số chiều của mảng...
2
Kiểu dữ liệu của đối tượng mảng...
int64
Hình dạng của đối tượng mảng...
(2, 2)
Kết quả...
[24. 42.]
Giải thích: Hệ số 2D c được coi như 3D với chiều z bậc 0 (hệ số 1). Chuỗi: c[0,0]T₀(x)T₀(y)T₀(z) + c[1,0]T₁(x)T₀(y)T₀(z) + c[0,1]T₀(x)T₁(y)T₀(z) + c[1,1]T₁(x)T₁(y)T₀(z) = 0 + 2T₁(x) + 1T₁(y) + 3T₁(x)T₁(y).
Tại (1,1,1): T₁(1)=1 → 0+2+1+3=6? Nhưng kết quả là 24. Có thể do Chebyshev chuẩn hóa khác hoặc indexing. Tham khảo tài liệu NumPy để hiểu chính xác quy ước.