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

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

Để đánh giá đa thức 2D trên tích Descartes của x và y, sử dụng phương thức polynomial.polygrid2d(x, y, c) trong Python. Phương thức trả về 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 và y, chuỗi hai chiều được đánh giá tại các điểm trong tích Descartes của x và y. Nếu x hoặc y là list hoặc tuple, nó đầu tiên được chuyển thành ndarray, ngược lại nó giữ nguyên và, nếu không phải ndarray, được coi như scalar.

Tham số thứ hai, c là mảng hệ số được sắp xếp sao cho hệ số cho các hạng tử bậc 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 tập hợp hệ số. Nếu c có ít hơn hai chiều, 1 được ngầm thêm vào hình dạng để làm nó 2-D. Hình dạng kết quả sẽ là c.shape[2:] + x.shape + y.shape.

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

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

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

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á đa thức 2D trên tích Descartes của x và y, sử dụng polynomial.polygrid2d():

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

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial.polynomial import polygrid2d

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

# 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á đa thức 2D
print("\nKết quả...\n", polygrid2d([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 16 17]
  [18 19 20 21 22 23]]]
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, 6)
Kết quả...
 [[[ 36. 60.]
  [ 66. 108.]]
 [[ 40. 66.]
  [ 72. 117.]]
 [[ 44. 72.]
  [ 78. 126.]]
 [[ 48. 78.]
  [ 84. 135.]]
 [[ 52. 84.]
  [ 90. 144.]]
 [[ 56. 90.]
  [ 96. 153.]]]

Giải thích: Hệ số c shape (2,2,6) → 6 đa thức 2D khác nhau (chỉ số 2). Mỗi đa thức 2D có hệ số shape (2,2) (bậc x≤1, y≤1). Tích Descartes [1,2]×[1,2] cho 4 điểm. Kết quả shape (6, 2, 2) = 6 đa thức × 2×2 điểm. Giá trị tăng đều do hệ số tăng tuyến tính.