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) ผลลัพธ์คือ (d/d(-x))(c) = -2 - 6x - 12x**2

ขั้นตอน

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

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

สร้างอาร์เรย์สัมประสิทธิ์พหุนาม เช่น 1 + 2x + 3x**2 + 4x**3:

c = np.array([1, 2, 3, 4])

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

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, scl=-1))

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

import numpy as np
from numpy.polynomial import polynomial as P
# สร้างอาร์เรย์สัมประสิทธิ์พหุนาม เช่น
# 1 + 2x + 3x**2 + 4x**3
c = np.array([1, 2, 3, 4])
# แสดงอาร์เรย์สัมประสิทธิ์
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, scl=-1))

ผลลัพธ์

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