Computer >> Máy Tính >  >> Lập trình >> Python

Tạo ma trận Pseudo-Vandermonde ở mức độ nhất định với mảng nổi các tọa độ điểm trong Python

Để tạo ma trận Pseudo-Vandermonde có mức độ nhất định, hãy sử dụng polynomial.polyvander2 () inPython Numpy. Phương thức này trả về ma trận giả Vandermonde gồm độ deg và điểm mẫu (x, y).

Tham số, x và y, 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 liệu bất kỳ phần tử nào có phức tạp hay không. Tham số, deg là danh sách các độ lớn nhất của dạng [x_deg, y_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.polynomial import polyvander2d

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([0.1, 1.4])
y = np.array([1.7, 2.8])

Hiển thị các mảng -

print("Array1...\n",x)
print("\nArray2...\n",y)

Hiển thị kiểu dữ liệu -

print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.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)

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)

Để tạo ma trận Pseudo-Vandermonde có mức độ nhất định, hãy sử dụng polynomial.polyvander2 () -

x_deg, y_deg = 2, 3
print("\nResult...\n",polyvander2d(x,y, [x_deg, y_deg]))

Ví dụ

import numpy as np
from numpy.polynomial.polynomial import polyvander2d

# Create arrays of point coordinates, all of the same shape using the numpy.array() method
x = np.array([0.1, 1.4])
y = np.array([1.7, 2.8])

# Display the arrays
print("Array1...\n",x)
print("\nArray2...\n",y)

# Display the datatype
print("\nArray1 datatype...\n",x.dtype)
print("\nArray2 datatype...\n",y.dtype)

# Check the Dimensions of both the arrays
print("\nDimensions of Array1...\n",x.ndim)
print("\nDimensions of Array2...\n",y.ndim)

# Check the Shape of both the arrays
print("\nShape of Array1...\n",x.shape)
print("\nShape of Array2...\n",y.shape)

# To generate a Pseudo-Vandermonde matrix of given degree, use the polynomial.polyvander2() in Python Numpy
# The method returns the pseudo-Vandermonde matrix of degrees deg and sample points (x, y).
x_deg, y_deg = 2, 3
print("\nResult...\n",polyvander2d(x,y, [x_deg, y_deg]))

Đầu ra

Array1...
   [0.1 1.4]

Array2...
   [1.7 2.8]

Array1 datatype...
float64

Array2 datatype...
float64

Dimensions of Array1...
1

Dimensions of Array2...
1

Shape of Array1...
(2,)

Shape of Array2...
(2,)

Result...
   [[1.000000e+00 1.700000e+00 2.890000e+00 4.913000e+00 1.000000e-01
      1.700000e-01 2.890000e-01 4.913000e-01 1.000000e-02 1.700000e-02
      2.890000e-02 4.913000e-02]
   [1.000000e+00 2.800000e+00 7.840000e+00 2.195200e+01 1.400000e+00
      3.920000e+00 1.097600e+01 3.073280e+01 1.960000e+00 5.488000e+00
      1.536640e+01 4.302592e+01]]