Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ประเมินอนุกรมเชบิชีฟ ที่จุด x แบรอดคาสต์ (Broadcast) ผ่านคอลัมน์ของสัมประสิทธิ์ใน Python

บทนำ

ในการประเมินอนุกรมเชบิชีฟ (Chebyshev series) ที่จุด x สามารถใช้เมธอด chebyshev.chebval() ใน NumPy ของ Python พารามิเตอร์ tensor ควบคุมวิธีการแบรอดคาสต์ (broadcasting) ระหว่าง x และอาร์เรย์สัมประสิทธิ์

พารามิเตอร์สำคัญ

  • x: จุดที่ต้องการประเมิน หากเป็นลิสต์หรือทูเพิล จะถูกแปลงเป็น ndarray
  • c: อาร์เรย์สัมประสิทธิ์ จัดเรียงโดยที่สัมประสิทธิ์ของพจน์ดีกรี n อยู่ใน c[n] หากเป็นหลายมิติ ดัชนีที่เหลือจะนับพหุนามหลายตัว
  • tensor: หากเป็น True (ค่าเริ่มต้น) รูปร่างของ c จะขยายด้วย 1 ทางด้านขวา สำหรับแต่ละมิติของ x ทำให้ทุกคอลัมน์ของ c ถูกประเมินสำหรับทุกองค์ประกอบของ x หากเป็น False x จะถูกแบรอดคาสต์ผ่านคอลัมน์ของ c

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

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

2. สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ

c = np.arange(6).reshape(3, 2)

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. ประเมินอนุกรมเชบิชีฟ ด้วย tensor=False

print("\nResult (chebval)...\n", C.chebval([1, 2], c, tensor=False))

ตัวอย่างโค้ดสมบูรณ์

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

# สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ (3x2)
c = np.arange(6).reshape(3, 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 (chebval)...\n", C.chebval([1, 2], c, tensor=False))

ผลลัพธ์

Our Array...
 [[0 1]
  [2 3]
  [4 5]]
Dimensions of our Array...
 2
Datatype of our Array object...
 int64
Shape of our Array object...
 (3, 2)
Result (chebval)...
 [ 6. 42.]

สรุป

เมื่อตั้งค่า tensor=False จุด x จะถูกแบรอดคาสต์ผ่านคอลัมน์ของอาร์เรย์สัมประสิทธิ์ c ซึ่งมีประโยชน์เมื่อ c เป็นหลายมิติและต้องการประเมินแต่ละคอลัมน์แยกกัน