Pythonのpolyint()メソッドで多項式を積分し、積分定数を設定する方法
Pythonで多項式を積分するには、NumPyのpolynomialモジュールが提供するpolyint()メソッドを使用します。このメソッドは、多項式の係数配列cを下限lbndから指定した軸に沿ってm回積分し、その結果の係数配列を返します。
各積分の反復処理では、結果の級数にスケール係数sclが乗算され、その後に積分定数kが加算されます。このスケール係数は、変数の線形変換を行う際に使用されます。引数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」を表します。
polyint()メソッドの主なパラメータ
- c: 多項式の係数の1次元配列。次数の低い順から高い順に並べます。
- m: 積分の回数。正の整数である必要があります(デフォルト: 1)。
- k: 積分定数。1回目の積分におけるゼロでの値がリストの最初の要素に対応し、2回目の積分におけるゼロでの値が2番目の要素に対応します。k == [](デフォルト)の場合、すべての積分定数はゼロに設定されます。m == 1の場合は、リストの代わりに単一のスカラー値を指定することもできます。
- lbnd: 積分の下限(デフォルト: 0)。
- scl: 各積分の後、積分定数を加算する前に結果に乗算されるスケール係数(デフォルト: 1)。変数の線形変換に使用します。
- axis: 積分を実行する軸(デフォルト: 0)。
手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial import polynomial as P
多項式の係数配列を作成します。
c = np.array([1,2,3])
係数配列を表示します。
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)
多項式を積分するには、polyint()メソッドを使用します。ここでは、積分定数としてk=3を指定して積分を実行します。
print("\nResult...\n",P.polyint(c, k = 3))
完全なコード例
import numpy as np
from numpy.polynomial import polynomial as P
# 多項式の係数配列を作成
c = np.array([1,2,3])
# 係数配列を表示
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)
# polyint()メソッドで多項式を積分(積分定数としてk=3を指定)
print("\nResult...\n",P.polyint(c, k = 3))
実行結果
Our coefficient Array... [1 2 3] Dimensions of our Array... 1 Datatype of our Array object... int64 Shape of our Array object... (3,) Result... [3. 1. 1. 1.]
結果の解説
このコードでは、係数配列[1, 2, 3]が表す多項式「1 + 2x + 3x²」を積分しています。積分すると「x + x² + x³ + C」となり、積分定数としてk=3が指定されているため、最終的な結果は「3 + x + x² + x³」になります。これが出力の係数配列[3. 1. 1. 1.]に対応しています。積分によって次数が1つ増え、係数配列の長さが4になっている点にも注目してください。
-
Pythonで多項式を積分する方法 – numpy.polynomial.polyint()の使い方
Pythonで多項式を積分するには、numpyライブラリのpolynomial.polyint()メソッドを使用します。このメソッドは、係数配列cを下限lbndから開始して指定した軸に沿ってm回積分し、その結果の多項式係数を返します。各反復処理では、得られた級数にsclが乗算され、積分定数kが加算されます。このスケーリング係数は、変数の線形変換を行う際に役立ちます。 引数cは係数の配列で、各軸に沿って低次から高次の順に並べます。例えば、[1,2,3]は多項式 1 + 2*x + 3*x**2 を表します。また、axis=0がx、axis=1がyである場合、[[1,2],[1,2]]は 1 +
-
【Python】polyint()で多項式を積分し、スカラー倍してから積分定数を追加する方法
はじめにPythonで多項式を積分するには、NumPyの polynomial.polyint() メソッドを使用します。このメソッドは、係数配列 c を下限 lbnd から軸 axis に沿って m 回積分した結果の多項式係数を返します。各反復処理のたびに、得られた級数は scl 倍され、その後に積分定数 k が加算されます。このスケーリング係数は、変数の線形変換を行う際に活用されます。引数 c は、低次から高次の順に並んだ係数の配列です。例えば、[1,2,3] は多項式 1 + 2x + 3x² を表し、[[1,2],[1,2]] は axis=0 を x、axis=1 を y とした場合