日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

趣学python3(38)--多项式最小二乘法拟合

發布時間:2025/3/12 python 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 趣学python3(38)--多项式最小二乘法拟合 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

class numpy.poly1d(c_or_r, r=False, variable=None)[source]
參數:
c_or_r:array_like
多項式的系數,或者如果第二個參數的值是True,多項式的根(值多項式的求值結果為0)。
例如,poly1d([1, 2, 3])返回一個對象,代表:
x ^ 2 + 2 + 3,
而poly1d((1、2、3),真正的)返回一個對象,代表:
(x - 1) (x - 2) (3) = x ^ 3 - 6 x ^ 2 + 11 * 6。
r: bool,可選
如果為真,c_or_r指定多項式的根;默認值為False。
variable:str,可選
將打印p時使用的變量從x改為變量

python3-多項式最小二乘法擬合

import numpy as np import scipy as sp import pylab as pl from scipy.optimize import leastsq#最小二乘法函數n=9#多項式次數#目標函數 def real_func(x):return np.pi*(np.sin(x)+np.cos(x))#pi*(sinx+cosx) #多項式函數 def fit_func(p,x):f=np.poly1d(p)return f(x) #殘差函數 def residuals_func(p,y,x):ret=fit_func(p,x)-yreturn retx=np.linspace(0,1,20)#隨機選擇20個點作為x y_=real_func(x) y=[np.random.normal(0,0.1)+y for y in y_]#人為增加噪聲x_=np.linspace(0,1,1000)p_init=np.random.randn(n)#初始參數值 plsq=leastsq(residuals_func,p_init,args=(y,x))#最小二乘法 print("參數:",plsq[0]) pl.plot(x_,real_func(x_),label="real") pl.plot(x_,fit_func(plsq[0],x_),label="fitted curve") pl.plot(x,y,'bo',label='with noise') pl.legend() pl.show() 參數: [ 5.66429153e+02 -2.31267133e+03 3.74497872e+03 -3.05872688e+03 1.32282723e+03 -2.91138157e+02 2.74425970e+01 1.90086912e+00 3.15467158e+00]

總結

以上是生活随笔為你收集整理的趣学python3(38)--多项式最小二乘法拟合的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。