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

Python NumPy np.hypot()로 직각삼각형의 빗변 계산하기

직각삼각형의 두 변(밑변과 높이)이 주어졌을 때 빗변을 구하려면 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 배열의 모든 요소에 대해 동일한 방식으로 빗변 값이 반환된 것을 확인할 수 있습니다.