Để tạo ma trận Vandermonde giả của đa thức Hermite_e và các điểm mẫu x, y, z, hãy sử dụng hermite_e.hermevander3d() trong NumPy Python. Phương thức trả về ma trận pseudo-Vandermonde. Tham số x, y, z là các mảng tọa độ điểm, tất cả cùng hình dạng. Kiểu dữ liệu sẽ được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc các phần tử có phức hay không. Scalar được chuyển đổi thành mảng 1-D. Tham số deg là danh sách các bậc tối đa dạng [x_deg, y_deg, z_deg].
Các bước thực hiện
Trước tiên, nhập thư viện cần thiết:
import numpy as np from numpy.polynomial import hermite_e as H
Tạo mảng tọa độ điểm, tất cả cùng hình dạng bằng phương thức numpy.array():
x = np.array([1.5, 2.3]) y = np.array([3.7, 4.4]) z = np.array([5.3, 6.6])
Hiển thị các mảng:
print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)
Hiển thị kiểu dữ liệu:
print("\nKiểu dữ liệu mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu mảng 2...\n", y.dtype)
print("\nKiểu dữ liệu mảng 3...\n", z.dtype)
Kiểm tra số chiều của các mảng:
print("\nSố chiều mảng 1...\n", x.ndim)
print("\nSố chiều mảng 2...\n", y.ndim)
print("\nSố chiều mảng 3...\n", z.ndim)
Kiểm tra hình dạng của các mảng:
print("\nHình dạng mảng 1...\n", x.shape)
print("\nHình dạng mảng 2...\n", y.shape)
print("\nHình dạng mảng 3...\n", z.shape)
Để tạo ma trận Vandermonde giả của đa thức Hermite_e và các điểm mẫu x, y, z, sử dụng hermite_e.hermevander3d():
x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", H.hermevander3d(x, y, z, [x_deg, y_deg, z_deg]))
Ví dụ hoàn chỉnh
import numpy as np
from numpy.polynomial import hermite_e as H
# Tạo mảng tọa độ điểm, tất cả cùng hình dạng
x = np.array([1.5, 2.3])
y = np.array([3.7, 4.4])
z = np.array([5.3, 6.6])
# Hiển thị các mảng
print("Mảng 1...\n", x)
print("\nMảng 2...\n", y)
print("\nMảng 3...\n", z)
# Hiển thị kiểu dữ liệu
print("\nKiểu dữ liệu mảng 1...\n", x.dtype)
print("\nKiểu dữ liệu mảng 2...\n", y.dtype)
print("\nKiểu dữ liệu mảng 3...\n", z.dtype)
# Kiểm tra số chiều
print("\nSố chiều mảng 1...\n", x.ndim)
print("\nSố chiều mảng 2...\n", y.ndim)
print("\nSố chiều mảng 3...\n", z.ndim)
# Kiểm tra hình dạng
print("\nHình dạng mảng 1...\n", x.shape)
print("\nHình dạng mảng 2...\n", y.shape)
print("\nHình dạng mảng 3...\n", z.shape)
# Tạo ma trận Vandermonde giả
x_deg, y_deg, z_deg = 2, 3, 4
print("\nKết quả...\n", H.hermevander3d(x, y, z, [x_deg, y_deg, z_deg]))
Kết quả đầu ra
Mảng 1... [1.5 2.3] Mảng 2... [3.7 4.4] Mảng 3... [5.3 6.6] Kiểu dữ liệu mảng 1... float64 Kiểu dữ liệu mảng 2... float64 Kiểu dữ liệu mảng 3... float64 Số chiều mảng 1... 1 Số chiều mảng 2... 1 Số chiều mảng 3... 1 Hình dạng mảng 1... (2,) Hình dạng mảng 2... (2,) Hình dạng mảng 3... (2,) Kết quả... [[1.00000000e+00 5.30000000e+00 2.70900000e+01 1.32977000e+02 6.23508100e+02 3.70000000e+00 1.96100000e+01 1.00233000e+02 4.92014900e+02 2.30697997e+03 1.26900000e+01 6.72570000e+01 3.43772100e+02 1.68747813e+03 7.91231779e+03 3.95530000e+01 2.09630900e+02 1.07149077e+03 5.25963928e+03 2.46616159e+04 1.50000000e+00 7.95000000e+00 4.06350000e+01 1.99465500e+02 9.35262150e+02 5.55000000e+00 2.94150000e+01 1.50349500e+02 7.38022350e+02 3.46046996e+03 1.90350000e+01 1.00885500e+02 5.15658150e+02 2.53121720e+03 1.18684767e+04 5.93295000e+01 3.14446350e+02 1.60723616e+03 7.88945892e+03 3.69924238e+04 1.25000000e+00 6.62500000e+00 3.38625000e+01 1.66221250e+02 7.79385125e+02 4.62500000e+00 2.45125000e+01 1.25291250e+02 6.15018625e+02 2.88372496e+03 1.58625000e+01 8.40712500e+01 4.29715125e+02 2.10934766e+03 9.89039724e+03 4.94412500e+01 2.62038625e+02 1.33936346e+03 6.57454910e+03 3.08270198e+04] [1.00000000e+00 6.60000000e+00 4.25600000e+01 2.67696000e+02 1.63911360e+03 4.40000000e+00 2.90400000e+01 1.87264000e+02 1.17786240e+03 7.21209984e+03 1.83600000e+01 1.21176000e+02 7.81401600e+02 4.91489856e+03 3.00941257e+04 7.19840000e+01 4.75094400e+02 3.06363904e+03 1.92698289e+04 1.17989953e+05 2.30000000e+00 1.51800000e+01 9.78880000e+01 6.15700800e+02 3.76996128e+03 1.01200000e+01 6.67920000e+01 4.30707200e+02 2.70908352e+03 1.65878296e+04 4.22280000e+01 2.78704800e+02 1.79722368e+03 1.13042667e+04 6.92164891e+04 1.65563200e+02 1.09271712e+03 7.04636979e+03 4.43206064e+04 2.71376893e+05 4.29000000e+00 2.83140000e+01 1.82582400e+02 1.14841584e+03 7.03179734e+03 1.88760000e+01 1.24581600e+02 8.03362560e+02 5.05302970e+03 3.09399083e+04 7.87644000e+01 5.19845040e+02 3.35221286e+03 2.10849148e+04 1.29103799e+05 3.08811360e+02 2.03815498e+03 1.31430115e+04 8.26675658e+04 5.06176900e+05]]