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

Đánh giá đa thức tại điểm x broadcast qua cột hệ số trong Python

Giới thiệu

Phương thức polynomial.polyval() với tensor=False cho phép broadcast mảng điểm x qua các cột của mảng hệ số 2D c. Mỗi cột của c là một đa thức riêng biệt, x được áp dụng cho từng đa thức theo cặp (x[i], c[:, i]).

Ví dụ

import numpy as np
from numpy.polynomial.polynomial import polyval

c = np.arange(4).reshape(2, 2)  # Cột 0: [0,2] → 0 + 2x; Cột 1: [1,3] → 1 + 3x
print("Hệ số (2 cột):\n", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

x = [1, 2]
# tensor=False: x broadcast qua cột → polyval(x[0], c[:,0]), polyval(x[1], c[:,1])
result = polyval(x, c, tensor=False)
print("\nKết quả (tensor=False):", result)

Kết quả

Hệ số (2 cột):
 [[0 1]
 [2 3]]
Số chiều: 2
Kiểu dữ liệu: int64
Hình dạng: (2, 2)

Kết quả (tensor=False): [2. 7.]

Giải thích

  • Cột 0: 0 + 2*1 = 2
  • Cột 1: 1 + 3*2 = 7

Khác với tensor=True (mặc định) sẽ đánh giá mỗi đa thức tại mọi điểm x, cho kết quả ma trận 2x2.