Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

สร้างเมทริกซ์ Vandermonde แบบปลอมของพหุนาม Hermite_e และจุด x, y, z แบบ floating array ใน Python


บทนำ

การสร้างเมทริกซ์ Vandermonde แบบปลอมของพหุนาม Hermite_e และจุดตัวอย่าง x, y, z ใช้เมธอด hermite_e.hermevander3d() ใน NumPy เมธอดคืนค่า pseudo-Vandermonde matrix พารามิเตอร์ x, y, z เป็นอาร์เรย์พิกัดจุด รูปร่างเท่ากัน dtype แปลงเป็น float64 หรือ complex128 สเกลาร์แปลงเป็น 1-D array พารามิเตอร์ deg เป็นรายการดีกรีสูงสุด [x_deg, y_deg, z_deg]

ขั้นตอนการทำงาน

1. นำเข้าไลบรารี

import numpy as np
from numpy.polynomial import hermite_e as H

2. สร้างอาร์เรย์พิกัดจุด

x = np.array([1.5, 2.3])
y = np.array([3.7, 4.4])
z = np.array([5.3, 6.6])

3. แสดงอาร์เรย์

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

4. ตรวจสอบชนิดข้อมูล

print("\nArray1 datatype...\n", x.dtype)
print("\nArray2 datatype...\n", y.dtype)
print("\nArray3 datatype...\n", z.dtype)

5. ตรวจสอบมิติ

print("\nDimensions of Array1...\n", x.ndim)
print("\nDimensions of Array2...\n", y.ndim)
print("\nDimensions of Array3...\n", z.ndim)

6. ตรวจสอบรูปร่าง

print("\nShape of Array1...\n", x.shape)
print("\nShape of Array2...\n", y.shape)
print("\nShape of Array3...\n", z.shape)

7. สร้างเมทริกซ์ Vandermonde แบบปลอม

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

ตัวอย่างโค้ดสมบูรณ์

import numpy as np
from numpy.polynomial import hermite_e as H

x = np.array([1.5, 2.3])
y = np.array([3.7, 4.4])
z = np.array([5.3, 6.6])

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

print("\nArray1 datatype...\n", x.dtype)
print("\nArray2 datatype...\n", y.dtype)
print("\nArray3 datatype...\n", z.dtype)

print("\nDimensions of Array1...\n", x.ndim)
print("\nDimensions of Array2...\n", y.ndim)
print("\nDimensions of Array3...\n", z.ndim)

print("\nShape of Array1...\n", x.shape)
print("\nShape of Array2...\n", y.shape)
print("\nShape of Array3...\n", z.shape)

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

ผลลัพธ์ที่คาดหวัง

Array1...   [1.5 2.3]
Array2...   [3.7 4.4]
Array3...   [5.3 6.6]
Array1 datatype... float64
Array2 datatype... float64
Array3 datatype... float64
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.00000000e+00 5.30000000e+00 2.70900000e+01 ...]]