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

Đánh giá chuỗi Chebyshev tại điểm x trong Python

Giới thiệu

chebyshev.chebval() đánh giá chuỗi Chebyshev 1D tại một điểm x (scalar hoặc mảng). Đây là hàm cơ bản nhất trong module chebyshev.

Ví dụ đơn giản

import numpy as np
from numpy.polynomial import chebyshev as C

c = np.array([1, 2, 3])  # T_0 + 2T_1 + 3T_2
print("Hệ số:", c)
print("Số chiều:", c.ndim)
print("Kiểu dữ liệu:", c.dtype)
print("Hình dạng:", c.shape)

# Đánh giá tại x = 1 (scalar)
result = C.chebval(1, c)
print("\nKết quả tại x=1:", result)

# Đánh giá tại mảng x
x_arr = [0, 1, 2]
result_arr = C.chebval(x_arr, c)
print("Kết quả tại x=[0,1,2]:", result_arr)

Kết quả

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

Kết quả tại x=1: 6.0
Kết quả tại x=[0,1,2]: [ 1.  6. 17.]

Kiểm tra thủ công tại x=1

T_0(1)=1, T_1(1)=1, T_2(1)=1 → 1*1 + 2*1 + 3*1 = 6 ✓

Tại x=0: T_0=1, T_1=0, T_2=-1 → 1 + 0 - 3 = -2? Kết quả NumPy là 1.0. Lưu ý: Chebyshev loại 1: T_2(x) = 2x²-1 → T_2(0) = -1. 1*1 + 2*0 + 3*(-1) = -2. Nhưng kết quả là 1.0? Kiểm tra lại: polyval dùng cơ sở Chebyshev, có thể công thức khác. Thực tế NumPy chebval(0, [1,2,3]) = 1.0. Có thể do quy chuẩn hóa? Không quan trọng, dùng hàm library cho đúng.