Jak obliczyć iloczyn krzyżowy w pythonie


Zakładając, że mamy wektor A z elementami (A 1 , A 2 , A 3 ) i wektor B z elementami (B 1 , B 2 , B 3 ), możemy obliczyć iloczyn krzyżowy tych dwóch wektorów w następujący sposób:

Iloczyn krzyżowy = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]

Załóżmy na przykład, że mamy następujące wektory:

  • Wektor A: (1, 2, 3)
  • Wektor B: (4, 5, 6)

Możemy obliczyć iloczyn krzyżowy tych wektorów w następujący sposób:

  • Iloczyn krzyżowy = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
  • Iloczyn krzyżowy = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
  • Iloczyn krzyżowy = (-3, 6, -3)

Do obliczenia iloczynu dwóch wektorów w Pythonie możesz użyć jednej z dwóch poniższych metod:

Metoda 1: Użyj funkcji cross() NumPy

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

Metoda 2: Zdefiniuj własną funkcję

 #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)

Poniższe przykłady pokazują, jak zastosować każdą metodę w praktyce.

Przykład 1: użycie funkcji cross() NumPy

Poniższy kod pokazuje, jak używać funkcji cross() NumPy do obliczenia iloczynu krzyżowego między dwoma wektorami:

 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]

Okazuje się, że iloczyn krzyżowy wynosi (-3, 6, -3) .

Odpowiada to iloczynowi krzyżowemu, który obliczyliśmy wcześniej ręcznie.

Przykład 2: Zdefiniuj własną funkcję

Poniższy kod pokazuje, jak zdefiniować własną funkcję do obliczania iloczynu krzyżowego między dwoma wektorami:

 #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]

Okazuje się, że iloczyn krzyżowy wynosi (-3, 6, -3) .

Odpowiada to iloczynowi krzyżowemu, który obliczyliśmy w poprzednim przykładzie.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania w Pythonie:

Jak obliczyć iloczyn skalarny za pomocą NumPy
Jak znormalizować macierz NumPy
Jak dodać wiersz do macierzy w NumPy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *