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

การประเมินพหุนาม 2 มิติบนผลคูณคาร์ทีเซียนของ x และ y ด้วยสัมประสิทธิ์ 1D ใน Python


บทนำ

เพื่อประเมินพหุนาม 2 มิติบนผลคูณคาร์ทีเซียน (Cartesian product) ของ x และ y ให้ใช้เมธอด polynomial.polygrid2d(x, y, c) ใน Python เมธอดนี้ส่งคืนค่าของพหุนาม 2 มิติที่จุดในผลคูณคาร์ทีเซียนของ x และ y พารามิเตอร์แรก x และ y พหุนาม 2 มิติถูกประเมินที่จุดในผลคูณคาร์ทีเซียนของ x และ y หาก x หรือ y เป็นรายการหรือทูเพิล จะถูกแปลงเป็น ndarray ก่อน มิฉะนั้นจะปล่อยไว้ كماเดิม และ หากไม่ใช่ ndarray จะถูกถือว่าเป็นสเกลาร์

พารามิเตอร์ที่สอง c คืออาร์เรย์ของสัมประสิทธิ์ที่จัดลำดับเพื่อให้สัมประสิทธิ์สำหรับพจน์ขององศา i,j อยู่ใน c[i,j] หาก c มีมิติมากกว่าสอง ดัชนีที่เหลือจะนับชุดสัมประสิทธิ์หลายชุด หาก c มีมิติน้อยกว่าสอง จะมีการต่อ ones ไปที่รูปร่างเพื่อทำให้เป็น 2-D รูปร่างของผลลัพธ์จะเป็น c.shape[2:] + x.shape + y.shape

ขั้นตอน

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

import numpy as np
from numpy.polynomial.polynomial import polygrid2d

สร้างอาร์เรย์สัมประสิทธิ์ 1D:

c = np.array([3, 5])

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

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

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

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

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

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

ดูรูปร่าง:

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

เพื่อประเมินพหุนาม 2 มิติบนผลคูณคาร์ทีเซียนของ x และ y ให้ใช้เมธอด polynomial.polygrid2d(x, y, c):

print("\nผลลัพธ์...\n", polygrid2d([1, 2], [1, 2], c))

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

import numpy as np
from numpy.polynomial.polynomial import polygrid2d
# สร้างอาร์เรย์สัมประสิทธิ์ 1D
c = np.array([3, 5])
# แสดงอาร์เรย์
print("อาร์เรย์ของเรา...\n", c)
# ตรวจสอบมิติ
print("\nมิติของอาร์เรย์...\n", c.ndim)
# ดูชนิดข้อมูล
print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", c.dtype)
# ดูรูปร่าง
print("\nรูปร่างของออบเจกต์อาร์เรย์...\n", c.shape)
# เพื่อประเมินพหุนาม 2 มิติบนผลคูณคาร์ทีเซียนของ x และ y ใช้ polynomial.polygrid2d(x, y, c) ใน Python
print("\nผลลัพธ์...\n", polygrid2d([1, 2], [1, 2], c))

ผลลัพธ์

อาร์เรย์ของเรา...
 [3 5]
มิติของอาร์เรย์...
 1
ชนิดข้อมูลของออบเจกต์อาร์เรย์...
 int64
รูปร่างของออบเจกต์อาร์เรย์...
 (2,)
ผลลัพธ์...
 [21. 34.]