Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Python에서 축 0에 대한 N 차원 배열의 그라디언트 반환

<시간/>

그라디언트는 내부 포인트의 2차 정확한 중심 차이와 경계에서 1차 또는 2차 정확한 일측(앞으로 또는 뒤로) 차이를 사용하여 계산됩니다. 따라서 반환된 그래디언트는 입력 배열과 동일한 모양을 갖습니다. 첫 번째 매개변수 f는 스칼라 함수의 샘플을 포함하는 N차원 배열입니다. 두 번째 매개변수는 varargs, 즉 f 값 사이의 간격입니다. 모든 치수에 대한 기본 단일 간격입니다.

세 번째 매개변수는 edge_order{1, 2}입니다. 즉, Gradient는 경계에서 N차 정확한 차이를 사용하여 계산됩니다. 기본값:1. 네 번째 매개변수는 Gradient로 지정된 축을 따라 계산됩니다. 기본(axis =None)은 입력 배열의 모든 축에 대한 기울기를 계산하는 것입니다. 축은 음수일 수 있으며 이 경우 마지막 축에서 첫 번째 축까지 계산됩니다. 이 메서드는 각 차원에 대한 f의 도함수에 해당하는 ndarrays 목록을 반환합니다. 각 도함수는 f와 모양이 같습니다.

단계

먼저 필요한 라이브러리를 가져옵니다 -

import numpy as np

array() 메서드를 사용하여 numpy 배열 만들기. float 유형의 요소를 추가했습니다 -

arr = np.array([[20, 35, 57], [70, 85, 120]], dtype = float)

배열 표시 -

print("Our Array...\n",arr)

치수 확인 -

print("\nDimensions of our Array...\n",arr.ndim)

데이터 유형 가져오기 -

print("\nDatatype of our Array object...\n",arr.dtype)

그라디언트는 내부 포인트의 2차 정확한 중심 차이와 경계에서 1차 또는 2차 정확한 단측(앞으로 또는 뒤로) 차이를 사용하여 계산됩니다. 따라서 반환된 그래디언트는 입력 배열과 동일한 모양을 갖습니다 -

print("\nResult (gradient)...\n",np.gradient(arr, axis = 0))

예시

import numpy as np

# Creating a numpy array using the array() method
# We have added elements of float type
arr = np.array([[20, 35, 57], [70, 85, 120]], dtype = float)

# Display the array
print("Our Array...\n",arr)

# Check the Dimensions
print("\nDimensions of our Array...\n",arr.ndim)

# Get the Datatype
print("\nDatatype of our Array object...\n",arr.dtype)

# The gradient is computed using second order accurate central differences in the interior points and either first or second order accurate one-sides (forward or backwards) differences at the boundaries. The returned gradient hence has the same shape as the input array.
print("\nResult (gradient)...\n",np.gradient(arr, axis = 0))
와 모양이 같습니다.

출력

Our Array...
[[ 20. 35. 57.]
[ 70. 85. 120.]]

Dimensions of our Array...
2

Datatype of our Array object...
float64

Result (gradient)...
[[50. 50. 63.]
[50. 50. 63.]]