Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Đạo hàm đa thức và nhân mỗi đạo hàm với một scalar trong Python

Để đạo hàm một đa thức, sử dụng phương thức polynomial.polyder() trong Python NumPy. Trả về hệ số đa thức c được đạo hàm m lần dọc theo axis. Tại mỗi lần lặp, kết quả được nhân với scl (hệ số tỷ lệ dùng cho thay đổi biến tuyến tính). Tham số c là mảng hệ số từ bậc thấp đến cao dọc theo mỗi trục, ví dụ: [1,2,3] đại diện cho đa thức 1 + 2*x + 3*x**2 trong khi [[1,2],[1,2]] đại diện cho 1 + 1*x + 2*y + 2*x*y nếu axis=0 là x và axis=1 là y.

Phương thức trả về hệ số đa thức của đạo hàm. Tham số thứ nhất, c là mảng hệ số đa thức. Nếu c đa chiều, các trục khác nhau tương ứng với các biến khác nhau với bậc trong mỗi trục cho bởi chỉ số tương ứng. Tham số thứ hai, m là số đạo hàm lấy, phải không âm (Mặc định: 1). Tham số thứ ba là scl. Mỗi đạo hàm được nhân với scl. Kết quả cuối cùng là nhân với scl**m. Dùng cho thay đổi biến tuyến tính (Mặc định: 1). Tham số thứ tư là axis. Đây là trục mà đạo hàm được lấy theo (Mặc định: 0). Kết quả là (d/d(-x))(c) = -2 - 6x - 12x**2.

Các bước thực hiện

Trước tiên, nhập thư viện cần thiết:

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

Tạo mảng hệ số đa thức: 1 + 2x + 3x**2 + 4x**3:

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

Hiển thị mảng hệ số:

print("Mảng hệ số của chúng ta...\n", c)

Kiểm tra số chiều:

print("\nSố chiều của mảng...\n", c.ndim)

Lấy kiểu dữ liệu:

print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)

Lấy hình dạng:

print("\nHình dạng của đối tượng mảng...\n", c.shape)

Để đạo hàm đa thức, sử dụng polynomial.polyder() với scl=-1:

print("\nKết quả...\n", P.polyder(c, scl=-1))

Ví dụ hoàn chỉnh

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

# Tạo mảng hệ số đa thức: 1 + 2x + 3x**2 + 4x**3
c = np.array([1, 2, 3, 4])

# Hiển thị mảng hệ số
print("Mảng hệ số của chúng ta...\n", c)

# Kiểm tra số chiều
print("\nSố chiều của mảng...\n", c.ndim)

# Lấy kiểu dữ liệu
print("\nKiểu dữ liệu của đối tượng mảng...\n", c.dtype)

# Lấy hình dạng
print("\nHình dạng của đối tượng mảng...\n", c.shape)

# Đạo hàm với scl=-1
print("\nKết quả...\n", P.polyder(c, scl=-1))

Kết quả đầu ra

Mảng hệ số của chúng ta...
 [1 2 3 4]
Số chiều của mảng...
 1
Kiểu dữ liệu của đối tượng mảng...
 int64
Hình dạng của đối tượng mảng...
 (4,)
Kết quả...
 [ -2. -6. -12.]

Giải thích: Đa thức gốc: p(x) = 1 + 2x + 3x² + 4x³. Đạo hàm: p'(x) = 2 + 6x + 12x². Với scl=-1 (thay đổi biến x → -x): p'(-x) * (-1) = -(2 + 6(-x) + 12(-x)²) = -2 + 6x - 12x². Kết quả [-2, -6, -12] tương ứng với -2 - 6x - 12x² (hệ số bậc 0, 1, 2).