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

ประเมินอนุกรมเลจันเดอร์ ที่จุด x ใน Python

บทนำ

เพื่อประเมินอนุกรมเลจันเดอร์ (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.array([1, 2, 3])

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 (สเกลาร์)

print("\nResult...\n", L.legval(1, c))

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

import numpy as np
from numpy.polynomial import legendre as L

# สร้างอาร์เรย์สัมประสิทธิ์
c = np.array([1, 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)

# ประเมินอนุกรมเลจันเดอร์ ที่จุด x (สเกลาร์)
print("\nResult...\n", L.legval(1, c))

ผลลัพธ์ที่คาดหวัง

Our Array...
 [1 2 3]
Dimensions of our Array...
 1
Datatype of our Array object...
 int64
Shape of our Array object...
 (3,)

Result...
 6.0