利用numpy對已知樣本點進行多項式擬合

2021-10-22 15:36:54 字數 1624 閱讀 7359

import matplotlib.pyplot as plt

import numpy as np

1.假設有如下樣本點:

#使用隨機數產生樣本點x=[

1,2,

3,4,

5,6,

7,8,

9,10]

y=[2,

-25,16

,3,35

,6,91

,-39,

20,0]

print

("樣本點橫座標為:"

)print

(x)print

("樣本點縱座標為:"

繪製成散點圖就是這樣:

2.我們利用numpy來擬合這些樣本點,本文中我們將函式擬合成多項式函式。(核心步驟)

#使用numpy中的多項式擬合來擬合樣本服從的函式。

#下面分別假設多項式最高次數為4,7,8。從而進行對比擬合效果。

degree=[4

,7,8

]#每乙個最高次數degree對應乙個多項式函式,因此建立乙個函式陣列。f=[

]for i in

range(3

):#擬合 model=np.polyfit(x,y,degree[i]

)#通過擬合的模型獲得這個多項式函式np.poly1d(model)。

)#列印這個函式

print

(f[i]

)

結果如下:

3.繪製圖表,檢視擬合情況。

#開始繪製。

colors=

["r"

,"g"

,"orange"

,"purple"

,"pink"

]#生成1000個點在區間[1,10],利用擬合結果f(x)得到y。繪製折線圖,由於密密麻麻,所以看起來就像函式影象了。

多項式次數越高,擬合得越好。

如何利用NumPy進行索引和切片

處理多維陣列,如何利用numpy進行索引和切片?今天番茄加速就來跟大家講解下。平時遇到關於numpy的bug,解決不了的,可以先去檢視api的使用說明。理解numpy的向量化能力,這正是賦予它簡潔的重要原因之一。使用python原生api會經常寫些for,但是numpy讓它變得不再需要,numpy一...

使用numpy對矩陣進行運算

如下 encoding utf 8 importnumpyasnp fromnumpy.linalgimportinv fromnumpyimportdot fromnumpyimportmat a np.mat 1,1 建立乙個一行一列的矩陣 print a矩陣為 n a print a矩陣的轉置...

python 利用numpy進行資料分析

一 numpy.loadtxt讀取資料 data numpy.loadtxt 資料路徑.txt delimiter usecols 0,1,2,3 dtype float 讀取後是多元陣列格式 然後利用陣列的特徵獲取不同列 value data 0 3 classfiy data 4 引數useco...