構建一個二階多項式:x^2 - 4x + 3
多項式求解
>>> p = np.poly1d([1,-4,3]) #二階多項式系數
>>> p(0) #自變量為0時多項式的值
3
>>> p.roots #多項式的根
array([3., 1.])
>>> p(p.roots) #多項式根處的值
array([0., 0.])
>>> p.order #多項式的階數
2
>>> p.coeffs #多項式的系數
array([ 1, -4, 3])
>>>
多項式擬合
用三階多項式去擬合
import matplotlib.pyplot as plt
import numpy as np
n_dot = 20
n_order = 3 #階數
x = np.linspace(0,1,n_dot) #[0,1]之間創建20個點
y = np.sqrt(x) + 0.2*np.random.rand(n_dot)
p = np.poly1d(np.polyfit(x,y,n_order)) #擬合并構造出一個3次多項式
print(p.coeffs) #輸出擬合的系數,順序從高階低階
#畫出擬合出來的多項式所表達的曲線以及原始的點
t = np.linspace(0,1,200)
plt.plot(x,y,'ro',t,p(t),'-')
plt.show()
以上這篇在python中利用numpy求解多項式以及多項式擬合的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

