หากต้องการแปลงพหุนาม (polynomial) เป็นอนุกรมเชบิเชฟ (Chebyshev series) ให้ใช้เมธอด chebyshev.poly2cheb() ใน Python NumPy
แปลงอาร์เรย์ที่แทนสัมประสิทธิ์ของพหุนามที่เรียงจากอันดับต่ำสุดไปสูงสุด เป็นอาร์เรย์ของสัมประสิทธิ์ของอนุกรมเชบิเชฟที่เทียบเท่า เรียงจากอันดับต่ำสุดไปสูงสุด เมธอดคืนค่าอาร์เรย์ 1 มิติ ที่มีสัมประสิทธิ์ของอนุกรมเชบิเชฟที่เทียบเท่า
พารามิเตอร์
- c: อาร์เรย์ 1 มิติ ที่มีสัมประสิทธิ์ของพหุนาม เรียงจากอันดับต่ำสุดไปสูงสุด
ขั้นตอนการใช้งาน
1. นำเข้าไลบรารีที่จำเป็น
import numpy as np
from numpy import polynomial as P
2. สร้างอาร์เรย์ด้วย numpy.array() (สัมประสิทธิ์พหุนาม)
c = np.array([1, 2, 3, 4, 5])
3. แสดงอาร์เรย์
print("Our Array...\n", c)
4. ตรวจสอบมิติ
print("\nDimensions of our Array...\n", c.ndim)
5. ตรวจสอบชนิดข้อมูล
print("\nDatatype of our Array object...\n", c.dtype)
6. ตรวจสอบรูปร่าง
print("\nShape of our Array object...\n", c.shape)
7. แปลงพหุนามเป็นอนุกรมเชบิเชฟด้วย chebyshev.poly2cheb()
print("\nResult (polynomial to chebyshev)...\n", P.chebyshev.poly2cheb(c))
ตัวอย่างโค้ดเต็ม
import numpy as np
from numpy import polynomial as P
# สร้างอาร์เรย์สัมประสิทธิ์พหุนาม: 1 + 2x + 3x² + 4x³ + 5x⁴
c = np.array([1, 2, 3, 4, 5])
# แสดงอาร์เรย์
print("Our Array...\n", c)
# ตรวจสอบมิติ
print("\nDimensions of our Array...\n", c.ndim)
# ตรวจสอบชนิดข้อมูล
print("\nDatatype of our Array object...\n", c.dtype)
# ตรวจสอบรูปร่าง
print("\nShape of our Array object...\n", c.shape)
# แปลงพหุนามเป็นอนุกรมเชบิเชฟ
print("\nResult (polynomial to chebyshev)...\n", P.chebyshev.poly2cheb(c))
ผลลัพธ์ที่ได้
Our Array...
[1 2 3 4 5]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(5,)
Result (polynomial to chebyshev)...
[4.375 5. 4. 1. 0.625]
คำอธิบายเพิ่มเติม
พหุนามต้นฉบับ: P(x) = 1 + 2x + 3x² + 4x³ + 5x⁴
อนุกรมเชบิเชฟที่เทียบเท่า: C(x) = 4.375·T₀(x) + 5·T₁(x) + 4·T₂(x) + 1·T₃(x) + 0.625·T₄(x)
โดยที่ Tₙ(x) คือพหุนามเชบิเชฟอันดับ n (Chebyshev polynomials of the first kind)
คุณสมบัติของอนุกรมเชบิเชฟ:
- มีความเสถียรทางตัวเลขดีกว่าพหุนามมาตรฐาน (น้อยกว่า Runge's phenomenon)
- เหมาะสำหรับการประมาณค่าฟังก์ชัน (function approximation)
- ใช้กันอย่างแพร่หลายในการคำนวณเชิงตัวเลข (numerical analysis) และการประมวลผลสัญญาณ
ฟังก์ชันคู่คือ chebyshev.cheb2poly() สำหรับแปลงกลับจากเชบิเชฟเป็นพหุนาม
ใช้ chebyshev.poly2cheb() แปลงพหุนาม 1+2x+3x²+4x³+5x⁴ เป็นอนุกรมเชบิเชฟ ได้สัมประสิทธิ์ [4.375, 5, 4, 1, 0.625]