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

Python NumPyのpolyval3d()メソッドで4D係数配列を使って点(x, y, z)の3D多項式を評価する方法

3D多項式を点(x, y, z)で評価するには、Python NumPyのpolynomial.polyval3d()メソッドを使用します。このメソッドは、x、y、zの対応する値から構成される三つ組の点における多次元多項式の値を返します。

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

引数として渡すx、y、zは、同じ形状を持つ必要があります。いずれかがリストまたはタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。

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

実装の手順

1. 必要なライブラリをインポートする

import numpy as np
from numpy.polynomial.polynomial import polyval3d

2. 4D配列の係数を作成する

c = np.arange(48).reshape(2,2,6,2)

3. 配列を表示して確認する

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

4. 次元数・データ型・形状を確認する

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)

5. polyval3d()で多項式を評価する

点(x, y, z)における3D多項式を評価するには、polyval3d()メソッドを使用します。ここでは、x = [1, 2]、y = [1, 2]、z = [1, 2] の各点で多項式を評価してみましょう。

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

完全なコード例

import numpy as np
from numpy.polynomial.polynomial import polyval3d

# 4D配列の係数を作成
c = np.arange(48).reshape(2,2,6,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)

# polyval3d()メソッドで点(x, y, z)の3D多項式を評価
print("\nResult...\n",polyval3d([1,2],[1,2],[1,2], c))

実行結果

Our Array...
[[[[ 0 1]
   [ 2 3]
   [ 4 5]
   [ 6 7]
   [ 8 9]
   [10 11]]

   [[12 13]
   [14 15]
   [16 17]
   [18 19]
   [20 21]
   [22 23]]]


   [[[24 25]
   [26 27]
   [28 29]
   [30 31]
   [32 33]
   [34 35]]

   [[36 37]
   [38 39]
   [40 41]
   [42 43]
   [44 45]
   [46 47]]]]

Dimensions of our Array...
4

Datatype of our Array object...
int64

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

Result...
[[ 552. 18252.]
[ 576. 18819.]]

このように、polyval3d()メソッドを使うことで、4D係数配列から点(x, y, z)における3D多項式の値を簡単に計算できます。結果は入力点の形状に対応した配列として返されます。

  1. 【Python】NumPyのpolyval2d()で3次元配列の係数から点(x, y)における2次元多項式を評価する方法

    点 (x, y) における2次元多項式を評価したい場合は、Python の NumPy ライブラリが提供する polynomial.polyval2d() メソッドを使用します。このメソッドは、x と y の対応する値同士のペアから構成される各点について、2次元多項式の値を計算して返します。 polyval2d() の主なパラメータ x および y(評価する点) 2次元級数を評価する対象となる点 (x, y) を指定します。ここで、x と y は必ず同じ形状である必要があります。引数としてリストやタプルを渡した場合は、内部で自動的に ndarray に変換されます。ndarray 以外のオ

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

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