직각삼각형의 두 변(밑변과 높이)이 주어졌을 때 빗변을 구하려면 Python Numpy의 numpy.hypot() 메서드를 사용하면 됩니다. 이 메서드는 삼각형의 빗변 값을 반환하며, x1과 x2가 모두 스칼라인 경우 스칼라 값을 돌려줍니다.
numpy.hypot()은 요소 단위(element-wise)로 sqrt(x1**2 + x2**2)와 동일하게 동작합니다. 만약 x1 또는 x2가 스칼라 값이라면, 다른 인수의 각 요소에 대해 브로드캐스팅(broadcasting)되어 적용됩니다. 매개변수는 삼각형의 두 직각변에 해당하며, x1.shape != x2.shape인 경우에는 공통 형태로 브로드캐스트 가능해야 합니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
정수 요소를 가진 배열을 생성합니다.
arr = np.ones((3, 3), dtype=int)
배열을 출력합니다.
print("Array...\n",arr)배열의 데이터 타입을 확인합니다.
print("\nArray datatype...\n",arr.dtype)배열의 차원을 확인합니다.
print("\nArray Dimensions...\n",arr.ndim)배열의 요소 개수를 확인합니다.
print("\nNumber of elements in the Array...\n",arr.size)빗변을 계산합니다. 여기서는 3*arr과 4*arr을 두 직각변으로 사용합니다.
print("\nHypotenuse..\n",np.hypot((3*arr), (4*arr)))전체 예제 코드
import numpy as np
# 빗변을 구하기 위해 Python Numpy의 numpy.hypot() 메서드를 사용합니다.
# 이 메서드는 삼각형의 빗변을 반환하며, x1과 x2가 모두 스칼라이면 스칼라를 반환합니다.
# sqrt(x1**2 + x2**2)와 요소 단위로 동일하며, 스칼라 입력은 브로드캐스팅됩니다.
# 정수 요소를 가진 배열 생성
arr = np.ones((3, 3), dtype=int)
# 배열 출력
print("Array...\n", arr)
# 배열의 데이터 타입 확인
print("\nOur Array type...\n", arr.dtype)
# 배열의 차원 확인
print("\nOur Array Dimensions...\n", arr.ndim)
# 배열의 요소 개수 확인
print("\nNumber of elements...\n", arr.size)
# 빗변 계산
print("\nHypotenuse..\n", np.hypot((3*arr), (4*arr)))실행 결과
Array... [[1 1 1] [1 1 1] [1 1 1]] Our Array type... int64 Our Array Dimensions... 2 Number of elements... 9 Hypotenuse.. [[5. 5. 5.] [5. 5. 5.] [5. 5. 5.]]
위 결과에서 볼 수 있듯이, 두 직각변이 각각 3과 4일 때 빗변은 피타고라스 정리에 따라 √(3² + 4²) = 5로 계산됩니다. 3x3 배열의 모든 요소에 대해 동일한 방식으로 빗변 값이 반환된 것을 확인할 수 있습니다.