Giới thiệu
Khi tensor=True (mặc định), polynomial.polyval() mở rộng shape của mảng hệ số c bằng cách thêm các chiều kích thước 1 ở bên phải cho mỗi chiều của x. Kết quả: mỗi cột hệ số được đánh giá tại tất cả các điểm x.
Ví dụ so sánh
import numpy as np
from numpy.polynomial.polynomial import polyval
c = np.arange(4).reshape(2, 2) # 2 đa thức: [0,2] và [1,3]
x = [1, 2]
print("Hệ số:\n", c)
# tensor=True (mặc định)
result_true = polyval(x, c, tensor=True)
print("\nKết quả (tensor=True):\n", result_true)
print("Shape:", result_true.shape)
# tensor=False
result_false = polyval(x, c, tensor=False)
print("\nKết quả (tensor=False):", result_false)
print("Shape:", result_false.shape)
Kết quả
Hệ số:
[[0 1]
[2 3]]
Kết quả (tensor=True):
[[2. 4.]
[4. 7.]]
Shape: (2, 2)
Kết quả (tensor=False):
[2. 7.]
Shape: (2,)
Ma trận kết quả tensor=True
| x=1 | x=2 | |
|---|---|---|
| Poly 0: 0+2x | 2 | 4 |
| Poly 1: 1+3x | 4 | 7 |
Đây là hành vi "outer product" giữa x và các đa thức, rất hữu ích cho việc vẽ đồ thị hoặc tính toán lưới.