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

Tích phân đa thức và nhân kết quả với scalar trước khi thêm hằng số tích phân trong Python

Để tích phân một đa thức, sử dụng phương thức polynomial.polyint() trong Python. Trả về hệ số đa thức c được tích phân m lần từ lbnd dọc theo axis. Tại mỗi lần lặp, chuỗi kết quả được nhân với scl và một hằng số tích phân k được thêm vào. 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ề mảng hệ số của tích phân. Tham số thứ nhất, c là mảng 1-D hệ số đa thức, thứ tự từ thấp đến cao. Tham số thứ hai, m là bậc tích phân, phải dương (Mặc định: 1). Tham số thứ ba, k là hằng số tích phân. Giá trị tích phân đầu tiên tại 0 là giá trị đầu tiên trong list, tích phân thứ hai tại 0 là giá trị thứ hai, v.v. Nếu k == [] (mặc định), tất cả hằng số đặt thành 0. Nếu m == 1, một scalar đơn lẻ có thể cho thay vì list.

Tham số thứ tư, lbnd là cận dưới của tích phân (Mặc định: 0). Tham số thứ năm là scl. Sau mỗi tích phân, kết quả được nhân với scl trước khi thêm hằng số tích phân (Mặc định: 1). Tham số thứ sáu là axis. Trục mà tích phân được lấy theo (Mặc định: 0).

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:

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

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)

Để tích phân đa thức, sử dụng polynomial.polyint() với scl=-2:

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

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
c = np.array([1, 2, 3])

# 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)

# Tích phân với scl=-2
print("\nKết quả...\n", P.polyint(c, scl=-2))

Kết quả đầu ra

Mảng hệ số của chúng ta...
 [1 2 3]
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...
 (3,)
Kết quả...
 [ 0. -2. -2. -2.]

Giải thích: Đa thức: p(x) = 1 + 2x + 3x². Tích phân: ∫p(x)dx = x + x² + x³ + C. Với scl=-2: nhân kết quả với -2 trước khi thêm hằng số (mặc định C=0). Hệ số tích phân: [0, 1, 1, 1] (hằng số 0, x¹:1, x²:1, x³:1). Nhân -2: [0, -2, -2, -2] → 0 - 2x - 2x² - 2x³.