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

Đánh giá đa thức 3-D trên tích Descartes của x, y, z với mảng hệ số 4d trong Python

Để đánh giá đa thức 3-D trên tích Descartes của x và y, hãy sử dụng phương thức polynomial.polygrid3d (x, y, c) trong Python. Phương thức trả về các giá trị của đa thức hai chiều tại các điểm trong tích Descartes của x và y.

Tham số thứ nhất, x, y, z là 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, `y` hoặc z là một danh sách hoặc một bộ, thì trước tiên nó được chuyển đổi thành một mảng ndarray, nếu không nó sẽ không thay đổi và nếu nó không phải là một ndarray, nó được coi là một đại lượng vô hướng.

Tham số thứ 2, c là một mảng các hệ số được sắp xếp để các hệ số của các số hạng bậci, j được chứa trong c [i, j]. Nếu c có thứ nguyên lớn hơn hai chỉ số còn lại liệt kê nhiều bộ hệ số. Nếu c có ít hơn ba chiều, thì những thứ đó được ngầm định thêm vào itsshape để biến 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.

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.polynomial import polygrid3d

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á đa thức 3-D trên tích Descartes của x và y, hãy sử dụng phương thức polynomial.polygrid3d (x, y, c) trong Python. Phương thức trả về các giá trị của đa thức hai chiều tại các điểm trong tích Descartes của x và y -

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

Ví dụ

import numpy as np
from numpy.polynomial.polynomial import polygrid3d

# 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 3-D polynomial on the Cartesian product of x and y, use the polynomial.polygrid3d(x, y, c) method in Python
print("\nResult...\n",polygrid3d([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. 6600.]
   [ 900. 10656.]]

   [[ 972. 11412.]
   [ 1566. 18252.]]]


   [[[ 576. 6852.]
   [ 936. 11034.]]

   [[ 1008. 11790.]
   [ 1620. 18819.]]]]