使用 Python 和 4D 係數陣列評估 (x,y,z) 點處的 3D勒讓德級數
要評估 (x, y, z) 點處的 3D 勒讓德級數,可以使用 Python NumPy 中的 `polynomial.legendre.legval3d()` 方法。該方法返回多維多項式在由 x、y 和 z 的對應值的三元組形成的點上的值。
如果 c 的維數少於 3,則會隱式地將其形狀附加到 3-D。結果的形狀將為 c.shape[3:] + x.shape。第一個引數是 x、y、z。三維級數在 (x, y, z) 點處進行評估,其中 x、y 和 z 必須具有相同的形狀。如果 x、y 或 z 中的任何一個是列表或元組,則首先將其轉換為 ndarray,否則保持不變,如果它不是 ndarray,則將其視為標量。
第二個引數是 c。係數陣列的排序方式,使得多度為 i、j、k 的項的係數包含在 c[i,j,k] 中。如果 c 的維數大於 3,則其餘索引列舉多組係數。
步驟
首先,匯入所需的庫:
import numpy as np from numpy.polynomial import legendre as L
建立一個 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)要評估 (x, y, z) 點處的 3D 勒讓德級數,可以使用 Python NumPy 中的 `polynomial.legendre.legval3d()` 方法:
print("\nResult...\n",L.legval3d([1,2],[1,2],[1,2],c))示例
import numpy as np
from numpy.polynomial import legendre as L
# Create a 4d array of coefficients
c = np.arange(48).reshape(2,2,6,2)
# Display the array
print("Our Array...\n",c)
# Check the Dimensions
print("\nDimensions of our Array...\n",c.ndim)
# Get the Datatype
print("\nDatatype of our Array object...\n",c.dtype)
# Get the Shape
print("\nShape of our Array object...\n",c.shape)
# To evaluate a 3D Legendre series at points x, y,z use the polynomial.legendre.legval3d() method in Python Numpy
print("\nResult...\n",L.legval3d([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. 79447.5 ] [ 576. 81847.125]]
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP