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

สร้างเมทริกซ์แวนเดอร์มอนด์แบบปลอมของพหุนามลากูร์ร์ 3 มิติ ด้วยจุดเชิงซ้อนใน Python

เมธอด laguerre.lagvander3d() ใน NumPy ใช้สร้างเมทริกซ์แวนเดอร์มอนด์แบบปลอม (pseudo Vandermonde matrix) ของพหุนามลากูร์ร์สำหรับจุดตัวอย่าง x, y, z ใน 3 มิติ

พารามิเตอร์:

  • x, y, z: อาร์เรย์จุดพิกัด ต้องมีรูปร่างเหมือนกัน ชนิดข้อมูลจะเป็น float64 หรือ complex128 ขึ้นอยู่กับว่ามีค่าเชิงซ้อนหรือไม่
  • deg: รายการดีกรีสูงสุดในรูป [x_deg, y_deg, z_deg]

ขั้นตอน

นำเข้าไลบรารี:

import numpy as np
from numpy.polynomial import laguerre as L

สร้างอาร์เรย์จุดพิกัดเชิงซ้อน:

x = np.array([-2.+2.j, -1.+2.j])
y = np.array([0.+2.j, 1.+2.j])
z = np.array([2.+2.j, 3.+3.j])

แสดงข้อมูลอาร์เรย์ ตรวจสอบชนิด มิติ รูปร่าง:

print("Array1...\n", x)
print("\nArray2...\n", y)
print("\nArray3...\n", z)
print("\nArray1 datatype...\n", x.dtype)
print("\nDimensions of Array1...\n", x.ndim)
print("\nShape of Array1...\n", x.shape)
# ... ตรวจสอบ y, z เช่นกัน

สร้างเมทริกซ์แวนเดอร์มอนด์ 3 มิติ ดีกรี [2, 3, 4]:

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

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

import numpy as np
from numpy.polynomial import laguerre as L

x = np.array([-2.+2.j, -1.+2.j])
y = np.array([0.+2.j, 1.+2.j])
z = np.array([2.+2.j, 3.+3.j])

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", L.lagvander3d(x, y, z, [x_deg, y_deg, z_deg]))

ผลลัพธ์

ผลลัพธ์เป็นเมทริกซ์ขนาดใหญ่ที่มีค่าเชิงซ้อน (ดูรายละเอียดในโค้ดต้นฉบับ)