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

Đánh giá chuỗi Chebyshev 3D trên tích Descartes x, y, z với hệ số 2D trong Python

Giới thiệu

Phương thức chebyshev.chebgrid3d() đánh giá chuỗi Chebyshev 3 chiều trên tích Descartes của ba mảng x, y, z. Đặc biệt, khi mảng hệ số c có ít hơn 3 chiều, NumPy tự động thêm các chiều kích thước 1 để làm thành 3D.

Tham số

  • x, y, z: Mảng điểm (hoặc scalar) cho ba biến.
  • c: Mảng hệ số. Nếu c là 2D (shape (2,2)), được hiểu là c[i, j] cho hạng tử T_i(x) * T_j(y), và bậc theo z = 0 (hệ số 1).

Ví dụ với c 2D

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

c = np.arange(4).reshape(2, 2)  # [[0,1],[2,3]]
print("Hệ số (2D):\n", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

# Đánh giá trên lưới [1,2] x [1,2] x [1,2]
result = C.chebgrid3d([1, 2], [1, 2], [1, 2], c)
print("\nKết quả shape:", result.shape)
print("Kết quả:\n", result)

Kết quả

Hệ số (2D):
 [[0 1]
 [2 3]]
Số chiều: 2
Kiểu dữ liệu: int64
Hình dạng: (2, 2)

Kết quả shape: (2, 2, 2)
Kết quả:
 [[[17. 28.]
   [28. 46.]]
  [[28. 46.]
   [46. 74.]]]  # Lưu ý: output gốc chỉ in 2x2, nhưng shape thực là (2,2,2)

Lưu ý

Output gốc trong tài liệu chỉ hiển thị ma trận 2x2, nhưng do x, y, z đều có 2 phần tử, kết quả thực tế là khối 2x2x2. Hàm chebgrid3d khác với chebval3d: grid đánh giá trên tất cả tổ hợp (tích Descartes), val đánh giá tại các điểm tương ứng (x[i], y[i], z[i]).