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

ประเมินอนุกรมเฮอร์ไมท์อี 3 มิติ บนผลคูณการ์ทีเซียน ด้วยอาร์เรย์สัมประสิทธิ์ 4 มิติ ใน Python

บทนำ

ในการประเมินอนุกรมเฮอร์ไมท์อี (Hermite_e) 3 มิติ บนผลคูณการ์ทีเซียนของ x, y และ z สามารถใช้เมธอด hermite_e.hermegrid3d() ใน Python เมธอดนี้จะคืนค่าของอนุกรมเฮอร์ไมท์อี 3 มิติ ที่จุดในผลคูณการ์ทีเซียนของ x, y และ z

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

  • x, y, z: จุดในผลคูณการ์ทีเซียน หากเป็นลิสต์หรือทูเพิล จะถูกแปลงเป็น ndarray
  • c: อาร์เรย์สัมประสิทธิ์ จัดเรียงโดยที่สัมประสิทธิ์ของพจน์ดีกรี i,j อยู่ใน c[i,j] หาก c มีมิติมากกว่า 2 ดัชนีที่เหลือจะนับเซตของสัมประสิทธิ์หลายชุด หาก c มีไม่ถึง 3 มิติ จะเพิ่ม 1 เข้าไปในรูปร่างเพื่อทำให้เป็น 3-D

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

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

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

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

c = np.arange(48).reshape(2, 2, 6, 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. ประเมินอนุกรมเฮอร์ไมท์อี 3 มิติ

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

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

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

# สร้างอาร์เรย์สัมประสิทธิ์ 4 มิติ
c = np.arange(48).reshape(2, 2, 6, 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)

# ประเมินอนุกรมเฮอร์ไมท์อี 3 มิติ บนผลคูณการ์ทีเซียน
print("\nResult...\n", H.hermegrid3d([1, 2], [1, 2], [1, 2], c))

ผลลัพธ์

Our Array...
 [[[[ 0  1]  [ 2  3]  [ 4  5]  [ 6  7]  [ 8  9]  [10 11]]
   [[12 13] [14 15] [16 17] [18 19] [20 21] [22 23]]]
  [[[24 25] [26 27] [28 29] [30 31] [32 33] [34 35]]
   [[36 37] [38 39] [40 41] [42 43] [44 45] [46 47]]]]
Dimensions of our Array...
 4
Datatype of our Array object...
 int64
Shape of our Array object...
 (2, 2, 6, 2)
Result...
 [[[[ 424. -1848.] [ 684. -2952.]]
   [[ 732. -3132.] [1170. -4968.]]]
  [[[ 440. -1908.] [ 708. -3042.]]
   [[ 756. -3222.] [1206. -5103.]]]]

สรุป

ตัวอย่างนี้สาธิตการใช้ hermegrid3d() กับอาร์เรย์สัมประสิทธิ์ 4 มิติ ซึ่งมิติเพิ่มเติม (2 มิติสุดท้าย) จะถูกนับเป็นเซตของสัมประสิทธิ์หลายชุด ผลลัพธ์จะมีรูปร่างที่รวมมิติของเซตสัมประสิทธิ์กับขนาดของกริด x, y, z