บทนำ
ในการลบสัมประสิทธิ์ท้าย (trailing coefficients) ที่มีค่าน้อย (ใกล้ศูนย์) ออกจากพหุนาม สามารถใช้เมธอด polynomial.polytrim() (หรือ polyutils.trimcoef()) ใน NumPy ของ Python เมธอดนี้จะคืนอาร์เรย์ 1 มิติที่ลบศูนย์ท้ายออกแล้ว
พารามิเตอร์สำคัญ
- c: อาร์เรย์ 1 มิติของสัมประสิทธิ์ จัดเรียงจากดีกรีต่ำไปสูง
- tol: ค่าขีดจำกัด (tolerance) สัมประสิทธิ์ท้ายที่มีค่าสัมบูรณ์น้อยกว่าหรือเท่ากับ tol จะถูกลบออก
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import numpy as np
from numpy.polynomial import polyutils as pu
2. สร้างอาร์เรย์สัมประสิทธิ์
c = np.array([0, 5, 0, 0, 9, 0])
3. แสดงข้อมูลของอาร์เรย์
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)
4. ลบสัมประสิทธิ์ท้ายที่เล็กน้อย
print("\nResult...\n", pu.trimcoef(c))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
from numpy.polynomial import polyutils as pu
# สร้างอาร์เรย์สัมประสิทธิ์ 1 มิติ
c = np.array([0, 5, 0, 0, 9, 0])
# แสดงข้อมูลอาร์เรย์
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...\n", pu.trimcoef(c))
ผลลัพธ์
Our Array...
[0 5 0 0 9 0]
Dimensions of our Array...
1
Datatype of our Array object...
int64
Shape of our Array object...
(6,)
Result...
[0. 5. 0. 0. 9.]
สรุป
เมธอด trimcoef() ลบสัมประสิทธิ์ท้ายที่เป็นศูนย์ (หรือใกล้ศูนย์ตาม tol) ออกจากพหุนาม ในตัวอย่าง สัมประสิทธิ์ตัวสุดท้ายที่เป็น 0 ถูกลบออก ทำให้อาร์เรย์เหลือความยาว 5 แทนที่จะเป็น 6