Computer >> Máy Tính >  >> Lập trình >> Python

Đánh giá chuỗi 3D Legendre tại các điểm (x, y, z) với mảng hệ số 4D bằng Python

Để đánh giá chuỗi 3D Legendre tại các điểm x, y, z, hãy sử dụng phương thức polynomial.legendre.legval3d () trongPython Numpy. Phương thức trả về các giá trị của đa thức nhiều chiều trên các điểm được tạo thành với bộ ba giá trị tương ứng từ x, y và z.

Nếu c có ít hơn 3 kích thước, các kích thước đó được thêm vào hình dạng của nó một cách ngầm định để làm cho nó có 3-D. Hình dạng của kết quả sẽ là c.shape [3:] + x.shape. Tham số đầu tiên là x, y, z. Chuỗi ba chiều được đánh giá tại các điểm (x, y, z), trong đó x, y và z phải có cùng hình dạng. Nếu bất kỳ x, y hoặc z nào là alist hoặc tuple, thì trước tiên nó sẽ được chuyển đổi thành ndarray, nếu không thì nó được giữ nguyên và nếu không phải là ndarrayit thì được coi là vô hướng.

Tham số thứ 2 là c. Mảng hệ số có thứ tự sao cho hệ số của số hạng của đa bội, j, k được chứa trong c [i, j, k]. Nếu c có thứ nguyên lớn hơn 3, các chỉ số còn lại liệt kê nhiều bộ hệ số.

Các bước

Đầu tiên, hãy nhập thư viện được yêu cầu -

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

Tạo một mảng hệ số 4d -

c = np.arange(48).reshape(2,2,6,2)

Hiển thị mảng -

print("Our Array...\n",c)

Kiểm tra các thứ nguyên -

print("\nDimensions of our Array...\n",c.ndim)

Lấy Datatype -

print("\nDatatype of our Array object...\n",c.dtype)

Lấy hình dạng -

print("\nShape of our Array object...\n",c.shape)

Để đánh giá chuỗi 3D Legendre tại các điểm x, y, z, hãy sử dụng phương thức polynomial.legendre.legval3d () trongPython Numpy -

print("\nResult...\n",L.legval3d([1,2],[1,2],[1,2],c))

Ví dụ

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

# Create a 4d array of coefficients
c = np.arange(48).reshape(2,2,6,2)

# Display the array
print("Our Array...\n",c)

# Check the Dimensions
print("\nDimensions of our Array...\n",c.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",c.dtype)

# Get the Shape
print("\nShape of our Array object...\n",c.shape)

# To evaluate a 3D Legendre series at points x, y,z use the polynomial.legendre.legval3d() method in Python Numpy
print("\nResult...\n",L.legval3d([1,2],[1,2],[1,2],c))

Đầu ra

Our Array...
   [[[[ 0 1]
   [ 2 3]
   [ 4 5]
   [ 6 7]
   [ 8 9]
   [10 11]]

   [[12 13]
   [14 15]
   [16 17]
   [18 19]
   [20 21]
   [22 23]]]


   [[[24 25]
   [26 27]
   [28 29]
   [30 31]
   [32 33]
   [34 35]]

   [[36 37]
   [38 39]
   [40 41]
   [42 43]
   [44 45]
   [46 47]]]]

Dimensions of our Array...
4

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2, 6, 2)

Result...
   [[ 552. 79447.5 ]
   [ 576. 81847.125]]