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

歡迎訪問 生活随笔!

生活随笔

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

python

python画反比例函数_拟合一个反比例函数

發布時間:2023/12/16 python 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python画反比例函数_拟合一个反比例函数 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

為了澄清一點。有兩個相關的問題:

最小化功能

擬合模型數據

要擬合模型對觀測數據是要找到一個模型的這種參數,減少某種模型數據與觀測數據之間的錯誤。 (x)可以是一個向量)。

F(x) = 0.5 * sum(rho(f_i(x)**2), i = 0, ..., m - 1)

(rho是虧損的功能,默認是rho(x) = x所以不介意它)

least_squares(func, x0)預計調用func(x)將返回一個矢量[a1, a2, a3, ...]為其平方和,將計算:S = 0.5 * (a1^2 + a2^2 + a3^2 + ...)。

least_squares將調整x0以盡量減少S。

因此,為了用它來擬合模型數據,必須構建誤差的函數的模型和實際數據之間 - 殘差然后最小化殘差功能。

import numpy as np

from scipy.optimize import least_squares

x = np.asarray(range(20,401,20))

y = np.random.rand(20)

params = np.array([1,1])

def funcinv(x, a, b):

return b + a/x

def residuals(params, x, data):

# evaluates function given vector of params [a, b]

# and return residuals: (observed_data - model_data)

a, b = params

func_eval = funcinv(x, a, b)

return (data - func_eval)

res = least_squares(residuals, params, args=(x, y))

這給出了一個結果:在你的情況,你可以如下寫 print(res)

...

message: '`gtol` termination condition is satisfied.'

nfev: 4

njev: 4 optimality: 5.6774618339971994e-10

status: 1

success: True

x: array([ 6.89518618, 0.37118815])

但是,作為一個殘差功能幾乎相同的所有的時間(res = observed_data - model_data),有scipy.optimize中的快捷方式叫做curve_fit:curve_fit(func, xdata, ydata, x0)。 curve_fit自動構建殘差函數,你可以簡單地寫:

import numpy as np

from scipy.optimize import curve_fit

x = np.asarray(range(20,401,20))

y = np.random.rand(20)

params = np.array([1,1])

def funcinv(x, a, b):

return b + a/x

res = curve_fit(funcinv, x, y, params)

print(res) # ... array([ 6.89518618, 0.37118815]), ...

總結

以上是生活随笔為你收集整理的python画反比例函数_拟合一个反比例函数的全部內容,希望文章能夠幫你解決所遇到的問題。

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