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

ประเมินพหุนามจากราก ที่จุด x แบรอดคาสต์ผ่านคอลัมน์ของ r ใน Python

บทนำ

ในการประเมินพหุนามที่ระบุโดยราก (roots) ที่จุด x สามารถใช้เมธอด polynomial.polyvalfromroots() ใน NumPy ของ Python พารามิเตอร์ tensor ควบคุมวิธีการแบรอดคาสต์ระหว่าง x และอาร์เรย์ราก

พารามิเตอร์สำคัญ

  • x: จุดที่ต้องการประเมิน หากเป็นลิสต์หรือทูเพิล จะถูกแปลงเป็น ndarray
  • r: อาร์เรย์ของราก หากเป็นหลายมิติ ดัชนีแรกคือดัชนีราก ส่วนดัชนีที่เหลือนับพหุนามหลายตัว (ในกรณี 2 มิติ รากของแต่ละพหุนามจะอยู่ในคอลัมน์ของ r)
  • tensor: หากเป็น False x จะถูกแบรอดคาสต์ผ่านคอลัมน์ของ r สำหรับการประเมิน (ค่าเริ่มต้น: True)

ขั้นตอนการทำงาน

1. นำเข้าไลบรารีที่จำเป็น

import numpy as np
from numpy.polynomial.polynomial import polyvalfromroots

2. สร้างอาร์เรย์สัมประสิทธิ์หลายมิติ (ใช้เป็นราก)

c = np.arange(-2, 2).reshape(2, 2)

3. แสดงข้อมูลของอาร์เรย์

print("Our Array...\n", c)
print("\nDimensions of our Array...\n", c.ndim)
print("\nDatatype of our Array object...\n", c.dtype)
print("\nShape of our Array object...\n", c.shape)

4. ประเมินพหุนามจากราก ด้วย tensor=False

print("\nResult...\n", polyvalfromroots([-2, 1], c, tensor=False))

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

import numpy as np
from numpy.polynomial.polynomial import polyvalfromroots

# สร้างอาร์เรย์หลายมิติ (ใช้เป็นราก)
c = np.arange(-2, 2).reshape(2, 2)

# แสดงข้อมูลอาร์เรย์
print("Our Array...\n", c)
print("\nDimensions of our Array...\n", c.ndim)
print("\nDatatype of our Array object...\n", c.dtype)
print("\nShape of our Array object...\n", c.shape)

# ประเมินพหุนามจากราก ที่จุด x ด้วย tensor=False
print("\nResult...\n", polyvalfromroots([-2, 1], c, tensor=False))

ผลลัพธ์

Our Array...
 [[-2 -1]
  [ 0  1]]
Dimensions of our Array...
 2
Datatype of our Array object...
 int64
Shape of our Array object...
 (2, 2)
Result...
 [-0.  0.]

สรุป

เมื่อ tensor=False จุด x = [-2, 1] จะถูกแบรอดคาสต์ผ่านคอลัมน์ของ r แต่ละคอลัมน์ของ r แทนชุดรากของพหุนามหนึ่งตัว ผลลัพธ์คือค่าของพหุนามแต่ละตัวที่จุด x ที่ตรงกัน