Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy로 두 벡터(배열)의 외적 계산하기 – numpy.cross() 완벽 가이드

Python Numpy에서 두 벡터의 외적(cross product)을 계산하려면 numpy.cross() 메서드를 사용합니다. 이 메서드는 벡터 외적인 c를 반환하며, 다양한 매개변수를 통해 입력 벡터와 출력 결과의 축을 유연하게 지정할 수 있습니다.

numpy.cross() 주요 매개변수

  • a: 첫 번째 벡터의 성분
  • b: 두 번째 벡터의 성분
  • axisa: 벡터 a를 정의하는 축 (기본값: 마지막 축)
  • axisb: 벡터 b를 정의하는 축 (기본값: 마지막 축)
  • axisc: 외적 벡터가 저장될 c의 축. 입력 벡터의 차원이 모두 2인 경우 스칼라가 반환되므로 이 매개변수는 무시됩니다. (기본값: 마지막 축)
  • axis: 정의된 경우, a, b, c 모두에 적용되는 축으로 axisa, axisb, axisc를 대체합니다.

구현 단계

1단계: 필요한 라이브러리 임포트

import numpy as np

2단계: 두 개의 벡터 생성

정수(int) 타입의 요소를 가진 두 벡터를 생성합니다.

arr1 = [13, 11, 19]
arr2 = [19, 10, 8]

3단계: 벡터 출력

print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)

4단계: 외적 계산

numpy.cross() 메서드를 사용하여 두 벡터의 외적을 계산하고 결과를 출력합니다.

print("\nResult...\n", np.cross(arr1, arr2))

전체 예제 코드

import numpy as np

# 두 개의 벡터 생성 (정수 타입 요소)
arr1 = [13, 11, 19]
arr2 = [19, 10, 8]

# 벡터 출력
print("Vector 1...\n", arr1)
print("\nVector 2...\n", arr2)

# numpy.cross() 메서드로 두 벡터의 외적 계산
# 메서드는 벡터 외적인 c를 반환합니다.
print("\nResult...\n", np.cross(arr1, arr2))

실행 결과

Vector 1...
[13, 11, 19]

Vector 2...
[19, 10, 8]

Result...
[-102 257 -79]

위 실행 결과에서 볼 수 있듯이, 두 3차원 벡터 [13, 11, 19]와 [19, 10, 8]의 외적은 [-102, 257, -79]로 계산됩니다. 외적은 원래 두 벡터에 모두 수직인 새로운 벡터를 생성하며, 물리학에서 토크나 각운동량을 계산할 때 자주 활용됩니다.