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

Python NumPyのpolygrid2dでxとyのデカルト積上の2次元多項式を評価する方法

Pythonでxとyのデカルト積(直積)上の2次元多項式を評価するには、numpy.polynomial.polynomialモジュールのpolygrid2d(x, y, c)メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。

polygrid2dメソッドのパラメータ

第1パラメータ:x、y

xとyは、それぞれデカルト積の各点で評価される配列です。xまたはyがリストやタプルの場合、まずndarrayに変換されます。すでにndarrayである場合はそのまま使用され、ndarrayでもリストでもない場合はスカラーとして扱われます。

第2パラメータ:c

cは係数の配列で、次数i、jの項に対応する係数がc[i, j]に格納されるように並べられています。cの次元が2より大きい場合、残りのインデックスは複数の係数セットを表します。逆にcの次元が2未満の場合は、形状を2次元にするために暗黙的に1が追加されます。結果の形状は「c.shape[2:] + x.shape + y.shape」になります。

実装手順

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

import numpy as np
from numpy.polynomial.polynomial import polygrid2d

次に、np.arange()とreshape()を使って2次元の係数配列を作成します。

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

作成した配列を表示して確認します。

print("Our 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)

最後に、polygrid2d()メソッドを使って、xとyのデカルト積上で2次元多項式を評価します。

print("\nResult...\n",polygrid2d([1,2],[1,2], c))

完全なコード例

import numpy as np
from numpy.polynomial.polynomial import polygrid2d

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

# 配列を表示
print("Our 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)

# polygrid2d()でxとyのデカルト積上の2次元多項式を評価
print("\nResult...\n",polygrid2d([1,2],[1,2], c))

出力結果

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

Dimensions of our Array...
2

Datatype of our Array object...
int64

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

Result...
   [[ 6. 10.]
   [11. 18.]]

このように、polygrid2d()メソッドを使うことで、グリッド状の点群に対して効率的に2次元多項式の値を一括計算できます。類似の関数として、単一点で評価するpolyval2d()もありますが、複数のx値とy値のすべての組み合わせを評価したい場合はpolygrid2d()が便利です。

  1. Pythonで1次元の係数配列を使ってxとyのデカルト積上の2次元多項式を評価する方法

    polygrid2d()メソッドとはxとyのデカルト積(直積)上で2次元多項式を評価するには、Pythonの polynomial.polygrid2d(x, y, c) メソッドを使用します。このメソッドは、xとyのデカルト積に含まれる各点における2次元多項式の値を返します。第1引数の x と y は、2次元級数を評価する対象となる点の座標です。x または y がリストやタプルである場合は、まず ndarray に変換されます。それ以外の場合はそのまま変更されず、ndarray でなければスカラーとして扱われます。第2引数の c は係数の配列で、次数 i,j の項に対応する係数が c[i,j

  2. 【Python】3次元の係数配列を使ってxとyのデカルト積上の2次元多項式を評価する方法

    xとyのデカルト積(直積)上で2次元多項式を評価するには、Pythonの numpy.polynomial.polynomial モジュールに含まれる polygrid2d(x, y, c) メソッドを使用します。このメソッドは、xとyのデカルト積の各点における2次元多項式の値を返します。パラメータの説明第1パラメータ(x, y): 評価対象となる2つの系列です。xまたはyがリストやタプルとして渡された場合は、まずndarrayに変換されます。すでにndarrayである場合はそのまま使用され、それ以外の場合はスカラーとして扱われます。第2パラメータ(c): 多項式の係数を格納した配列です。次数