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

【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 以外のオブジェクトが渡された場合は、スカラーとして扱われます。

c(係数の配列)

多項式の係数を格納した配列です。多重次数 i, j の項に対応する係数は c[i, j] に配置されている必要があります。c の次元が 2 より大きい場合、残りのインデックスは複数の係数セットを表すために使われます。一方、c の次元が 2 未満の場合は、形状に暗黙的に 1 が追加され、2次元配列として扱われます。このとき、結果の形状は c.shape[2:] + x.shape となります。

実装の手順

ステップ 1:必要なライブラリをインポートする

import numpy as np
from numpy.polynomial.polynomial import polyval2d

ステップ 2:3次元の係数配列を作成する

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

ステップ 3:配列を表示する

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

ステップ 4:次元数を確認する

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

ステップ 5:データ型を確認する

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

ステップ 6:配列の形状を確認する

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

ステップ 7:polyval2d() で多項式を評価する

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

完全なサンプルコード

import numpy as np
from numpy.polynomial.polynomial import polyval2d

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

# 配列を表示
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)

# polyval2d() で点 (x, y) における2次元多項式を評価
print("\nResult...\n", polyval2d([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]]]

Dimensions of our Array...
3

Datatype of our Array object...
int64

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

Result...
[[ 36. 108.]
[ 40. 117.]
[ 44. 126.]
[ 48. 135.]
[ 52. 144.]
[ 56. 153.]]
  1. 【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): 多項式の係数を格納した配列です。次数

  2. 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の