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

Đánh giá đa thức tại các điểm x với mảng nghiệm đa chiều trong Python


Để đánh giá một đa thức được chỉ định bởi các nghiệm của nó tại các điểm x, hãy sử dụng phương thức polynomial.polyvalfromroots() trong Python Numpy. Tham số thứ nhất là x. Nếu x là danh sách hoặc tuple, nó được chuyển đổi thành ndarray, ngược lại nó được giữ nguyên và được coi là một scalar. Trong cả hai trường hợp, x hoặc các phần tử của nó phải hỗ trợ phép cộng và nhân với chính nó và với các phần tử của r.

Tham số thứ hai, r là mảng các nghiệm. Nếu r là đa chiều, chỉ mục đầu tiên là chỉ mục nghiệm, trong khi các chỉ mục còn lại liệt kê nhiều đa thức. Ví dụ, trong trường hợp hai chiều, các nghiệm của mỗi đa thức có thể được coi là lưu trữ trong các cột của r.

Tham số thứ ba là tensor. Nếu True, hình dạng của mảng nghiệm được mở rộng bằng các 1 ở bên phải, một cho mỗi chiều của x. Scalar có chiều 0 cho hành động này. Kết quả là mọi cột hệ số trong r được đánh giá cho mọi phần tử của x. Nếu False, x được broadcast qua các cột của r để đánh giá. Từ khóa này hữu ích khi r là đa chiều. Giá trị mặc định là True.

Các bước thực hiện

Trước tiên, nhập các thư viện cần thiết:

from numpy.polynomial.polynomial import polyvalfromroots
import numpy as np

Tạo mảng đa chiều các hệ số:

c = np.arange(-2, 2).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 được chỉ định bởi các nghiệm tại các điểm x, sử dụng polynomial.polyvalfromroots():

print("\nKết quả...\n", polyvalfromroots(1, c))

Ví dụ hoàn chỉnh

from numpy.polynomial.polynomial import polyvalfromroots
import numpy as np

# Tạo mảng đa chiều các hệ số
c = np.arange(-2, 2).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 từ các nghiệm
print("\nKết quả...\n", polyvalfromroots(1, c))

Đầu ra

Mảng của chúng ta...
 [[-2 -1]
  [ 0 1]]
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ả...
 [3. 0.]