บทนำ
เพื่อประเมินอนุกรมเลจันเดอร์ (Legendre series) ที่จุด x เราสามารถใช้เมธอด polynomial.legendre.legval() ใน NumPy พารามิเตอร์หลักมีดังนี้:
- x: หาก x เป็นลิสต์หรือทูเพิล จะถูกแปลงเป็น ndarray มิฉะนั้นจะคงค่าเดิมและถูกถือว่าเป็นสเกลาร์ (scalar) ในทั้งสองกรณี x หรือองค์ประกอบของมันต้องรองรับการบวกและคูณกับตัวเองและกับองค์ประกอบของ c
- c: อาร์เรย์ของสัมประสิทธิ์ ที่จัดเรียงโดยสัมประสิทธิ์สำหรับพจน์ดีกรี n จะอยู่ใน
c[n]หาก c เป็นมัลติมิติ ดัชนีที่เหลือจะนับพหุนามหลายพหุนาม ในกรณี 2 มิติ สัมประสิทธิ์อาจถูกคิดว่าจัดเก็บในคอลัมน์ของ c - tensor: หากเป็น True รูปทรงของอาร์เรย์สัมประสิทธิ์จะถูกขยายด้วย 1 ด้านขวา หนึ่งต่อมิติหนึ่งของ x สเกลาร์มีมิติ 0 สำหรับการกระทำนี้ ผลลัพธ์คือทุกคอลัมน์ของสัมประสิทธิ์ใน c จะถูกประเมินสำหรับทุกองค์ประกอบของ x หากเป็น False x จะถูก broadcast ไปยังคอลัมน์ของ c สำหรับการประเมิน คีย์เวิร์ดนี้มีประโยชน์เมื่อ c เป็นมัลติมิติ ค่าเริ่มต้นคือ True
ขั้นตอนการทำงาน
1. นำเข้าไลบรารีที่จำเป็น
import numpy as np
from numpy.polynomial import legendre as L
2. สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ
c = np.arange(4).reshape(2, 2)
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. ประเมินอนุกรมเลจันเดอร์ ที่จุด x ด้วย tensor=False
print("\nResult...\n", L.legval([1, 2], c, tensor=False))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
from numpy.polynomial import legendre as L
# สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ
c = np.arange(4).reshape(2, 2)
# แสดงอาร์เรย์
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)
# ประเมินอนุกรมเลจันเดอร์ ที่จุด x ด้วย tensor=False
print("\nResult...\n", L.legval([1, 2], c, tensor=False))
ผลลัพธ์ที่คาดหวัง
Our Array...
[[0 1]
[2 3]]
Dimensions of our Array...
2
Datatype of our Array object...
int64
Shape of our Array object...
(2, 2)
Result...
[2. 7.]