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

Tích ngoài (outer product) của hai mảng trong Python

Để tính tích ngoài (outer product) của hai vector, dùng numpy.outer(). Với vector a = [a0, a1, ..., aM] và b = [b0, b1, ..., bN], kết quả là ma trận (M+1) x (N+1) với phần tử [i, j] = a[i] * b[j]. Đầu vào tự động làm phẳng nếu không phải 1D.

Tham số

  • a, b (array_like): Hai vector đầu vào.
  • out (ndarray, tùy chọn): Vị trí lưu kết quả.

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 ngoài
print("\nKết quả (Tích ngoài)...\n", np.outer(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 ngoài)...\n", np.outer(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 ngoài)...
 [[100 125 150]
 [200 250 300]
 [300 375 450]]