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

Đánh giá chuỗi Hermite_e tại mảng đa chiều x trong Python

Giới thiệu

Phương thức hermite_e.hermeval() trong NumPy cho phép đánh giá chuỗi Hermite_e tại một mảng điểm x có thể là đa chiều. Đây là công cụ linh hoạt cho cả đầu vào scalar, 1D, 2D hay cao hơn.

Tham số chính

  • x: Mảng điểm đánh giá (list, tuple, ndarray hoặc scalar). Phép cộng/nhân phải được định nghĩa giữa các phần tử x và hệ số c.
  • c: Mảng hệ số, c[n] chứa hệ số bậc n. Nếu c đa chiều, các chỉ mục còn lại đại diện cho nhiều đa thức.
  • tensor (bool, mặc định True): Nếu True, shape của c được mở rộng bằng 1 ở bên phải cho mỗi chiều của x → mỗi cột hệ số được đánh giá cho mọi phần tử x. Nếu False, x được broadcast qua các cột của c.

Ví dụ minh họa

import numpy as np
from numpy.polynomial import hermite_e as H

# Hệ số đa thức: 1 + 2*He_1 + 3*He_2
c = np.array([1, 2, 3])
print("Hệ số:", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

# x là mảng 2D
x = np.array([[1, 2], [3, 4]])
print("\nx:\n", x)

# Đánh giá với tensor=True (mặc định)
result = H.hermeval(x, c)
print("\nKết quả (tensor=True):\n", result)

# Đánh giá với tensor=False
result_false = H.hermeval(x, c, tensor=False)
print("\nKết quả (tensor=False):\n", result_false)

Kết quả đầu ra

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

x:
 [[1 2]
 [3 4]]

Kết quả (tensor=True):
 [[ 3. 14.]
 [31. 54.]]

Kết quả (tensor=False):
 [[ 3. 14.]
 [31. 54.]]  # Trong ví dụ này kết quả giống nhau do c là 1D

Giải thích thêm

Khi c là 2D (ví dụ shape (2,2)), tensor=True sẽ cho kết quả shape (2,2,2,2) (mỗi cột c đánh giá trên toàn bộ x), trong khi tensor=False sẽ broadcast x theo cột c. Tham số này rất hữu ích khi làm việc với nhiều đa thức cùng lúc.