Cách in phương trình đa thức trong Python

str(P) = poly([  1.44740112e+76   0.00000000e+00   1.44740112e+76   0.00000000e+00
   1.44740112e+76   0.00000000e+00   1.44740111e+76   0.00000000e+00
   1.44740111e+76   0.00000000e+00   1.44740111e+76   0.00000000e+00
   1.44740112e+76   0.00000000e+00   1.44740112e+76])
repr(P) = Polynomial([  1.44740112e+76,   0.00000000e+00,   1.44740112e+76,
         0.00000000e+00,   1.44740112e+76,   0.00000000e+00,
         1.44740111e+76,   0.00000000e+00,   1.44740111e+76,
         0.00000000e+00,   1.44740111e+76,   0.00000000e+00,
         1.44740112e+76,   0.00000000e+00,   1.44740112e+76], [-1.,  1.], [-1.,  1.])

Trước NumPy 1. 4, là lớp được lựa chọn và nó vẫn có sẵn để duy trì khả năng tương thích ngược. Tuy nhiên, cái mới hoàn thiện hơn và các lớp tiện lợi của nó cung cấp một giao diện nhất quán hơn, hoạt động tốt hơn để làm việc với các biểu thức đa thức. Do đó được khuyến nghị cho mã hóa mới

Ghi chú

Thuật ngữ

Thuật ngữ mô-đun đa thức đề cập đến API cũ được xác định trong

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
1, bao gồm lớp và các hàm đa thức có tiền tố là poly có thể truy cập từ không gian tên (e. g. , , , vân vân. )

Thuật ngữ gói đa thức đề cập đến API mới được xác định trong , bao gồm các lớp tiện lợi cho các loại đa thức khác nhau (

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
8,
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
9, v.v. )

chuyển từ sang

Như đã lưu ý ở trên, các hàm liên quan và được xác định trong

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
1, chẳng hạn như và , được coi là cũ và không được sử dụng trong mã mới. Kể từ phiên bản NumPy 1. 4, gói được ưu tiên để làm việc với đa thức

Tham khảo nhanh

Bảng sau đây nêu bật một số điểm khác biệt chính giữa mô-đun đa thức kế thừa và gói đa thức cho các tác vụ thông thường. Lớp được nhập cho ngắn gọn

from numpy.polynomial import Polynomial

Làm cách nào để…

Di sản ()

Tạo một đối tượng đa thức từ các hệ số

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
0

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
1

Tạo một đối tượng đa thức từ gốc

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
2
In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
3

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
4

Khớp một đa thức bậc

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
5 với dữ liệu

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
6

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)
7

[]

Lưu ý thứ tự đảo ngược của các hệ số

Hướng dẫn chuyển tiếp

Có sự khác biệt đáng kể giữa

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
1 và. Sự khác biệt đáng kể nhất là thứ tự của các hệ số cho các biểu thức đa thức. Tất cả các hàm khác nhau đều xử lý chuỗi có hệ số đi từ bậc 0 trở lên, đó là thứ tự đảo ngược của quy ước poly1d. Cách dễ dàng để ghi nhớ điều này là các chỉ số tương ứng với mức độ, tôi. e. ,
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
51 là hệ số của số hạng i

Mặc dù sự khác biệt trong quy ước có thể gây nhầm lẫn, nhưng thật đơn giản để chuyển đổi từ API đa thức cũ sang API mới. Ví dụ: phần sau minh họa cách bạn chuyển đổi một thể hiện biểu diễn biểu thức \(x^{2} + 2x + 3\) thành một thể hiện biểu diễn .

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])

Ngoài thuộc tính

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
54, các đa thức từ gói đa thức còn có các thuộc tính
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
55 và
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
56. Các thuộc tính này có liên quan nhất khi khớp đa thức với dữ liệu, mặc dù cần lưu ý rằng các đa thức có các thuộc tính
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
55 và
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
56 khác nhau không được coi là bằng nhau và không thể trộn lẫn trong số học

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
2

Xem tài liệu về các lớp tiện lợi để biết thêm chi tiết về các thuộc tính

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
55 và
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
56

Một điểm khác biệt chính giữa mô-đun đa thức kế thừa và gói đa thức là khớp đa thức. Trong mô-đun cũ, việc lắp được thực hiện thông qua chức năng. Trong gói đa thức, phương thức lớp được ưu tiên. Ví dụ: hãy xem xét sự phù hợp tuyến tính đơn giản với dữ liệu sau

In [1]: rng = np.random.default_rng()

In [2]: x = np.arange(10)

In [3]: y = np.arange(10) + rng.standard_normal(10)

Với mô-đun đa thức kế thừa, một khớp tuyến tính (i. e. đa thức bậc 1) có thể được áp dụng cho những dữ liệu này với

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
5

Với API đa thức mới, phương thức lớp được ưu tiên

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
7

Lưu ý rằng các hệ số được đưa ra trong miền tỷ lệ được xác định bởi ánh xạ tuyến tính giữa

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
56 và
>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
55. có thể được sử dụng để lấy các hệ số trong miền dữ liệu chưa định tỷ lệ

>>> p1d = np.poly1d([1, 2, 3])
>>> p = np.polynomial.Polynomial(p1d.coef[::-1])
0

Tài liệu cho gói

Ngoài các đa thức chuỗi lũy thừa tiêu chuẩn, gói đa thức cung cấp một số loại đa thức bổ sung bao gồm các đa thức Chebyshev, Hermite (hai kiểu con), Laguerre và Legendre. Mỗi trong số này có một lớp tiện lợi liên quan có sẵn từ không gian tên cung cấp giao diện nhất quán để làm việc với đa thức bất kể loại của chúng

  • Sử dụng các lớp học tiện lợi

Tài liệu liên quan đến các chức năng cụ thể được xác định cho từng loại đa thức riêng lẻ có thể được tìm thấy trong tài liệu mô-đun tương ứng

một ví dụ về phương trình đa thức là gì?

Ví dụ về phương trình đa thức là. 2x 2 + 3x + 1 = 0 , trong đó 2x2 + 3x + .

4 loại hàm đa thức là gì?

Các loại hàm đa thức .
Hàm đa thức không đổi. P(x) = a = ax. .
Hàm đa thức bằng không. P(x) = 0;
Hàm đa thức tuyến tính. P(x) = ax + b
Hàm đa thức bậc hai. P(x) = ax2+bx+c
Hàm đa thức bậc ba. ax3+bx2+cx+d

Thế nào là phương trình đa thức, giải thích và cho 2 ví dụ?

Một phương trình đa thức hai biến là phương trình có dạng p(x, y) = q(x, y) trong đó cả p(x, y) và q( . ví dụ. • xy +2= y2 - 3x - 4 (xy + 2 là đa thức bậc hai. Vậy là y2 - 3x - 4. ). Examples. • xy +2= y2 - 3x - 4 (xy + 2 is a quadratic polynomial. So is y2 - 3x - 4.)