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

การสร้างเมทริกซ์แวนเดอร์มอนด์ของพหุนามเชบิเชฟด้วยจุดแบบ float ใน Python


บทนำ

เพื่อสร้างเมทริกซ์แวนเดอร์มอนด์ (Vandermonde matrix) ของพหุนามเชบิเชฟ (Chebyshev polynomial) ให้ใช้ chebyshev.chebvander() ใน Python NumPy เมธอดนี้ส่งคืนเมทริกซ์แวนเดอร์มอนด์ รูปร่างของเมทริกซ์ที่ส่งคืนคือ x.shape + (deg + 1,) โดยดัชนีสุดท้ายคือองศาของพหุนามเชบิเชฟที่สอดคล้อง dtype จะเหมือนกับ x ที่แปลงแล้ว

พารามิเตอร์ a คืออาร์เรย์ของจุด dtype จะถูกแปลงเป็น float64 หรือ complex128 ขึ้นอยู่กับว่ามีองค์ประกอบใดเป็นเชิงซ้อนหรือไม่ หาก x เป็นสเกลาร์ จะถูกแปลงเป็นอาร์เรย์ 1-D พารามิเตอร์ deg คือองศาของเมทริกซ์ที่ได้

ขั้นตอน

ขั้นแรก ให้นำเข้าไลบรารีที่จำเป็น:

import numpy as np
from numpy.polynomial import chebyshev as C

สร้างอาร์เรย์:

x = np.array([0, 3.5, -1.4, 2.5])

แสดงอาร์เรย์:

print("อาร์เรย์ของเรา...\n", x)

ตรวจสอบมิติ:

print("\nมิติของอาร์เรย์...\n", x.ndim)

ดูชนิดข้อมูล:

print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", x.dtype)

ดูรูปร่าง:

print("\nรูปร่างของออบเจกต์อาร์เรย์...\n", x.shape)

เพื่อสร้างเมทริกซ์แวนเดอร์มอนด์ของพหุนามเชบิเชฟ ให้ใช้ chebyshev.chebvander() ใน Python:

print("\nผลลัพธ์...\n", C.chebvander(x, 2))

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

import numpy as np
from numpy.polynomial import chebyshev as C
# สร้างอาร์เรย์
x = np.array([0, 3.5, -1.4, 2.5])
# แสดงอาร์เรย์
print("อาร์เรย์ของเรา...\n", x)
# ตรวจสอบมิติ
print("\nมิติของอาร์เรย์...\n", x.ndim)
# ดูชนิดข้อมูล
print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", x.dtype)
# ดูรูปร่าง
print("\nรูปร่างของออบเจกต์อาร์เรย์...\n", x.shape)
# เพื่อสร้างเมทริกซ์แวนเดอร์มอนด์ของพหุนามเชบิเชฟ ใช้ chebyshev.chebvander() ใน Python NumPy
print("\nผลลัพธ์...\n", C.chebvander(x, 2))

ผลลัพธ์

อาร์เรย์ของเรา...
 [ 0.  3.5 -1.4  2.5]
มิติของอาร์เรย์...
 1
ชนิดข้อมูลของออบเจกต์อาร์เรย์...
 float64
รูปร่างของออบเจกต์อาร์เรย์...
 (4,)
ผลลัพธ์...
 [[ 1.  0. -1. ]
 [ 1.  3.5 23.5 ]
 [ 1. -1.4  2.92]
 [ 1.  2.5 11.5 ]]