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에서 행렬에 행을 추가하는 방법

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다