Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの軸1上のN次元配列の勾配を返します


勾配は、内部ポイントの2次の正確な中心の差と、境界での1次または2次の正確な片側(前方または後方)の差を使用して計算されます。したがって、返される勾配は、入力配列と同じ形状になります。最初のパラメーターfは、スカラー関数のサンプルを含むNdimensionarrayです。 2番目のパラメーターは、varargs、つまりf値間の間隔です。すべての寸法のデフォルトの単一間隔。

3番目のパラメーターはedge_order{1、2}です。つまり、勾配は境界でのN次の正確な差を使用して計算されます。デフォルト-1。4番目のパラメータはグラデーションで、指定された1つまたは複数の軸に沿ってのみ計算されます。デフォルト(axis =None)は、入力配列のすべての軸の勾配を計算することです。軸は負の場合があり、その場合、最後の軸から最初の軸までカウントされます。このメソッドは、各次元に関するfの導関数に対応するndarrayのリストを返します。各導関数はfと同じ形をしています。

ステップ

まず、必要なライブラリをインポートします-

import numpy as np

array()メソッドを使用してnumpy配列を作成します。フロートタイプの要素を追加しました-

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 = 1))

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 = 1))

出力

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

Dimensions of our Array...
2

Datatype of our Array object...
float64

Result (gradient)...
[[15. 18.5 22. ]
[15. 25. 35. ]]

  1. Pythonの軸0上のN次元配列の勾配を返します

    勾配は、内部ポイントの2次の正確な中心の差と、境界での1次または2次の正確な片側(前方または後方)の差を使用して計算されます。したがって、返される勾配は、入力配列と同じ形状になります。最初のパラメーターfは、スカラー関数のサンプルを含むN次元配列です。 2番目のパラメーターは、varargs、つまりf値間の間隔です。すべての寸法のデフォルトの単一間隔。 3番目のパラメータはedge_order{1、2}です。つまり、勾配は境界でのN次の正確な差を使用して計算されます。デフォルト:1。4番目のパラメーターはグラデーションで、指定された1つまたは複数の軸に沿ってのみ計算されます。デフォルト(ax

  2. Pythonで軸0のn番目の離散差を計算します

    n番目の離散差を計算するには、numpy.diff()メソッドを使用します。最初の差は、指定された軸に沿ってout [i] =a [i + 1]-a [i]で与えられ、diffを再帰的に使用して、より高い差が計算されます。diff()メソッドはn番目の差を返します。出力の形状は、寸法がnだけ小さい軸に沿っていることを除いて、同じです。出力のタイプは、aの任意の2つの要素間の差のタイプと同じです。これは、ほとんどの場合、のタイプと同じです。注目すべき例外はdatetime64で、これによりtimedelta64出力配列が生成されます。 最初のパラメーターは入力配列です。 2番目のパラメーターは