Python NumPyのpolyval3d()メソッドで、点(x, y, z)における3D多項式を係数の2D配列から評価する方法
PythonのNumPyライブラリには、3次元多項式を指定した点で評価するためのpolynomial.polyval3d()メソッドが用意されています。このメソッドは、x、y、zに対応する値の組み合わせ(トリプル)から構成される各点において、多次元多項式の値を返します。
polyval3d()メソッドのパラメータ
x、y、z:3次元級数を評価する点の座標です。x、y、zは同じ形状である必要があります。いずれかがリストやタプルの場合は、まずndarrayに変換されます。ndarrayでない場合はスカラーとして扱われます。
c:係数を格納する配列です。多項式の次数 i, j, k に対応する項の係数は c[i,j,k] に格納されます。c の次元が3より大きい場合、残りのインデックスは複数の係数セットを表します。逆にcの次元が3未満の場合は、形状に暗黙的に1が追加され、3次元化されます。結果の形状は c.shape[3:] + x.shape となります。
実装の手順
まず、必要なライブラリをインポートします。
import numpy as np from numpy.polynomial.polynomial import polyval3d
次に、係数の2D配列を作成します。
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)最後に、polyval3d()メソッドを使って点(1, 1, 1)と(2, 2, 2)における3D多項式を評価します。
print("\nResult...\n",polyval3d([1,2],[1,2],[1,2], c))完全なコード例
import numpy as np
from numpy.polynomial.polynomial import polyval3d
# 係数の2D配列を作成
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)
# polyval3d()メソッドで点(x, y, z)における3D多項式を評価
print("\nResult...\n",polyval3d([1,2],[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... [24. 42.]
このように、係数配列 [[0, 1], [2, 3]] を使用した場合、点(1, 1, 1)での評価結果は24.0、点(2, 2, 2)での評価結果は42.0となることが確認できます。polyval3d()メソッドを使えば、複雑な3次元多項式の計算も簡単に行えます。
-
Python NumPyのpolyval()メソッドで点xにおける多項式を評価する方法
PythonのNumPyライブラリでは、polynomial.polyval()メソッドを使うことで、指定した点xにおいて多項式を簡単に評価できます。この記事では、polyval()の各パラメータの意味と、実際のコード例を使った使い方を詳しく解説します。polyval()メソッドのパラメータ第1引数: x多項式を評価する対象となる点です。リストやタプルを渡した場合はndarrayに変換され、それ以外の場合はスカラーとしてそのまま扱われます。いずれの場合も、xまたはその要素が、自身および係数cの要素との間で加算・乗算をサポートしている必要があります。第2引数: c多項式の係数を格納した配列です。
-
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の