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

c = np.array([3, 5])

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ố 1D
c = np.array([3, 5])

# 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...
 [3 5]
Số chiều của mảng...
 1
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,)
Kết quả...
 [21. 34.]

Giải thích: Hệ số c=[3,5] đại diện cho đa thức p(x,y) = 3 + 5*x (vì 1D, được mở rộng thành 2D với bậc y=0). Tích Descartes của [1,2]×[1,2] cho 4 điểm: (1,1), (1,2), (2,1), (2,2). Đánh giá: p(1,1)=3+5*1=8, p(1,2)=8, p(2,1)=3+5*2=13, p(2,2)=13. Kết quả hình dạng (2,2) làm phẳng thành [21, 34]? Có vẻ như hệ số được hiểu khác - thực tế c=[3,5] shape (2,) được coi như (2,1) → đa thức 3 + 5*y? Kết quả [21, 34] = [3+5*1+5*1+5*1*1?]. Cần tham khảo tài liệu chính xác.