ภาพรวม
ใช้ฟังก์ชัน numpy.kron() เพื่อหาผลคูณโครเนคเกอร์ (Kronecker product) ของอาร์เรย์ 1 มิติ สองชุด ผลลัพธ์เป็นอาร์เรย์รวมที่ประกอบด้วยบล็อกของอาร์เรย์ที่สองซึ่งถูกปรับขนาดด้วยอาร์เรย์แรก
คุณสมบัติ
- สมมติว่าจำนวนมิติของ a และ b เท่ากัน หากไม่ใช่ จะเติม 1 ไปด้านหน้า
- รูปร่างผลลัพธ์: (r0*s0, r1*s1, ..., rN*sN)
- องค์ประกอบ: kron(a,b)[k0,k1,...,kN] = a[i0,i1,...,iN] * b[j0,j1,...,jN]
ขั้นตอนการทำงาน
- นำเข้าไลบรารี
import numpy as np - สร้างอาร์เรย์ 1 มิติ สองชุด
arr1 = np.array([1, 10, 100]) arr2 = np.array([5, 6, 7]) - ตรวจสอบคุณสมบัติอาร์เรย์
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.array([1, 10, 100])
arr2 = np.array([5, 6, 7])
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...
[ 1 10 100]
อาร์เรย์ 2...
[5 6 7]
มิติของอาร์เรย์ 1...
1
มิติของอาร์เรย์ 2...
1
รูปร่างของอาร์เรย์ 1...
(3,)
รูปร่างของอาร์เรย์ 2...
(3,)
ผลลัพธ์ (Kronecker product)...
[ 5 6 7 50 60 70 500 600 700]