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

Đánh giá đa thức 3-D tại các điểm (x, y, z) với mảng hệ số 2D trong Python


Để đánh giá một đa thức 3-D tại các điểm (x, y, z), hãy sử dụng phương thức polynomial.polyval3d() trong Python Numpy. Phương thức này trả về giá trị của đa thức đa chiều trên các điểm được hình thành từ các bộ ba giá trị tương ứng từ x, y và z.

Các tham số là x, y, z. Chuỗi ba chiều được đánh giá tại các điểm (x, y, z), nơi 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à danh sách hoặc tuple, nó sẽ được chuyển đổi thành ndarray trước, ngược lại nó được giữ nguyên và nếu nó không phải là ndarray, nó được coi là một scalar.

Tham số c là mảng các hệ số được sắp xếp sao cho hệ số của hạng tử bậc đa i,j,k được chứa trong c[i,j,k]. Nếu c có chiều lớn hơn 3, các chỉ mục còn lại liệt kê nhiều bộ hệ số. Nếu c có ít hơn 3 chiều, các 1 được ngầm thêm vào hình dạng của nó để làm cho nó thành 3-D. Hình dạng của kết quả sẽ là c.shape[3:] + x.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 polyval3d

Tạo mảng 2D các hệ số:

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 3-D tại các điểm (x, y, z), sử dụng phương thức polynomial.polyval3d():

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

Ví dụ hoàn chỉnh

import numpy as np
from numpy.polynomial.polynomial import polyval3d

# Tạo mảng 2D các hệ số
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 3-D tại các điểm (x, y, z)
print("\nKết quả...\n", polyval3d([1,2], [1,2], [1,2], c))

Đầ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ả...
 [24. 42.]