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

สร้างเมทริกซ์ Pseudo-Vandermonde ของระดับที่กำหนดและจุดตัวอย่าง x, y, z ใน Python


ในการสร้างเมทริกซ์ Vandermonde หลอกของระดับที่กำหนดและจุดตัวอย่าง x, y, z ให้ใช้ polynomial.polyvander3d() ใน Python Numpy วิธีการส่งคืนเมทริกซ์เสมือน Vandermonde ขององศา deg และจุดตัวอย่าง (x, y, z) พารามิเตอร์ x, y, z คืออาร์เรย์ของพิกัดจุด ซึ่งมีรูปร่างเหมือนกันทั้งหมด dtypes จะถูกแปลงเป็น float64 หรือ complex128 ขึ้นอยู่กับว่าองค์ประกอบใดที่ซับซ้อน สเกลาร์จะถูกแปลงเป็นอาร์เรย์ 1-D พารามิเตอร์ deg คือรายการองศาสูงสุดของรูปแบบ [x_deg, y_deg, z_deg]

ขั้นตอน

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

นำเข้า numpy เป็น npfrom numpy.polynomial.polynomial นำเข้า polyvander3d

สร้างอาร์เรย์ของพิกัดจุด รูปร่างเดียวกันทั้งหมดโดยใช้วิธี numpy.array() -

x =np.array([1, 2])y =np.array([3, 4])z =np.array([5, 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.nim)print("\nDimensions of Array3...\ n",z.dim)

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

print("\nShape of Array1...\n",x.shape)print("\nShape of Array2...\n",y.shape)print("\nรูปร่างของ Array3...\ n",z.shape)

ในการสร้างเมทริกซ์ Vandermonde หลอกของระดับที่กำหนดและจุดตัวอย่าง x, y, z ให้ใช้ polynomial.polyvander3d() −

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

ตัวอย่าง

นำเข้า numpy เป็น npfrom numpy.polynomial.polynomial นำเข้า polyvander3d# สร้างอาร์เรย์ของพิกัดจุด รูปร่างเหมือนกันทั้งหมดโดยใช้ numpy.array() methodx =np.array([1, 2])y =np.array ([3, 4])z =np.array([5, 6])# แสดง arraysprint("Array1...\n",x)print("\nArray2...\n",y)print ("\nArray3...\n",z)# แสดง datatypeprint("\nArray1 datatype...\n",x.dtype)print("\nArray2 datatype...\n",y.dtype) print("\nArray3 datatype...\n",z.dtype)# ตรวจสอบ Dimensionsprint("\nDimensions of Array1...\n",x.nim)print("\nDimensions of Array2...\n ",y.nim)print("\nDimensions of Array3...\n",z.nim)# ตรวจสอบ Shapeprint("\nShape of Array1...\n",x.shape)print("\nShape ของ Array2...\n",y.shape)print("\nShape of Array3...\n",z.shape)# เพื่อสร้างเมทริกซ์ Vandermonde หลอกของระดับที่กำหนดและ x, y, z จุดตัวอย่าง ใช้ polynomial.polyvander3d() ใน Python Numpyx_deg, y_deg, z_deg =2, 3, 4print("\nResult...\n",polyvander3d(x,y, z, [x_deg, y_deg, z_deg])) 

ผลลัพธ์

Array1...[1 2]Array2...[3 4]Array3...[5 6]Array1 datatype...int64Array2 datatype...int64Array3 datatype...int64Dimensions of Array1...1Dimensions of Array2...1ขนาดของ Array3...1Shape of Array1...(2,)Shape of Array2...(2,)Shape of Array3...(2,)ผลลัพธ์...[[1.00000e+00 5.00000e+00 2.50000e+01 1.25000e+02 6.25000e+02 3.00000e+001.50000e+01 7.50000e+01 3.75000e+02 1.87500e+03 9.00000e+00 4.50000e+012.25000e+02 1.12500e+03 5.62500e+03 2.70000e+01 1.35000e+02 6.75000e+023.37500e+03 1.68750e+04 1.00000e+00 5.00000e+00 2.50000e+01 1.25000e+026.25000e+02 3.00000e+00 1.50000e+01 7.50000e+01 3.75000e+02 1.87500e+039.00000e+00 4.50000e+01 2.25000e+02 1.12500e+03 5.62500e+03 2.70000e+011.35000e+02 6.75000e+02 3.37500e+03 1.68750e+04 1.00000e+00 5.00000e+002.50000e+01 1.25000e+02 6.25000e+02 3.00000e+00 1.50000e+01 7.50000e+013.75000e+02 1.87500e+03 9.00000e+00 4.50000e+01 2.25000e+02 1.12500e+035.62500e+03 2.70000e+01 1.35000e+02 6.75000e+02 3.37500e+03 1.68750e+04][1.00000e+00 6.00000e+00 3.60000e+01 2.16000e+02 1.29600e+03 4.00000e+002.40000e+01 1.44000e+02 8.64000e+02 5.18400e+03 1.60000e+01 9.60000e+015.76000e+02 3.45600e+03 2.07360e+04 6.40000e+01 3.84000e+02 2.30400e+031.38240e+04 8.29440e+04 2.00000e+00 1.20000e+01 7.20000e+01 4.32000e+022.59200e+03 8.0000e+00 4.80000e+01 2.88000e+02 1.72800e+03 1.03680e+043.20000e+01 1.92000e+02 1.15200e+03 6.91200e+03 4.14720e+04 1.28000e+027.68000e+02 4.60800e+03 2.76480e+04 1.65888e+05 4.00000e+00 2.40000e+011.44000e+02 8.64000e+02 5.18400e+03 1.60000e+01 9.60000e+01 5.76000e+023.45600e+03 2.07360e+04 6.40000e+01 3.84000e+02 2.30400e+03 1.38240e+048.29440 e+04 2.56000e+02 1.53600e+03 9.21600e+03 5.52960e+04 3.31776e+05]]