Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Tích trong (inner product) của hai mảng 1 chiều trong Python

Để tính tích trong (inner product) của hai vector 1D, dùng numpy.inner(). Với 1D, đây là tích vô hướng chuẩn: sum(a[i] * b[i]). Với mảng chiều cao hơn, tổng tích trên trục cuối.

Tham số

  • a, b (array_like): Hai vector. Nếu non-scalar, trục cuối phải khớp.

Các bước thực hiện

Nhập NumPy, tạo hai vector 1D:

import numpy as np

arr1 = np.array([5, 10, 15])
arr2 = np.array([20, 25, 30])

print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)
print("\nSố chiều Vector 1...\n", arr1.ndim)
print("\nSố chiều Vector 2...\n", arr2.ndim)
print("\nHình dạng Vector 1...\n", arr1.shape)
print("\nHình dạng Vector 2...\n", arr2.shape)

# Tích trong
print("\nKết quả (Tích trong)...\n", np.inner(arr1, arr2))

Ví dụ hoàn chỉnh

import numpy as np

arr1 = np.array([5, 10, 15])
arr2 = np.array([20, 25, 30])
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)
print("\nSố chiều Vector 1...\n", arr1.ndim)
print("\nSố chiều Vector 2...\n", arr2.ndim)
print("\nHình dạng Vector 1...\n", arr1.shape)
print("\nHình dạng Vector 2...\n", arr2.shape)
print("\nKết quả (Tích trong)...\n", np.inner(arr1, arr2))

Kết quả đầu ra

Vector 1...
 [ 5 10 15]
Vector 2...
 [20 25 30]
Số chiều Vector 1...
 1
Số chiều Vector 2...
 1
Hình dạng Vector 1...
 (3,)
Hình dạng Vector 2...
 (3,)
Kết quả (Tích trong)...
 800

Tính toán: 5*20 + 10*25 + 15*30 = 100 + 250 + 450 = 800.