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 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ố 2D:

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

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ố 2D
c = np.arange(4).reshape(2, 2)

# 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]]
Số chiều của mảng...
 2
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)
Kết quả...
 [[ 6. 10.]
 [11. 18.]]

Giải thích: Hệ số c=[[0,1],[2,3]] đại diện cho đa thức: p(x,y) = 0 + 2*x + 1*y + 3*x*y. Tích Descartes [1,2]×[1,2] cho 4 điểm:

  • p(1,1) = 0 + 2*1 + 1*1 + 3*1*1 = 6
  • p(1,2) = 0 + 2*1 + 1*2 + 3*1*2 = 10
  • p(2,1) = 0 + 2*2 + 1*1 + 3*2*1 = 11
  • p(2,2) = 0 + 2*2 + 1*2 + 3*2*2 = 18
Kết quả ma trận 2×2: [[6, 10], [11, 18]].