Python에서 외적을 계산하는 방법
요소(A 1 , A 2 , A 3 )가 있는 벡터 A와 요소(B 1 , B 2 , B 3 )가 있는 벡터 B가 있다고 가정하면 이 두 벡터의 외적을 다음과 같이 계산할 수 있습니다.
외적 = [(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: NumPy의 cross() 함수 사용
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() 함수 사용
다음 코드는 NumPy의 cross() 함수를 사용하여 두 벡터 간의 외적을 계산하는 방법을 보여줍니다.
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에서 행렬에 행을 추가하는 방법