Як обчислити перехресний добуток у python


Припускаючи, що ми маємо вектор A з елементами (A 1 , A 2 , A 3 ) і вектор B з елементами (B 1 , B 2 , B 3 ), ми можемо обчислити перехресний добуток цих двох векторів наступним чином:

Перехресний добуток = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1) )]

Наприклад, припустимо, що ми маємо такі вектори:

  • Вектор A: (1, 2, 3)
  • Вектор B: (4, 5, 6)

Ми можемо обчислити перехресний добуток цих векторів наступним чином:

  • Перехресний добуток = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1) )]
  • Перехресний добуток = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
  • Перехресний добуток = (-3, 6, -3)

Щоб обчислити перехресний добуток двох векторів у Python, можна використати один із наведених нижче методів:

Спосіб 1. Використовуйте функцію cross() NumPy

 import numpy as np
  
#calculate cross product of vectors A and B
n.p. cross (A, B)

Спосіб 2: Визначте власну функцію

 #define function to calculate cross product 
def cross_prod (a,b):
    result = [a[1] * b[2] - a[2] * b[1],
            a[2] * b[0] - a[0] * b[2],
            a[0] * b[1] - a[1] * b[0]]

    return result

#calculate cross product
cross_prod(A, B)

Наступні приклади показують, як використовувати кожен метод на практиці.

Приклад 1: використання функції NumPy cross().

У наступному коді показано, як використовувати функцію cross() NumPy для обчислення перехресного добутку між двома векторами:

 import numpy as np

#definevectors
A = np. array ([1, 2, 3])
B = np. array ([4, 5, 6])
  
#calculate cross product of vectors A and B
n.p. cross (A, B)

[-3, 6, -3]

Перехресний добуток виявляється (-3, 6, -3) .

Це відповідає перехресному добутку, який ми обчислили вручну раніше.

Приклад 2: Визначте власну функцію

У наступному коді показано, як визначити власну функцію для обчислення перехресного добутку між двома векторами:

 #define function to calculate cross product 
def cross_prod (a,b):
    result = [a[1] * b[2] - a[2] * b[1],
            a[2] * b[0] - a[0] * b[2],
            a[0] * b[1] - a[1] * b[0]]

    return result

#definevectors
A = np. array ([1, 2, 3])
B = np. array ([4, 5, 6])

#calculate cross product
cross_prod(A, B)

[-3, 6, -3]

Перехресний добуток виявляється (-3, 6, -3) .

Це відповідає перехресному добутку, який ми обчислили в попередньому прикладі.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання в Python:

Як розрахувати скалярний добуток за допомогою NumPy
Як нормалізувати матрицю NumPy
Як додати рядок до матриці в NumPy

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *