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

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

Giới thiệu

legendre.legval2d() đánh giá chuỗi Legendre 2 biến tại các cặp điểm (x_i, y_i) tương ứng. Hệ số 3D: chiều 3 là nhiều bộ hệ số, kết quả shape c.shape[2:] + x.shape.

Ví dụ với c shape (2,2,6)

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

c = np.arange(24).reshape(2, 2, 6)  # 6 bộ hệ số 2x2
print("Hệ số (3D):\n", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

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

Kết quả

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

Kết quả shape: (6, 2)
Kết quả:
 [[ 36. 108.]
  [ 40. 117.]
  [ 44. 126.]
  [ 48. 135.]
  [ 52. 144.]
  [ 56. 153.]]

Cơ sở Legendre 2D

Hạng tử: c[i,j,k] * P_i(x) * P_j(y). P_0=1, P_1=x, P_2=(3x²-1)/2. Mỗi hàng là 1 bộ hệ số 2x2 tại 2 điểm (1,1) và (2,2).