最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python曲線擬合詳解

 更新時(shí)間:2023年04月20日 08:53:52   作者:微小冷  
這篇文章主要介紹了關(guān)于python曲線擬合,scipy.optimize中,curve_fit函數(shù)可調(diào)用非線性最小二乘法進(jìn)行函數(shù)擬合,文中有詳細(xì)的代碼作為參考,需要的朋友可以閱讀參考

入門

scipy.optimize中,curve_fit函數(shù)可調(diào)用非線性最小二乘法進(jìn)行函數(shù)擬合,例如,現(xiàn)在有一個(gè)高斯函數(shù)想要被擬合

則調(diào)用方法如下

import numpy as np
from scipy.optimize import curve_fit
def gauss(x, a, b, c):
    return a*np.exp(-(x-b)**2/c**2)

x = np.arange(100)/10
y = gauss(x, 2, 5, 3) + np.random.rand(100)/10

# 非線性擬合 abc為參數(shù);para為擬合評價(jià)
abc, para = curve_fit(gauss, x, y)
print(abc)
# [2.03042233 5.01182397 3.10994351]

其中,curve_fit在調(diào)用時(shí)輸入了三個(gè)參數(shù),分別是擬合函數(shù)、自變量、因變量。返回值abcpara分別為擬合參數(shù)和擬合的協(xié)方差,最終得到abc的值與預(yù)設(shè)的2,0.5, 3是比較接近的,其擬合效果可以畫圖查看一下

import matplotlib.pyplot as plt
plt.scatter(x, y, marker='.')

Y = gauss(x, *abc)
plt.plot(x, Y, lw=1)
plt.show()

效果如下

參數(shù)

curve_fit的裝形式如下

curve_fit(f, xdata, ydata, p0=None, sigma=None, absolute_sigma=False, check_finite=True, bounds=(-inf, inf), method=None, jac=None, *, full_output=False, **kwargs)

除了f, xdata, ydata已經(jīng)用過之外,其他參數(shù)的含義為

  • p0 擬合參數(shù)初始值
  • sigma 相對精度要求
  • absolute_sigma絕對精度要求
  • check_finite有限性檢測開關(guān)
  • bounds擬合范圍
  • method擬合方法,可選‘lm’, ‘trf’, ‘dogbox’,與least_squares函數(shù)中定義相同
  • jac雅可比矩陣,與least_squares中定義相同

 最小二乘函數(shù):least_squares

多元擬合

盡管curve_fit的參數(shù)列表中,只給出了xdata, ydata作為擬合參數(shù),而xdata只有一組,但curve_fit是具備多元擬合潛力的。

唯一需要注意的是,當(dāng)多元擬合函數(shù)的返回值必須為一維數(shù)組,示例如下

# 創(chuàng)建一個(gè)函數(shù)模型用來生成數(shù)據(jù)
def func1(x, a, b, c, d):
    r = a * np.exp(-((x[0] - b) ** 2 + (x[1] - d) ** 2) / (2 * c ** 2))
    return r.ravel()
 
# 生成原始數(shù)據(jù)
xx = np.indices([10, 10])
z = func1(xx, 10, 5, 2, 5) + np.random.normal(size=100)/100
abcd, para = curve_fit(func1, xx, z)
print(abcd)
# [10.00258587  5.00146314  1.99952885  5.00138184]

可以發(fā)現(xiàn)擬合結(jié)果與預(yù)設(shè)的abcd還是比較接近的,下面繪制三維圖像來更加直觀地查看一下

z = z.reshape(10, 10)
Z = func1(xx, *abcd).reshape(10,10)

ax = plt.subplot(projection='3d')
ax.scatter3D(xx[0], xx[1], z, color='red')
ax.plot_surface(xx[0], xx[1], Z, cmap='rainbow')
plt.show()

結(jié)果如下

到此這篇關(guān)于Python曲線擬合詳解的文章就介紹到這了,更多相關(guān)Python曲線擬合內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python-opencv實(shí)現(xiàn)視頻指定幀數(shù)間隔圖像的保存功能

    python-opencv實(shí)現(xiàn)視頻指定幀數(shù)間隔圖像的保存功能

    這篇文章主要介紹了python-opencv實(shí)現(xiàn)視頻指定幀數(shù)間隔圖像的保存的方法,本文通過示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-04-04
  • pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法

    pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法

    今天小編就為大家分享一篇pandas基于時(shí)間序列的固定時(shí)間間隔求均值的方法,具有好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • python 字典修改鍵(key)的幾種方法

    python 字典修改鍵(key)的幾種方法

    這篇文章主要介紹了python 字典修改鍵(key)的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • keras 多gpu并行運(yùn)行案例

    keras 多gpu并行運(yùn)行案例

    這篇文章主要介紹了keras 多gpu并行運(yùn)行案例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06
  • 淺談python常用程序算法

    淺談python常用程序算法

    這篇文章主要介紹了python常用程序算法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • Python線性網(wǎng)絡(luò)實(shí)現(xiàn)分類糖尿病病例

    Python線性網(wǎng)絡(luò)實(shí)現(xiàn)分類糖尿病病例

    什么是線性規(guī)劃?想象一下,您有一個(gè)線性方程組和不等式系統(tǒng)。這樣的系統(tǒng)通常有許多可能的解決方案。線性規(guī)劃是一組數(shù)學(xué)和計(jì)算工具,可讓您找到該系統(tǒng)的特定解,該解對應(yīng)于某些其他線性函數(shù)的最大值或最小值
    2022-10-10
  • Python區(qū)塊鏈Creating?Miners教程

    Python區(qū)塊鏈Creating?Miners教程

    這篇文章主要為大家介紹了Python區(qū)塊鏈Creating?Miners教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 使用Python的開發(fā)框架Brownie部署以太坊智能合約

    使用Python的開發(fā)框架Brownie部署以太坊智能合約

    在本文中,我們將使用Python部署智能合約。這篇文章可能是您走向智能合約和區(qū)塊鏈開發(fā)的橋梁!
    2021-05-05
  • PyQt5 QTreeWidget 樹形結(jié)構(gòu)遞歸遍歷當(dāng)前所有節(jié)點(diǎn)的實(shí)現(xiàn)

    PyQt5 QTreeWidget 樹形結(jié)構(gòu)遞歸遍歷當(dāng)前所有節(jié)點(diǎn)的實(shí)現(xiàn)

    Qt中實(shí)現(xiàn)樹形結(jié)構(gòu)可以使用QTreeWidget類,也可以使用QTreeView類,本文主要介紹了PyQt5 QTreeWidget 樹形結(jié)構(gòu)遞歸遍歷當(dāng)前所有節(jié)點(diǎn)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python Tkinter GUI編程實(shí)現(xiàn)Frame切換

    Python Tkinter GUI編程實(shí)現(xiàn)Frame切換

    本文主要介紹了Python Tkinter GUI編程實(shí)現(xiàn)Frame切換,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-04-04

最新評論

大庆市| 科技| 贺兰县| 花垣县| 沁水县| 万载县| 固始县| 彭山县| 务川| 涞源县| 枞阳县| 屏南县| 独山县| 富宁县| 富民县| 皮山县| 凤庆县| 定日县| 板桥市| 准格尔旗| 常山县| 辽宁省| 汉寿县| 固镇县| 浦县| 金坛市| 探索| 黔江区| 岳西县| 玛纳斯县| 佛教| 凤凰县| 车险| 林周县| 德州市| 岳西县| 新竹县| 平度市| 永泰县| 商河县| 马关县|