真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

python指數(shù)函數(shù)擬合 python繪制指數(shù)函數(shù)圖像

Python最小二乘法擬合與作圖

在函數(shù)擬合中,如果用p表示函數(shù)中需要確定的參數(shù),那么目標(biāo)就是找到一組p,使得下面函數(shù)S的值最小:

成都創(chuàng)新互聯(lián)公司于2013年開(kāi)始,是專(zhuān)業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、做網(wǎng)站網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元遼中做網(wǎng)站,已為上家服務(wù),為遼中各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話(huà):028-86922220

這種算法稱(chēng)為最小二乘法擬合。Python的Scipy數(shù)值計(jì)算庫(kù)中的optimize模塊提供了 leastsq() 函數(shù),可以對(duì)數(shù)據(jù)進(jìn)行最小二乘擬合計(jì)算。

此處利用該函數(shù)對(duì)一段弧線(xiàn)使用圓方程進(jìn)行了擬合,并通過(guò)Matplotlib模塊進(jìn)行了作圖,程序內(nèi)容如下:

Python的使用中需要導(dǎo)入相應(yīng)的模塊,此處首先用 import 語(yǔ)句

分別導(dǎo)入了numpy, leastsq與pylab模塊,其中numpy模塊常用用與數(shù)組類(lèi)型的建立,讀入等過(guò)程。leastsq則為最小二乘法擬合函數(shù)。pylab是繪圖模塊。

接下來(lái)我們需要讀入需要進(jìn)行擬合的數(shù)據(jù),這里使用了 numpy.loadtxt() 函數(shù):

其參數(shù)有:

進(jìn)行擬合時(shí),首先我們需要定義一個(gè)目標(biāo)函數(shù)。對(duì)于圓的方程,我們需要圓心坐標(biāo)(a,b)以及半徑r三個(gè)參數(shù),方便起見(jiàn)用p來(lái)存儲(chǔ):

緊接著就可以進(jìn)行擬合了, leastsq() 函數(shù)需要至少提供擬合的函數(shù)名與參數(shù)的初始值:

返回的結(jié)果為一數(shù)組,分別為擬合得到的參數(shù)與其誤差值等,這里只取擬合參數(shù)值。

leastsq() 的參數(shù)具體有:

輸出選項(xiàng)有:

最后我們可以將原數(shù)據(jù)與擬合結(jié)果一同做成線(xiàn)狀圖,可采用 pylab.plot() 函數(shù):

pylab.plot() 函數(shù)需提供兩列數(shù)組作為輸入,其他參數(shù)可調(diào)控線(xiàn)條顏色,形狀,粗細(xì)以及對(duì)應(yīng)名稱(chēng)等性質(zhì)。視需求而定,此處不做詳解。

pylab.legend() 函數(shù)可以調(diào)控圖像標(biāo)簽的位置,有無(wú)邊框等性質(zhì)。

pylab.annotate() 函數(shù)設(shè)置注釋?zhuān)柚辽偬峁┳⑨寖?nèi)容與放置位置坐標(biāo)的參數(shù)。

pylab.show() 函數(shù)用于顯示圖像。

最終結(jié)果如下圖所示:

用Python作科學(xué)計(jì)算

numpy.loadtxt

scipy.optimize.leastsq

Python 中的函數(shù)擬合

很多業(yè)務(wù)場(chǎng)景中,我們希望通過(guò)一個(gè)特定的函數(shù)來(lái)擬合業(yè)務(wù)數(shù)據(jù),以此來(lái)預(yù)測(cè)未來(lái)數(shù)據(jù)的變化趨勢(shì)。(比如用戶(hù)的留存變化、付費(fèi)變化等)

本文主要介紹在 Python 中常用的兩種曲線(xiàn)擬合方法:多項(xiàng)式擬合 和 自定義函數(shù)擬合。

通過(guò)多項(xiàng)式擬合,我們只需要指定想要擬合的多項(xiàng)式的最高項(xiàng)次是多少即可。

運(yùn)行結(jié)果:

對(duì)于自定義函數(shù)擬合,不僅可以用于直線(xiàn)、二次曲線(xiàn)、三次曲線(xiàn)的擬合,它可以適用于任意形式的曲線(xiàn)的擬合,只要定義好合適的曲線(xiàn)方程即可。

運(yùn)行結(jié)果:

python怎么表示指數(shù)?

其中有兩個(gè)非常漂亮的指數(shù)函數(shù)圖就是用python的matplotlib畫(huà)出來(lái)的。這一期,我們將要介紹如何利用python繪制出如下指數(shù)函數(shù)。

圖 1 a1圖 1 a1

我們知道當(dāng)0 ,指數(shù)函數(shù) 是單調(diào)遞減的,當(dāng)a1 時(shí),指數(shù)函數(shù)是單調(diào)遞增的。所以我們首先要定義出指數(shù)函數(shù),將a值做不同初始化

import math

...

def exponential_func(x, a): #定義指數(shù)函數(shù)

y=math.pow(a, x)

return y

然后,利用numpy構(gòu)造出自變量,利用上面定義的指數(shù)函數(shù)來(lái)計(jì)算出因變量

X=np.linspace(-4, 4, 40) #構(gòu)造自變量組

Y=[exponential_func(x) for x in X] #求函數(shù)值

有了自變量和因變量的一些散點(diǎn),那么就可以模擬我們平時(shí)畫(huà)函數(shù)操作——描點(diǎn)繪圖,利用下面代碼就可以實(shí)現(xiàn)

import math

import numpy as np

import matplotlib.pyplot as plt

import mpl_toolkits.axisartist as axisartist #導(dǎo)入坐標(biāo)軸加工模塊

plt.rcParams['font.sans-serif']=['SimHei']

plt.rcParams['axes.unicode_minus']=False

fig=plt.figure(figsize=(6,4)) #新建畫(huà)布

ax=axisartist.Subplot(fig,111) #使用axisartist.Subplot方法創(chuàng)建一個(gè)繪圖區(qū)對(duì)象ax

fig.add_axes(ax) #將繪圖區(qū)對(duì)象添加到畫(huà)布中

def exponential_func(x, a=2): #定義指數(shù)函數(shù)

y=math.pow(a, x)

return y

X=np.linspace(-4, 4, 40) #構(gòu)造自變量組

Y=[exponential_func(x) for x in X] #求函數(shù)值

ax.plot(X, Y) #繪制指數(shù)函數(shù)

plt.show()

圖 2 a=2

圖2雖簡(jiǎn)單,但麻雀雖小五臟俱全,指數(shù)函數(shù)該有都有,接下來(lái)是如何讓其看起來(lái)像我們?cè)谧鲌D紙上面畫(huà)的那么美觀(guān),這里重點(diǎn)介紹axisartist 坐標(biāo)軸加工類(lèi),在的時(shí)候我們已經(jīng)用過(guò)了,這里就不再多說(shuō)了。我們只需要在上面代碼后面加上一些代碼來(lái)將坐標(biāo)軸好好打扮一番。

圖 3 a1 完整代碼# -*- coding: utf-8 -*-圖 3 a1 完整代碼# -*- coding: utf-8 -*-"""Created on Sun Feb 16 10:19:23 2020project name:@author: 帥帥de三叔"""import mathimport numpy as npimport matplotlib.pyplot as pltimport mp

Python 怎么用曲線(xiàn)擬合數(shù)據(jù)

Python中利用guiqwt進(jìn)行曲線(xiàn)數(shù)據(jù)擬合。

示例程序:

圖形界面如下:


當(dāng)前文章:python指數(shù)函數(shù)擬合 python繪制指數(shù)函數(shù)圖像
URL鏈接:http://weahome.cn/article/dopsgsh.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部