Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đánh giá chuỗi Chebyshev 3D tại điểm (x, y, z) với hệ số 2D trong Python

Để đá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ủa Tᵢ(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.