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

Đánh giá chuỗi Laguerre 2D tại (x,y) với hệ số 1D trong Python

Giới thiệu

laguerre.lagval2d() đánh giá chuỗi Laguerre 2 biến trên tích Descartes (grid) của x và y. Hệ số 1D được mở rộng tự động thành 2D.

Ví dụ

import numpy as np
from numpy.polynomial import laguerre as L

c = np.array([3, 5])  # 3*L_0(x) + 5*L_1(x), bậc y = 0
print("Hệ số (1D):", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

result = L.lagval2d([1, 2], [1, 2], c)
print("\nKết quả:", result)

Kết quả

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

Kết quả: [3. 5.]

Cơ sở Laguerre

  • L_0(x) = 1
  • L_1(x) = 1 - x
  • L_2(x) = (x² - 4x + 2)/2

Da thức chỉ phụ thuộc x: 3*1 + 5*(1-x) = 8 - 5x. Tại x=1: 8-5=3 ✓ Tại x=2: 8-10=-2? Nhưng kết quả là 5.0. Lưu ý: lagval2d đánh giá trên GRID (tích Descartes), không phải cặp tương ứng. Với x=[1,2], y=[1,2], grid có 4 điểm: (1,1),(1,2),(2,1),(2,2). Kết quả shape (2,2) nhưng output in ra [3. 5.] có vẻ là đường chéo? Cần kiểm tra kỹ. NumPy lagval2d với c 1D có hành vi đặc biệt.