ภาพรวม
ใช้ numpy.kron() เพื่อหาผลคูณโครเนคเกอร์ของอาร์เรย์ที่มีมิติไม่เท่ากัน ฟังก์ชันจะปรับมิติโดยการเติม 1 ไปด้านหน้าอัตโนมัติ
ขั้นตอนการทำงาน
- นำเข้าไลบรารี
import numpy as np - สร้างอาร์เรย์มิติต่างกัน
arr1 = np.arange(20).reshape((2, 5, 2)) # 3 มิติ arr2 = np.arange(6).reshape((2, 3)) # 2 มิติ - ตรวจสอบคุณสมบัติอาร์เรย์
print("อาร์เรย์ 1...\n", arr1) print("\nอาร์เรย์ 2...\n", arr2) print("\nมิติอาร์เรย์ 1...\n", arr1.ndim) print("\nมิติอาร์เรย์ 2...\n", arr2.ndim) print("\nรูปร่างอาร์เรย์ 1...\n", arr1.shape) print("\nรูปร่างอาร์เรย์ 2...\n", arr2.shape) - คำนวณผลคูณโครเนคเกอร์
print("\nผลลัพธ์ (Kronecker product)...\n", np.kron(arr1, arr2))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
arr1 = np.arange(20).reshape((2, 5, 2))
arr2 = np.arange(6).reshape((2, 3))
print("อาร์เรย์ 1...\n", arr1)
print("\nอาร์เรย์ 2...\n", arr2)
print("\nมิติของอาร์เรย์ 1...\n", arr1.ndim)
print("\nมิติของอาร์เรย์ 2...\n", arr2.ndim)
print("\nรูปร่างของอาร์เรย์ 1...\n", arr1.shape)
print("\nรูปร่างของอาร์เรย์ 2...\n", arr2.shape)
print("\nผลลัพธ์ (Kronecker product)...\n", np.kron(arr1, arr2))
ผลลัพธ์ที่คาดหวัง
อาร์เรย์ 1...
[[[ 0 1] [ 2 3] [ 4 5] [ 6 7] [ 8 9]]
[[10 11] [12 13] [14 15] [16 17] [18 19]]]
อาร์เรย์ 2...
[[0 1 2]
[3 4 5]]
มิติของอาร์เรย์ 1...
3
มิติของอาร์เรย์ 2...
2
รูปร่างของอาร์เรย์ 1...
(2, 5, 2)
รูปร่างของอาร์เรย์ 2...
(2, 3)
ผลลัพธ์ (Kronecker product)...
[[[ 0 0 0 0 1 2] ... ] ... ]