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

Trả về tích vô hướng của hai vector đa chiều trong Python

Để trả về tích vô hướng của hai vector đa chiều, sử dụng phương thức numpy.vdot() trong Python. Hàm vdot(a, b) xử lý số phức khác với dot(a, b). Nếu đối số đầu tiên là số phức, liên hợp phức của đối số đầu tiên được dùng để tính tích vô hướng. vdot xử lý mảng đa chiều khác với dot: nó không thực hiện tích ma trận, mà làm phẳng đối số đầu vào thành vector 1 chiều trước. Do đó, nó chỉ nên dùng cho vector.

Phương thức trả về tích vô hướng của a và b. Có thể là int, float, hoặc complex tùy thuộc vào kiểu của a và b. Tham số thứ nhất là a. Nếu a là số phức, liên hợp phức được lấy trước khi tính tích vô hướng. b là tham số thứ hai cho tích vô hướng.

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

Nhập thư viện cần thiết:

import numpy as np

Tạo hai mảng đa chiều:

arr1 = np.array([[5, 10], [15, 20]])
arr2 = np.array([[3, 6], [9, 12]])

Hiển thị mảng:

print("Mảng 1...\n", arr1)
print("\nMảng 2...\n", arr2)

Kiểm tra số chiều:

print("\nSố chiều mảng 1...\n", arr1.ndim)
print("\nSố chiều mảng 2...\n", arr2.ndim)

Kiểm tra hình dạng:

print("\nHình dạng mảng 1...\n", arr1.shape)
print("\nHình dạng mảng 2...\n", arr2.shape)

Tính tích vô hướng (làm phẳng thành 1D trước):

print("\nKết quả...\n", np.vdot(arr1, arr2))

Ví dụ hoàn chỉnh

import numpy as np

# Tạo hai mảng 2D
arr1 = np.array([[5, 10], [15, 20]])
arr2 = np.array([[3, 6], [9, 12]])

# Hiển thị mảng
print("Mảng 1...\n", arr1)
print("\nMảng 2...\n", arr2)

# Kiểm tra số chiều
print("\nSố chiều mảng 1...\n", arr1.ndim)
print("\nSố chiều mảng 2...\n", arr2.ndim)

# Kiểm tra hình dạng
print("\nHình dạng mảng 1...\n", arr1.shape)
print("\nHình dạng mảng 2...\n", arr2.shape)

# Tính tích vô hướng
print("\nKết quả...\n", np.vdot(arr1, arr2))

Kết quả đầu ra

Mảng 1... [[ 5 10] [15 20]]
Mảng 2... [[ 3 6] [ 9 12]]
Số chiều mảng 1... 2
Số chiều mảng 2... 2
Hình dạng mảng 1... (2, 2)
Hình dạng mảng 2... (2, 2)
Kết quả... 450