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

การหาผลคูณภายใน (inner product) ของอาร์เรย์ 1 มิติ และ 2 มิติ ใน Python


ภาพรวม

ใช้ numpy.inner() เพื่อหาผลคูณภายในของอาร์เรย์สองชุด สำหรับอาร์เรย์ 1 มิติ เป็น inner product ธรรมดา สำหรับมิติสูงกว่า จะเป็นผลรวมผลคูณตามแกนสุดท้าย

เงื่อนไข

  • พารามิเตอร์ a และ b: สองเวกเตอร์
  • หากไม่ใช่สเกลาร์ มิติสุดท้ายต้องตรงกัน

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

  1. นำเข้าไลบรารี
    import numpy as np
    
  2. สร้างอาร์เรย์
    arr1 = np.arange(2).reshape((1, 1, 2))
    arr2 = np.arange(6).reshape((3, 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)
    
  4. คำนวณ inner product
    print("\nผลลัพธ์ (Inner Product)...\n", np.inner(arr1, arr2))
    

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

import numpy as np

arr1 = np.arange(2).reshape((1, 1, 2))
arr2 = np.arange(6).reshape((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ผลลัพธ์ (Inner Product)...\n", np.inner(arr1, arr2))

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

อาร์เรย์ 1...
 [[[0 1]]]
อาร์เรย์ 2...
 [[0 1]
 [2 3]
 [4 5]]
มิติของอาร์เรย์ 1...
 3
มิติของอาร์เรย์ 2...
 2
รูปร่างของอาร์เรย์ 1...
 (1, 1, 2)
รูปร่างของอาร์เรย์ 2...
 (3, 2)
ผลลัพธ์ (Inner Product)...
 [[[1 3 5]]]