บทนำ
เพื่อสร้างเมทริกซ์แวนเดอร์มอนด์แบบปลอม (pseudo-Vandermonde matrix) ของพหุนามเชบิเชฟ (Chebyshev polynomial) ให้ใช้ chebyshev.chebvander2d() ใน Python NumPy เมธอดนี้ส่งคืนเมทริกซ์ pseudo-Vandermonde ขององศา deg และจุดตัวอย่าง (x, y)
พารามิเตอร์ x, y คืออาร์เรย์พิกัดจุด ทั้งหมดมีรูปร่างเดียวกัน dtypes จะถูกแปลงเป็น float64 หรือ complex128 ขึ้นอยู่กับว่ามีองค์ประกอบใดเป็นเชิงซ้อนหรือไม่ สเกลาร์จะถูกแปลงเป็นอาร์เรย์ 1-D พารามิเตอร์ deg คือรายการขององศาสูงสุดในรูปแบบ [x_deg, y_deg]
ขั้นตอน
ขั้นแรก ให้นำเข้าไลบรารีที่จำเป็น:
import numpy as np from numpy.polynomial import chebyshev as C
สร้างอาร์เรย์พิกัดจุด ทั้งหมดมีรูปร่างเดียวกัน โดยใช้เมธอด numpy.array():
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)
เพื่อสร้างเมทริกซ์แวนเดอร์มอนด์แบบปลอมของพหุนามเชบิเชฟ ให้ใช้ chebyshev.chebvander2d() ใน Python:
x_deg, y_deg = 2, 3
print("\nผลลัพธ์...\n", C.chebvander2d(x, y, [x_deg, y_deg]))
ตัวอย่างโค้ดสมบูรณ์
import numpy as np
from numpy.polynomial import chebyshev as C
# สร้างอาร์เรย์พิกัดจุด ทั้งหมดมีรูปร่างเดียวกัน โดยใช้ numpy.array()
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)
# เพื่อสร้างเมทริกซ์แวนเดอร์มอนด์แบบปลอมของพหุนามเชบิเชฟ ใช้ chebyshev.chebvander2d() ใน Python NumPy
x_deg, y_deg = 2, 3
print("\nผลลัพธ์...\n", C.chebvander2d(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.000e+00 3.000e+00 1.700e+01 9.900e+01 1.000e+00 3.000e+00 1.700e+01 9.900e+01 1.000e+00 3.000e+00 1.700e+01 9.900e+01] [1.000e+00 4.000e+00 3.100e+01 2.440e+02 2.000e+00 8.000e+00 6.200e+01 4.880e+02 7.000e+00 2.800e+01 2.170e+02 1.708e+03]]