Come calcolare un prodotto incrociato in python


Supponendo di avere un vettore A con elementi (A 1 , A 2 , A 3 ) e un vettore B con elementi (B 1 , B 2 , B 3 ), possiamo calcolare il prodotto incrociato di questi due vettori come segue:

Prodotto incrociato = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]

Supponiamo ad esempio di avere i seguenti vettori:

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

Potremmo calcolare il prodotto incrociato di questi vettori come segue:

  • Prodotto incrociato = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
  • Prodotto incrociato = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
  • Prodotto incrociato = (-3, 6, -3)

Puoi utilizzare uno dei due metodi seguenti per calcolare il prodotto incrociato di due vettori in Python:

Metodo 1: utilizzare la funzione cross() di NumPy

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

Metodo 2: Definisci la tua funzione

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

Gli esempi seguenti mostrano come utilizzare ciascun metodo nella pratica.

Esempio 1: utilizzo della funzione NumPy cross()

Il codice seguente mostra come utilizzare la funzione cross() di NumPy per calcolare il prodotto incrociato tra due vettori:

 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]

Il prodotto incrociato risulta essere (-3, 6, -3) .

Ciò corrisponde al prodotto incrociato che abbiamo calcolato manualmente in precedenza.

Esempio 2: Definisci la tua funzione

Il codice seguente mostra come definire la propria funzione per calcolare il prodotto incrociato tra due vettori:

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

Il prodotto incrociato risulta essere (-3, 6, -3) .

Ciò corrisponde al prodotto incrociato che abbiamo calcolato nell’esempio precedente.

Risorse addizionali

I seguenti tutorial spiegano come eseguire altre attività comuni in Python:

Come calcolare il prodotto scalare utilizzando NumPy
Come normalizzare una matrice NumPy
Come aggiungere una riga alla matrice in NumPy

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *