Hoe een kruisproduct in python te berekenen
Ervan uitgaande dat we vector A hebben met elementen (A 1 , A 2 , A 3 ) en vector B met elementen (B 1 , B 2 , B 3 ), kunnen we het kruisproduct van deze twee vectoren als volgt berekenen:
Kruisproduct = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
Stel dat we bijvoorbeeld de volgende vectoren hebben:
- Vector A: (1, 2, 3)
- Vector B: (4, 5, 6)
We kunnen het kruisproduct van deze vectoren als volgt berekenen:
- Kruisproduct = [(A 2 *B 3 ) – (A 3 *B 2 ), (A 3 *B 1 ) – (A 1 *B 3 ), (A 1 *B 2 ) – (A 2 *B 1 )]
- Kruisproduct = [(2*6) – (3*5), (3*4) – (1*6), (1*5) – (2*4)]
- Kruisproduct = (-3, 6, -3)
U kunt een van de volgende twee methoden gebruiken om het kruisproduct van twee vectoren in Python te berekenen:
Methode 1: Gebruik de cross()-functie van NumPy
import numpy as np #calculate cross product of vectors A and B n.p. cross (A, B)
Methode 2: Definieer uw eigen functie
#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)
De volgende voorbeelden laten zien hoe u elke methode in de praktijk kunt gebruiken.
Voorbeeld 1: gebruik van de NumPy cross()-functie
De volgende code laat zien hoe u de functie cross() van NumPy gebruikt om het kruisproduct tussen twee vectoren te berekenen:
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]
Het kruisproduct blijkt (-3, 6, -3) te zijn.
Dit komt overeen met het kruisproduct dat we eerder handmatig hebben berekend.
Voorbeeld 2: Definieer uw eigen functie
De volgende code laat zien hoe u uw eigen functie definieert om het kruisproduct tussen twee vectoren te berekenen:
#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]
Het kruisproduct blijkt (-3, 6, -3) te zijn.
Dit komt overeen met het kruisproduct dat we in het vorige voorbeeld hebben berekend.
Aanvullende bronnen
In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken in Python kunt uitvoeren:
Hoe een puntproduct te berekenen met NumPy
Hoe een NumPy-matrix te normaliseren
Hoe rij aan matrix toe te voegen in NumPy