Để 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 Python Numpy. Phương thức này trả về ma trận giả Vandermonde. Tham số, x, y, z là các mảng tọa độ điểm, tất cả đều có cùng hình dạng. Các kiểu sẽ được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc bất kỳ phần tử nào có phức tạp hay không. Vô hướng được chuyển đổi thành mảng 1-D. Tham số, deg là danh sách các độ tối đa của dạng [x_deg, y_deg, z_deg].
Các bước
Đầu tiên, hãy nhập thư viện được yêu cầu -
import numpy as np from numpy.polynomial import hermite_e as H
Tạo các mảng tọa độ điểm, tất cả đều có cùng hình dạng bằng cách sử dụng phương thức numpy.array () -
x = np.array([-2.+2.j, -1.+2.j]) y = np.array([0.+2.j, 1.+2.j]) z = np.array([2.+2.j, 3. + 3.j])
Hiển thị các mảng -
print("Array1...\n",x) print("\nArray2...\n",y) print("\nArray3...\n",z)
Hiển thị kiểu dữ liệu -
print("\nArray1 datatype...\n",x.dtype) print("\nArray2 datatype...\n",y.dtype) print("\nArray3 datatype...\n",z.dtype)
Kiểm tra Kích thước của cả hai mảng -
print("\nDimensions of Array1...\n",x.ndim) print("\nDimensions of Array2...\n",y.ndim) print("\nDimensions of Array3...\n",z.ndim)
Kiểm tra Hình dạng của cả hai mảng -
print("\nShape of Array1...\n",x.shape) print("\nShape of Array2...\n",y.shape) print("\nShape of Array3...\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, hãy sử dụng phương thức hermite_e.hermevander3d () -
x_deg, y_deg, z_deg = 2, 3, 4 print("\nResult...\n",H.hermevander3d(x,y,z, [x_deg, y_deg, z_deg]))
Ví dụ
import numpy as np from numpy.polynomial import hermite_e as H # Create arrays of point coordinates, all of the same shape using the numpy.array() method x = np.array([-2.+2.j, -1.+2.j]) y = np.array([0.+2.j, 1.+2.j]) z = np.array([2.+2.j, 3. + 3.j]) # Display the arrays print("Array1...\n",x) print("\nArray2...\n",y) print("\nArray3...\n",z) # Display the datatype print("\nArray1 datatype...\n",x.dtype) print("\nArray2 datatype...\n",y.dtype) print("\nArray3 datatype...\n",z.dtype) # Check the Dimensions of both the arrays print("\nDimensions of Array1...\n",x.ndim) print("\nDimensions of Array2...\n",y.ndim) print("\nDimensions of Array3...\n",z.ndim) # Check the Shape of both the arrays print("\nShape of Array1...\n",x.shape) print("\nShape of Array2...\n",y.shape) print("\nShape of Array3...\n",z.shape) # To generate a pseudo Vandermonde matrix of the Hermite_e polynomial and x, y, z sample points, use the hermite_e.hermevander3d() in Python Numpy x_deg, y_deg, z_deg = 2, 3, 4 print("\nResult...\n",H.hermevander3d(x,y,z, [x_deg, y_deg, z_deg]))
Đầu ra
Array1... [-2.+2.j -1.+2.j] Array2... [0.+2.j 1.+2.j] Array3... [2.+2.j 3.+3.j] Array1 datatype... complex128 Array2 datatype... complex128 Array3 datatype... complex128 Dimensions of Array1... 1 Dimensions of Array2... 1 Dimensions of Array3... 1 Shape of Array1... (2,) Shape of Array2... (2,) Shape of Array3... (2,) Result... [[ 1.0000e+00 +0.000e+00j 2.0000e+00 +2.000e+00j -1.0000e+00 +8.000e+00j -2.2000e+01 +1.000e+01j -6.1000e+01-4.800e+01j 0.0000e+00 +2.000e+00j -4.0000e+00 +4.000e+00j -1.6000e+01-2.000e+00j -2.0000e+01 -4.400e+01j 9.6000e+01 -1.220e+02j -5.0000e+00+0.000e+00j -1.0000e+01 -1.000e+01j 5.0000e+00 -4.000e+01j 1.1000e+02 -5.000e+01j 3.0500e+02 +2.400e+02j 0.0000e+00 -1.400e+01j 2.8000e+01 -2.800e+01j 1.1200e+02 +1.400e+01j 1.4000e+02 +3.080e+02j -6.7200e+02 +8.540e+02j -2.0000e+00 +2.000e+00j -8.0000e+00 +0.000e+00j -1.4000e+01 -1.800e+01j 2.4000e+01 -6.400e+01j 2.1800e+02 -2.600e+01j -4.0000e+00 -4.000e+00j 0.0000e+00 -1.600e+01j 3.6000e+01 -2.800e+01j 1.2800e+02 +4.800e+01j 5.2000e+01 +4.360e+02j 1.0000e+01 -1.000e+01j 4.0000e+01 +0.000e+00j 7.0000e+01 +9.000e+01j -1.2000e+02 +3.200e+02j -1.0900e+03 +1.300e+02j 2.8000e+01 +2.800e+01j 0.0000e+00 +1.120e+02j -2.5200e+02 +1.960e+02j -8.9600e+02 -3.360e+02j -3.6400e+02 -3.052e+03j -1.0000e+00 -8.000e+00j 1.4000e+01 -1.800e+01j 6.5000e+01 +0.000e+00j 1.0200e+02 +1.660e+02j -3.2300e+02 +5.360e+02j 1.6000e+01 -2.000e+00j 3.6000e+01 +2.800e+01j 0.0000e+00 +1.300e+02j -3.3200e+02 +2.040e+02j -1.0720e+03 -6.460e+02j 5.0000e+00 +4.000e+01j -7.0000e+01 +9.000e+01j -3.2500e+02 +0.000e+00j -5.1000e+02 -8.300e+02j 1.6150e+03 -2.680e+03j -1.1200e+02 +1.400e+01j -2.5200e+02 -1.960e+02j 0.0000e+00 -9.100e+02j 2.3240e+03 -1.428e+03j 7.5040e+03 +4.522e+03j] [ 1.0000e+00 +0.000e+00j 3.0000e+00 +3.000e+00j -1.0000e+00 +1.800e+01j -6.3000e+01 +4.500e+01j -3.2100e+02 -1.080e+02j 1.0000e+00 +2.000e+00j -3.0000e+00 +9.000e+00j -3.7000e+01 +1.600e+01j -1.5300e+02 -8.100e+01j -1.0500e+02 -7.500e+02j -4.0000e+00 +4.000e+00j -2.4000e+01 +0.000e+00j -6.8000e+01 -7.600e+01j 7.2000e+01 -4.320e+02j 1.7160e+03 -8.520e+02j -1.4000e+01 -8.000e+00j -1.8000e+01 -6.600e+01j 1.5800e+02 -2.440e+02j 1.2420e+03 -1.260e+02j 3.6300e+03 +4.080e+03j -1.0000e+00 +2.000e+00j -9.0000e+00 +3.000e+00j -3.5000e+01 -2.000e+01j -2.7000e+01 -1.710e+02j 5.3700e+02 -5.340e+02j -5.0000e+00 +0.000e+00j -1.5000e+01 -1.500e+01j 5.0000e+00 -9.000e+01j 3.1500e+02 -2.250e+02j 1.6050e+03 +5.400e+02j -4.0000e+00 -1.200e+01j 2.4000e+01 -4.800e+01j 2.2000e+02 -6.000e+01j 7.9200e+02 +5.760e+02j -1.2000e+01 +4.284e+03j 3.0000e+01 -2.000e+01j 1.5000e+02 +3.000e+01j 3.3000e+02 +5.600e+02j -9.9000e+02 +2.610e+03j -1.1790e+04 +3.180e+03j -4.0000e+00 -4.000e+00j 0.0000e+00 -2.400e+01j 7.6000e+01 -6.800e+01j 4.3200e+02 +7.200e+01j 8.5200e+02 +1.716e+03j 4.0000e+00 -1.200e+01j 4.8000e+01 -2.400e+01j 2.1200e+02 +8.400e+01j 2.8800e+02 +9.360e+02j -2.5800e+03 +3.420e+03j 3.2000e+01 +0.000e+00j 9.6000e+01 +9.600e+01j -3.2000e+01 +5.760e+02j -2.0160e+03 +1.440e+03j -1.0272e+04 -3.456e+03j 2.4000e+01 +8.800e+01j -1.9200e+02 +3.360e+02j -1.6080e+03 +3.440e+02j -5.4720e+03 -4.464e+03j 1.8000e+03 -3.084e+04j]]