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

Tạo ma trận Pseudo-Vandermonde có mức độ nhất định và các điểm mẫu x, y, z bằng Python

Để tạo ma trận Vandermonde giả có độ đã cho và các điểm mẫu x, y, z, hãy sử dụng polynomial.polyvander3d () trong Python Numpy. Phương thức này trả về ma trận giả Vandermonde gồm độ deg và điểm mẫu (x, y, z). 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 dtype sẽ được chuyển đổi thành float64 hoặc complex128 tùy thuộc vào việc có bất kỳ phần tử nào 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 độ lớn nhất của dạng [x_deg, y_deg, z_deg].

Các bước

Đầu tiên, hãy nhập các thư viện được yêu cầu -

 import numpy as npfrom numpy.polynomial.polynomial import polyvander3d 

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 ([1, 2]) y =np.array ([3, 4]) z =np.array ([5, 6]) 

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 các thứ nguyên -

 print ("\ nDiện tích của Mảng1 ... \ n", x.ndim) print ("\ nDiện tích của Mảng2 ... \ n", y.ndim) print ("\ nDiện tích của Mảng 3 ... \ n ", z.ndim) 

Kiểm tra hình dạ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ó bậc đã cho và các điểm mẫu x, y, z, hãy sử dụng polynomial.polyvander3d () -

 x_deg, y_deg, z_deg =2, 3, 4print ("\ nResult ... \ n", polyvander3d (x, y, z, [x_deg, y_deg, z_deg])) 

Ví dụ

 import numpy as npfrom numpy.polynomial.polynomial import polyvander3d # Tạo 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 pháp numpy.array ()x =np.array ([1, 2]) y =np.array ([3, 4]) z =np.array ([5, 6]) # Hiển thị mảng in ("Array1 ... \ n", x) print ("\ nArray2 ... \ n", y) print ("\ nArray3 ... \ n", z) # Hiển thị kiểu dữ liệu ("\ nArray1 datatype ... \ n", x.dtype) print ("\ nArray2 datatype ... \ n", y.dtype) print ("\ nArray3 datatype ... \ n", z.dtype) # Kiểm tra Dimensionsprint ("\ nKích thước của Mảng1 ... \ n", x.ndim) print ("\ nKích thước của Mảng2 ... \ n ", y.ndim) print (" \ nDimensions của Array3 ... \ n ", z.ndim) # Kiểm tra Shapeprint (" \ 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ó mức độ đã cho và các điểm mẫu x, y, z, sử dụng polynomial.polyvander3d () trong Python Numpyx_deg, y_deg, z_deg =2, 3, 4print ("\ nResult ... \ n", polyvander3d (x, y, z, [x_deg, y_deg, z_deg]))  

Đầu ra

 Mảng1 ... [1 2] Mảng2 ... [3 4] Mảng3 ... [5 6] Kiểu dữ liệu mảng1 ... kiểu dữ liệu int64Array2 ... kiểu dữ liệu int64Array3 ... int64Diện tích của Mảng1 ... 1Kích thước của Mảng2 ... 1Kích thước của Mảng3 ... 1Hình dạng của Mảng1 ... (2,) Hình dạng của Mảng2 ... (2,) Hình dạng của Mảng3 ... (2,) Kết quả ... [[1.00000e + 00 5.00000e + 00 2.50000e + 01 1.25000e + 02 6.25000e + 02 3.00000e + 001.50000e + 01 7.50000e + 01 3.75000e + 02 1.87500e + 03 9.00000e + 00 4.50000e + 012.25000e + 02 1.12500e + 03 5.62500e + 03 2.70000e + 01 1.35000e + 02 6.75000e + 023.37500e + 03 1.68750e + 04 1.00000e + 00 5.00000e + 00 2.50000e + 01 1.25000e + 026.25000e + 02 3.00000e + 00 1.50000e + 01 7.50000e + 01 3.75000e + 02 1.87500e + 039.00000e + 00 4.50000e + 01 2.25000e + 02 1.12500e + 03 5.62500e + 03 2.70000e + 011.35000e + 02 6.75000e + 02 3.37500e + 03 1.68750e + 04 1.00000e + 00 5.00000e + 002.50000e + 01 1.25000e + 02 6.25000e + 02 3.00000e + 00 1.50000e + 01 7.50000e + 013.75000e + 02 1.87500e + 03 9.00000e + 00 4.50000e + 01 2.25000e + 02 1.12500e + 035.62500e + 03 2.70000e + 01 1.35000e + 02 6.75000e + 02 3.37500e + 03 1.68750e + 04] [1.00000e + 00 6.00000e + 00 3.60000e + 01 2.16000e + 02 1.29600e + 03 4.00000e + 002.40000e + 01 1.44000e + 02 8.64000e + 02 5.18400e + 03 1.60000e + 01 9.60000e + 015.76000e + 02 3.45600e + 03 2.07360e + 04 6.40000e + 01 3.84000e + 02 2.30400e + 031.38240e + 04 8.29440e + 04 2.00000e + 00 1.20000e + 01 7.20000e + 01 4.32000e + 022.59200e + 03 8.00000e + 00 4.80000e + 01 2.88000e + 02 1.72800e + 03 1.03680e + 043.20000e + 01 1.92000e + 02 1.15200e + 03 6.91200e + 03 4.14720e + 04 1.28000e + 027.68000e + 02 4.60800e + 03 2.76480e + 04 1.65888e + 05 4.00000e + 00 2.40000e + 011.44000e + 02 8.64000e + 02 5.18400e + 03 1.60000e + 01 9.60000e + 01 5.76000e + 023.45600e + 03 2.07360e + 04 6.40000e + 01 3.84000e + 02 2.30400e + 03 1.38240e + 048.29440 e + 04 2.56000e + 02 1.53600e + 03 9.21600e + 03 5.52960e + 04 3.31776e + 05]]