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

Đánh giá chuỗi Legendre 3D trên tích Descartes của x, y, z trong Python


Để đánh giá một chuỗi Legendre 3D trên tích Descartes của x, y và z, hãy sử dụng phương thức polynomial.legendre.leggrid3d() trong NumPy Python. Phương thức này trả về giá trị của chuỗi Legendre ba chiều tại các điểm trong tích Descartes của x, y và z. Nếu mảng hệ số c có ít hơn ba chiều, các chiều một sẽ được thêm ngầm vào hình dạng của nó để biến thành 3-D. Hình dạng của kết quả sẽ là c.shape[3:] + x.shape + y.shape + z.shape.

Tham số

  • x, y, z: Chuỗi ba chiều được đánh giá tại các điểm trong tích Descartes của x, y và z. Nếu x hoặc y là danh sách hoặc tuple, nó sẽ được chuyển đổi thành ndarray trước, ngược lại sẽ giữ nguyên và nếu không phải ndarray, được xem như một vô hướng.
  • c: Mảng hệ số được sắp xếp sao cho hệ số của hạng tử bậc đa i,j chứa trong c[i,j]. Nếu c có chiều lớn hơn hai, các chỉ số còn lại liệt kê nhiều bộ hệ số.

Các bước thực hiện

Trước tiên, nhập thư viện cần thiết:

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

Tạo mảng hệ số 3D:

c = np.arange(16).reshape(2, 2, 4)

Hiển thị mảng:

print("Mảng của chúng ta...\n", c)

Kiểm tra số chiều:

print("\nSố chiều của mảng...\n", c.ndim)

Lấy kiểu dữ liệu:

print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)

Lấy hình dạng:

print("\nHình dạng của đối tượng mảng...\n", c.shape)

Đánh giá chuỗi Legendre 3D trên tích Descartes của x, y, z:

print("\nKết quả...\n", L.leggrid3d([1, 2], [1, 2], [1, 2], c))

Ví dụ hoàn chỉnh

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

# Tạo mảng hệ số 3D
c = np.arange(16).reshape(2, 2, 4)

# Hiển thị mảng
print("Mảng của chúng ta...\n", c)

# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", c.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)

# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", c.shape)

# Đánh giá chuỗi Legendre 3D trên tích Descartes của x, y, z
print("\nKết quả...\n", L.leggrid3d([1, 2], [1, 2], [1, 2], c))

Kết quả đầu ra

Mảng của chúng ta...
 [[[ 0  1  2  3]
   [ 4  5  6  7]]

  [[ 8  9 10 11]
   [12 13 14 15]]]
Số chiều của mảng... 3
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, 4)
Kết quả...
 [[[ 120.  868.]
   [ 196. 1404.]]

  [[ 212. 1506.]
   [ 342. 2412.]]]