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

Python NumPyのpolyder()で軸1に沿って多次元係数の多項式を微分する方法

PythonのNumPyで多項式を微分するには、polynomial.polyder()メソッドを使用します。このメソッドは、指定した軸(axis)に沿って多項式係数cをm回微分した結果を返します。各反復処理のたびに結果はscl(スケーリング係数、線形変数変換の際に使用)で乗算されます。

引数cは、各軸に沿って低次から高次へと並んだ係数の配列です。例えば、[1,2,3]は多項式 1 + 2*x + 3*x**2 を表し、[[1,2],[1,2]]はaxis=0がx、axis=1がyである場合、1 + 1*x + 2*y + 2*x*y を表します。

polyder()メソッドのパラメータ

  • c(第1パラメータ):多項式係数の配列。cが多次元の場合、異なる軸が異なる変数に対応し、各軸の次数は対応するインデックスで決まります。
  • m(第2パラメータ):微分を適用する回数。非負の整数である必要があります(デフォルト:1)。
  • scl(第3パラメータ):各微分の結果に乗算されるスケーリング係数。最終的な結果は scl**m 倍されます。線形変数変換のためのもので、デフォルトは1です。
  • axis(第4パラメータ):微分を適用する軸の指定(デフォルト:0)。

このメソッドは、導関数の多項式係数を返します。

手順

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

import numpy as np
from numpy.polynomial import polynomial as P

次に、多項式係数の多次元配列を作成します。

c = np.arange(4).reshape(2,2)

係数配列を表示します。

print("Our coefficient Array...\n",c)

配列の次元を確認します。

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

データ型を取得します。

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

配列の形状を取得します。

print("\nShape of our Array object...\n",c.shape)

多項式を微分するために、NumPyのpolynomial.polyder()メソッドを使用します。ここでは、軸1(axis=1)に沿って微分を行います。

print("\nResult...\n",P.polyder(c, axis = 1))

完全なコード例

import numpy as np
from numpy.polynomial import polynomial as P

# 多項式係数の多次元配列を作成
c = np.arange(4).reshape(2,2)

# 係数配列を表示
print("Our coefficient Array...\n",c)

# 配列の次元を確認
print("\nDimensions of our Array...\n",c.ndim)

# データ型を取得
print("\nDatatype of our Array object...\n",c.dtype)

# 配列の形状を取得
print("\nShape of our Array object...\n",c.shape)

# polyder()メソッドで軸1に沿って多項式を微分
print("\nResult...\n",P.polyder(c, axis = 1))

出力結果

Our coefficient Array...
[[0 1]
[2 3]]

Dimensions of our Array...
2

Datatype of our Array object...
int64

Shape of our Array object...
(2, 2)

Result...
[[1.]
[3.]]

結果の解説

元の係数配列 [[0, 1], [2, 3]] の場合、axis=1(y変数に相当する方向)に沿って見ると、各行は「定数項 + 一次の項」を表しています。例えば [0, 1] は 0 + 1*y、[2, 3] は 2 + 3*y です。yで微分すると定数項は消え、一次の項の係数が残るため、結果は [[1.], [3.]] となります。

  1. Pythonで多次元係数を持つHermite_e級数を微分する方法

    PythonでHermite_e級数を微分するには、numpy.polynomial.hermite_eモジュールのhermeder()メソッドを使用します。第1引数のcは、Hermite_e級数の係数を格納した配列です。cが多次元配列の場合、各軸が異なる変数に対応し、各軸における次数は対応するインデックスによって決まります。hermeder()メソッドの主な引数c: Hermite_e級数の係数配列。多次元配列を指定すると、各軸がそれぞれ別の変数に対応します。m: 微分の回数。非負の整数である必要があります(デフォルト: 1)。scl: スカラー値。各微分のたびにこの値が乗算され、最終的な結

  2. Python NumPyのpolyder()で特定の軸に沿って多項式を微分する方法

    PythonのNumPyでは、polynomial.polyder()メソッドを使うことで多項式を微分できます。このメソッドは、指定した軸(axis)に沿って多項式の係数cをm回微分した結果を返します。各反復処理のたびに、結果はscl(スケーリング係数)と掛け合わされます。このスケーリング係数は、変数の線形変換を行う際に使用されます。polyder()メソッドの引数について係数配列cは、各軸に沿って次数の低いものから高いものへと並べられます。例えば、[1,2,3]は「1 + 2*x + 3*x**2」という多項式を表し、[[1,2],[1,2]]はaxis=0がx、axis=1がyである場合、