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

การหาอนุพันธ์ของพหุนามที่มีสัมประสิทธิ์หลายมิติตามแกนเฉพาะใน Python


บทนำ

เพื่อหาอนุพันธ์ของพหุนาม ให้ใช้เมธอด polynomial.polyder() ใน Python NumPy ส่งคืนสัมประสิทธิ์พหุนาม c ที่หาอนุพันธ์ m ครั้งตามแกน ในแต่ละรอบ ผลลัพธ์จะถูกคูณด้วย scl (ตัวปรับมقياسสำหรับการใช้ในการเปลี่ยนตัวแปรเชิงเส้น) อาร์กิวเมนต์ c คืออาร์เรย์ของสัมประสิทธิ์จากองศาต่ำไปสูงตามแต่ละแกน เช่น [1,2,3] แทนพหุนาม 1 + 2*x + 3*x**2 ในขณะที่ [[1,2],[1,2]] แทน 1 + 1*x + 2*y + 2*x*y หาก axis=0 คือ x และ axis=1 คือ y

เมธอดส่งคืนสัมประสิทธิ์พหุนามของอนุพันธ์ พารามิเตอร์แรก c คืออาร์เรย์ของสัมประสิทธิ์พหุนาม หาก c เป็นหลายมิติ แกนต่างๆ จะสอดคล้องกับตัวแปรต่างๆ โดยองศาในแต่ละแกนกำหนดโดยดัชนีที่สอดคล้อง พารามิเตอร์ที่สอง m คือจำนวนอนุพันธ์ที่หา ต้องไม่เป็นลบ (ค่าเริ่มต้น: 1) พารามิเตอร์ที่สามคือ scl แต่ละการหาอนุพันธ์จะถูกคูณด้วย scl ผลลัพธ์สุดท้ายคือการคูณด้วย scl**m นี่สำหรับการใช้ในการเปลี่ยนตัวแปรเชิงเส้น (ค่าเริ่มต้น: 1) พารามิเตอร์ที่สี่คือ axis คือแกนที่หาอนุพันธ์ (ค่าเริ่มต้น: 0)

ขั้นตอน

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

import numpy as np
from numpy.polynomial import polynomial as P

สร้างอาร์เรย์สัมประสิทธิ์พหุนามหลายมิติ:

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

แสดงอาร์เรย์สัมประสิทธิ์:

print("อาร์เรย์สัมประสิทธิ์ของเรา...\n", c)

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

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

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

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

ดูรูปร่าง:

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

เพื่อหาอนุพันธ์ของพหุนาม ให้ใช้เมธอด polynomial.polyder() ใน Python NumPy:

print("\nผลลัพธ์...\n", P.polyder(c, axis=1))

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

import numpy as np
from numpy.polynomial import polynomial as P
# สร้างอาร์เรย์สัมประสิทธิ์พหุนามหลายมิติ
c = np.arange(4).reshape(2, 2)
# แสดงอาร์เรย์สัมประสิทธิ์
print("อาร์เรย์สัมประสิทธิ์ของเรา...\n", c)
# ตรวจสอบมิติ
print("\nมิติของอาร์เรย์...\n", c.ndim)
# ดูชนิดข้อมูล
print("\nชนิดข้อมูลของออบเจกต์อาร์เรย์...\n", c.dtype)
# ดูรูปร่าง
print("\nรูปร่างของออบเจกต์อาร์เรย์...\n", c.shape)
# เพื่อหาอนุพันธ์ของพหุนาม ใช้ polynomial.polyder() ใน Python NumPy
print("\nผลลัพธ์...\n", P.polyder(c, axis=1))

ผลลัพธ์

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