เพื่อสร้างเมทริกซ์วันเดอร์มอนด์แบบปลอม (Pseudo-Vandermonde matrix) ของชนิดที่กำหนด ให้ใช้ polynomial.polyvander2d() ใน NumPy เมธอดนี้คืนค่าเมทริกซ์วันเดอร์มอนด์แบบปลอมของชนิด deg และจุดตัวอย่าง (x, y)
พารามิเตอร์
- x, y: อาร์เรย์พิกัดจุด รูปทรงต้องเหมือนกัน ชนิดข้อมูลแปลงเป็น float64 หรือ complex128 สเกลาร์แปลงเป็นอาร์เรย์ 1 มิติ
- deg: ลิสต์ชนิดสูงสุด รูปแบบ
[x_deg, y_deg]
ขั้นตอนตัวอย่าง
import numpy as np
from numpy.polynomial.polynomial import polyvander2d
# สร้างอาร์เรย์พิกัด
x = np.array([1, 2])
y = np.array([3, 4])
# แสดงข้อมูล
print("อาร์เรย์ 1...\n", x)
print("\nอาร์เรย์ 2...\n", y)
print("\nชนิดข้อมูลอาร์เรย์ 1...\n", x.dtype)
print("\nชนิดข้อมูลอาร์เรย์ 2...\n", y.dtype)
print("\nมิติของอาร์เรย์ 1...\n", x.ndim)
print("\nมิติของอาร์เรย์ 2...\n", y.ndim)
print("\nรูปทรงของอาร์เรย์ 1...\n", x.shape)
print("\nรูปทรงของอาร์เรย์ 2...\n", y.shape)
# สร้างเมทริกซ์วันเดอร์มอนด์แบบปลอม
x_deg, y_deg = 2, 3
print("\nผลลัพธ์...\n", polyvander2d(x, y, [x_deg, y_deg]))
โค้ดเต็มและผลลัพธ์
import numpy as np
from numpy.polynomial.polynomial import polyvander2d
x = np.array([1, 2])
y = np.array([3, 4])
print("อาร์เรย์ 1...\n", x)
print("\nอาร์เรย์ 2...\n", y)
print("\nชนิดข้อมูลอาร์เรย์ 1...\n", x.dtype)
print("\nชนิดข้อมูลอาร์เรย์ 2...\n", y.dtype)
print("\nมิติของอาร์เรย์ 1...\n", x.ndim)
print("\nมิติของอาร์เรย์ 2...\n", y.ndim)
print("\nรูปทรงของอาร์เรย์ 1...\n", x.shape)
print("\nรูปทรงของอาร์เรย์ 2...\n", y.shape)
x_deg, y_deg = 2, 3
print("\nผลลัพธ์...\n", polyvander2d(x, y, [x_deg, y_deg]))
อาร์เรย์ 1...
[1 2]
อาร์เรย์ 2...
[3 4]
ชนิดข้อมูลอาร์เรย์ 1...
int64
ชนิดข้อมูลอาร์เรย์ 2...
int64
มิติของอาร์เรย์ 1...
1
มิติของอาร์เรย์ 2...
1
รูปทรงของอาร์เรย์ 1...
(2,)
รูปทรงของอาร์เรย์ 2...
(2,)
ผลลัพธ์...
[[ 1. 3. 9. 27. 1. 3. 9. 27. 1. 3. 9. 27.]
[ 1. 4. 16. 64. 2. 8. 32. 128. 4. 16. 64. 256.]]