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

ประเมินอนุกรมเฮอร์ไมท์ที่จุด x เมื่อสัมประสิทธิ์เป็นหลายมิติใน Python

หากต้องการประเมินค่า (evaluate) อนุกรมเฮอร์ไมท์ (Hermite series) ที่จุด x ให้ใช้เมธอด hermite.hermval() ใน Python NumPy

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

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

ขั้นตอนการใช้งาน

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

import numpy as np
from numpy.polynomial import hermite as H

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=[1,2]

print("\nResult...\n", H.hermval([1, 2], c))

ตัวอย่างโค้ดเต็ม

import numpy as np
from numpy.polynomial import hermite as H

# สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ
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
print("\nResult...\n", H.hermval([1, 2], c))

ผลลัพธ์ที่ได้

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...
 [[ 4.  8.]
 [ 7. 13.]]

คำอธิบายเพิ่มเติม

อาร์เรย์สัมประสิทธิ์ c (shape 2×2):

[[0 1]
 [2 3]]

ถูกตีความว่าเป็นพหุนามเฮอร์ไมท์ 2 ตัว (2 คอลัมน์):

  • พหุนามที่ 1 (คอลัมน์ 0): 0·H₀ + 2·H₁ = 2·H₁
  • พหุนามที่ 2 (คอลัมน์ 1): 1·H₀ + 3·H₁ = H₀ + 3·H₁

โดยที่ Hₙ คือพหุนามเฮอร์ไมท์อันดับ n (physicist's Hermite polynomials)

ประเมินที่ x = [1, 2] ด้วย tensor=True (default):

  • x=1: พหุนามที่ 1 → 4.0, พหุนามที่ 2 → 7.0
  • x=2: พหุนามที่ 1 → 8.0, พหุนามที่ 2 → 13.0

ผลลัพธ์ shape (2, 2) ตรงกับ (len(x), n_polynomials)

การตั้งค่า tensor=False จะเปลี่ยนพฤติกรรมเป็น broadcasting แทน

ประเมินอนุกรมเฮอร์ไมท์ที่จุด x เมื่อสัมประสิทธิ์เป็นหลายมิติใน Python

ใช้ hermite.hermval() ประเมินอนุกรมเฮอร์ไมท์หลายพหุนามพร้อมกันที่ x=[1,2] สัมประสิทธิ์ 2x2 คืนค่า matrix 2x2