Cách tạo đa thức trong python

Đây là một Chương trình Python để tính toán một phương trình đa thức với điều kiện là các hệ số của đa thức được lưu trữ trong danh sách

Mô tả vấn đề

Chương trình lấy các hệ số của phương trình đa thức và giá trị của x rồi đưa ra giá trị của đa thức

Giải pháp vấn đề

1. Nhập mô-đun toán học.
2. Lấy các hệ số của phương trình đa thức và lưu trữ nó trong một danh sách.
3. Lấy giá trị của x.
4. Sử dụng vòng lặp for và vòng lặp while để tính giá trị của biểu thức đa thức cho ba số hạng đầu tiên và lưu trữ nó trong một biến tổng.
5. Thêm số hạng thứ tư vào biến tổng.
6. In giá trị tính toán.
7. Lối ra.

Chương trình/Mã nguồn

Đây là mã nguồn của Chương trình Python để tính toán một phương trình đa thức với điều kiện là các hệ số của đa thức được lưu trữ trong một danh sách. Đầu ra chương trình cũng được hiển thị bên dưới

Để tích hợp một đa thức, hãy sử dụng đa thức. phương thức polyint() trong Python. Trả về các hệ số đa thức c được tích hợp m lần từ lbnd dọc theo trục. Tại mỗi lần lặp, chuỗi kết quả được nhân với scl và hằng số tích phân, k, được thêm vào. Hệ số tỷ lệ được sử dụng trong sự thay đổi tuyến tính của biến. Đối số c là một mảng các hệ số, từ thấp đến cao dọc theo mỗi trục, e. g. , [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*

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 gồm các hệ số đa thức, được sắp xếp từ thấp đến cao. Tham số thứ 2, m là Thứ tự tích phân, phải dương. (Mặc định. 1). Tham số thứ 3, k là (các) hằng số tích hợp. Giá trị của tích phân thứ nhất tại 0 là giá trị đầu tiên trong danh sách, giá trị của 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ả các hằng số được đặt thành 0. Nếu m == 1, có thể đưa ra một đại lượng vô hướng thay vì một danh sách. Tham số thứ 4, lbnd là cận dưới của tích phân. (Mặc định. 0). Tham số thứ 5 là scl. Sau mỗi lần tích hợp, kết quả được nhân với scl trước khi hằng số tích hợp được thêm vào. (Mặc định. 1). Tham số thứ 6 là trục. Đó là trục mà tích phân được thực hiện. (Mặc định. 0)

bước

Lúc đầu, hãy nhập các thư viện cần thiết -

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

Tạo một mảng các hệ số đa thức -

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

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

print("Our coefficient Array...
",c)

Kiểm tra kích thước -

print("
Dimensions of our Array...
",c.ndim)

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

print("
Datatype of our Array object...
",c.dtype)

Nhận hình dạng -

print("
Shape of our Array object...
",c.shape)

Để tích hợp một đa thức, hãy sử dụng đa thức. phương thức polyint() trong Python −

print("
Result...
",P.polyint(c))

Thí dụ

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

# Create an array of polynomial coefficients
c = np.array([1,2,3])

# Display the coefficient array
print("Our coefficient Array...
",c) # Check the Dimensions print("
Dimensions of our Array...
",c.ndim) # Get the Datatype print("
Datatype of our Array object...
",c.dtype) # Get the Shape print("
Shape of our Array object...
",c.shape) # To Integrate a polynomial, use the polynomial.polyint() method in Python print("
Result...
",P.polyint(c))

đầu ra

________số 8

Cách tạo đa thức trong python

Cập nhật ngày 28-Feb-2022 10. 39. 01

Nếu các điểm dữ liệu của bạn rõ ràng sẽ không phù hợp với hồi quy tuyến tính (một đường thẳng đi qua tất cả các điểm dữ liệu), thì đó có thể là lý tưởng cho hồi quy đa thức

Hồi quy đa thức, giống như hồi quy tuyến tính, sử dụng mối quan hệ giữa các biến x và y để tìm ra cách tốt nhất để vẽ một đường thẳng qua các điểm dữ liệu

Cách tạo đa thức trong python

Làm thế nào nó hoạt động?

Python có các phương thức để tìm mối quan hệ giữa các điểm dữ liệu và để vẽ một đường hồi quy đa thức. Chúng tôi sẽ chỉ cho bạn cách sử dụng các phương pháp này thay vì sử dụng công thức toán học

Trong ví dụ bên dưới, chúng tôi đã đăng ký 18 ô tô khi chúng đi qua một trạm thu phí nhất định

Chúng tôi đã đăng ký tốc độ của ô tô và thời gian trong ngày (giờ) xảy ra việc vượt qua

Trục x biểu thị số giờ trong ngày và trục y biểu thị tốc độ

Thí dụ

Bắt đầu bằng cách vẽ một biểu đồ phân tán

nhập matplotlib. pyplot dưới dạng plt

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

plt. phân tán(x, y)
plt. hiển thị ()

Kết quả

Cách tạo đa thức trong python

Chạy ví dụ »

Thí dụ

Nhập numpy

c = np.array([1,2,3])
0 sau đó vẽ đường hồi quy đa thức

nhập numpy
nhập matplotlib. pyplot dưới dạng plt

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

mymodel = numpy. poly1d(numpy. polyfit(x, y, 3))

myline = numpy. không gian trống (1, 22, 100)

plt. phân tán(x, y)
plt. cốt truyện(myline, mymodel(myline))
plt. hiển thị ()

Kết quả

Cách tạo đa thức trong python

Chạy ví dụ »

Ví dụ giải thích

Nhập các mô-đun bạn cần

Bạn có thể tìm hiểu về mô-đun NumPy trong Hướng dẫn NumPy của chúng tôi

Bạn có thể tìm hiểu về mô-đun SciPy trong Hướng dẫn SciPy của chúng tôi

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

Tạo các mảng đại diện cho các giá trị của trục x và y

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

NumPy có một phương thức cho phép chúng ta tạo một mô hình đa thức

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

Sau đó chỉ định cách dòng sẽ hiển thị, chúng tôi bắt đầu ở vị trí 1 và kết thúc ở vị trí 22

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

Vẽ biểu đồ phân tán ban đầu

Vẽ đường hồi quy của đa thức

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

Hiển thị sơ đồ



R-bình phương

Điều quan trọng là phải biết mối quan hệ giữa các giá trị của trục x và y tốt như thế nào, nếu không có mối quan hệ nào thì hồi quy đa thức không thể được sử dụng để dự đoán bất cứ điều gì

Mối quan hệ được đo bằng một giá trị gọi là r-squared

Giá trị r bình phương nằm trong khoảng từ 0 đến 1, trong đó 0 có nghĩa là không có mối quan hệ nào và 1 có nghĩa là 100% có liên quan

Python và mô-đun Sklearn sẽ tính toán giá trị này cho bạn, tất cả những gì bạn phải làm là cung cấp cho nó các mảng x và y

Thí dụ

Dữ liệu của tôi phù hợp như thế nào trong hồi quy đa thức?

nhập numpy
từ sklearn. nhập số liệu r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

mymodel = numpy. poly1d(numpy. polyfit(x, y, 3))

in(r2_score(y, mymodel(x)))

Hãy thử nếu chính bạn »

Ghi chú. kết quả 0. 94 cho thấy có một mối quan hệ rất tốt và chúng ta có thể sử dụng hồi quy đa thức trong các dự đoán trong tương lai


Dự đoán giá trị tương lai

Bây giờ chúng ta có thể sử dụng thông tin chúng ta đã thu thập để dự đoán các giá trị trong tương lai

Thí dụ. Chúng ta hãy thử dự đoán tốc độ của một chiếc ô tô đi qua trạm thu phí vào khoảng thời gian 17. 00

Để làm như vậy, chúng ta cần cùng một mảng

c = np.array([1,2,3])
6 từ ví dụ trên

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

Thí dụ

Dự đoán vận tốc ô tô đi qua lúc 17. 00

nhập numpy
từ sklearn. nhập số liệu r2_score

x = [1,2,3,5,6,7,8,9,10,12,13,14,15,16,18,19,21,22]y = [100,90,80,60,60,55,60,65,70,70,75,76,78,79,90,99,99,100]

mymodel = numpy. poly1d(numpy. polyfit(x, y, 3))

tốc độ = mymodel(17)
in(tốc độ)

Chạy ví dụ »

Ví dụ dự đoán tốc độ là 88. 87, mà chúng ta cũng có thể đọc được từ sơ đồ

Cách tạo đa thức trong python

Phù hợp xấu?

Hãy để chúng tôi tạo một ví dụ trong đó hồi quy đa thức sẽ không phải là phương pháp tốt nhất để dự đoán các giá trị trong tương lai

Thí dụ

Các giá trị này cho trục x và y sẽ dẫn đến sự phù hợp rất kém đối với hồi quy đa thức

nhập numpy
nhập matplotlib. pyplot dưới dạng plt

x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40]y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]

mymodel = numpy. poly1d(numpy. polyfit(x, y, 3))

myline = numpy. không gian trống (2, 95, 100)

plt. phân tán(x, y)
plt. cốt truyện(myline, mymodel(myline))
plt. hiển thị ()

Kết quả

Cách tạo đa thức trong python

Chạy ví dụ »

Và giá trị bình phương r?

Thí dụ

Bạn sẽ nhận được giá trị r bình phương rất thấp

nhập numpy
từ sklearn. nhập số liệu r2_score

x = [89,43,36,36,95,10,66,34,38,20,26,29,48,64,6,5,36,66,72,40]y = [21,46,3,35,67,95,53,72,58,10,26,34,90,33,38,20,56,2,47,15]

mymodel = numpy. poly1d(numpy. polyfit(x, y, 3))

in(r2_score(y, mymodel(x)))

Hãy thử nếu chính bạn »

Kết quả. 0. 00995 cho biết mối quan hệ rất xấu và cho chúng tôi biết rằng tập dữ liệu này không phù hợp với hồi quy đa thức