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

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 + 1*x + 2*y + 2*x*y を表します。

polyint()メソッドの主なパラメータ

  • c(第1引数):多項式係数の1次元配列。低次から高次の順に並べます。
  • m(第2引数):積分の回数。正の整数である必要があります(デフォルト:1)。
  • k(第3引数):積分定数。1回目の積分におけるゼロでの値がリストの最初の要素に対応し、2回目の積分におけるゼロでの値が2番目の要素に対応します。k == [](デフォルト)の場合、すべての定数はゼロに設定されます。m == 1の場合は、リストの代わりに単一のスカラーを指定することも可能です。
  • lbnd(第4引数):積分の下限(デフォルト:0)。
  • scl(第5引数):各積分の後、積分定数を加算する前に結果に乗算されるスケール係数(デフォルト:1)。
  • axis(第6引数):積分を実行する対象の軸(デフォルト: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)

polynomial.polyint()メソッドを使って多項式を積分します。

print("\nResult...\n",P.polyint(c))

サンプルコード

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)

# polynomial.polyint()メソッドで多項式を積分
print("\nResult...\n",P.polyint(c))

出力結果

Our coefficient Array...
[1 2 3]

Dimensions of our Array...
1

Datatype of our Array object...
int64

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

Result...
[0. 1. 1. 1.]

このように、係数配列[1, 2, 3](つまり 1 + 2x + 3x²)を積分すると、結果として [0., 1., 1., 1.] が返され、これは積分後の多項式 x + x² + x³ に対応します。積分定数がデフォルトでゼロに設定されているため、定数項は0になっています。

  1. Python NumPyのpolyval()メソッドで点xにおける多項式を評価する方法

    PythonのNumPyライブラリでは、polynomial.polyval()メソッドを使うことで、指定した点xにおいて多項式を簡単に評価できます。この記事では、polyval()の各パラメータの意味と、実際のコード例を使った使い方を詳しく解説します。polyval()メソッドのパラメータ第1引数: x多項式を評価する対象となる点です。リストやタプルを渡した場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素が、自身および係数cの要素との間で加算・乗算をサポートしている必要があります。第2引数: c多項式の係数を格納した配列です。

  2. Pythonで実装するスナップショット配列(SnapshotArray)の解説

    スナップショット配列とは本記事では、指定されたインターフェースを満たす「スナップショット配列(SnapshotArray)」をPythonで実装する方法を解説します。このデータ構造は、以下の4つの操作をサポートする必要があります。SnapshotArray(int length):指定された長さで配列状のデータ構造を初期化します。初期状態では、すべての要素が0です。set(index, val):指定されたインデックスの要素を val に設定します。snap():現在の配列全体のスナップショットを取得し、snap_id を返します。snap_id は snap() を呼び出した回数から1を引い